前几天学习过程中遇到点问题,一直想不明白为什么不通,配置上也没查出什么问题,上度娘查找了很多资料,发现基本都是东抄抄西凑凑,没有一个是可行的。晚上找汤老师帮忙一块分析定位了下,由于测试环境的机器涉及到Linux和windows主机,所以两边都抓包看了下,结果不知不觉的熬到0点多,这或许应该就是发际线高的原因了吧,哈哈。最后,在汤老师的帮助下,找到了问题原因。
本篇文章我们来讲解抓包工具的一些常用技巧,包括windows侧的wireshark以及Linux侧的tcpdump。掌握这些技能能够方便我们在定位问题时筛选关键信息,缩小排查范围,从而能够尽可能快的找到问题原因。
wireshark
安装
windows侧安装方法很简单,下载安装包,直接下一步下一步就是了,这里不再赘述。
使用技巧
#点击菜单capture----interface---选择需要抓包的物理网卡
#这里我选择本地网卡,点击start
#为了方便查看,抓包信息以时间方式显示
#如果捕获需要停止,点击小红点即可停止
#过滤指定的源IP地址和目的IP地址
#过滤协议包
#过滤TCP报文
#过滤某个IP地址
#过滤某个源到某个目的端口发起的访问
#过滤发起源IP之外的其他包
#过滤某个源向某个目的地址的某个端口发起的应用
tcpdump
安装
#查看tcpdump由那个安装包提供,然后安装指定的包
#yum安装tcpdump
使用技巧
tcpdump常用参数:
-i参数。使用-i参数指定需要抓包的网卡
-nn参数。使用-nn参数禁用tcpdump展示时把IP、端口等转换为域名、端口对应的知名服务名称。这样看起来更加清晰
-w参数。使用-w参数指定抓包文件保存到文件,以便后续使用Wireshark等工具进行分析
-c参数。使用-c参数,指定抓包的数量
-v 参数,打印更详细的信息
常用过滤器:
host:某个主机
tcp port:某个端口
dst port:目标端口
icmp:协议为icmp
!:取反
dst host:目标地址
src host:源地址
net :网段信息
示例:
#过滤ens33接口的icmp协议包
#过滤ens33接口tcp包10个
#过滤ens33接口本地端口22的包(没有加目的地址,默认为本地)
#过滤源IP地址到本地端口22的包
#过滤非源IP地址192.168.1.55到本地端口22之外的其他包
#过滤源网段192.168.1.0/24到目的主机192.168.1.123的包
#过滤源192.168.1.123向目的192.168.1.55发起的目的端口为22的包
#过滤源192.168.1.4向本地目的端口22或者源192.168.1.55向本地端口目的端口22发起的包(不加dst host默认就是本地端口)
#将捕获的包写入到一个文件中,可以导出来用wireshark分析
注:
如果下载的wireshark版本比较旧,可能对于!取反、and与、or或操作支持的不是很好,会出现命令可以识别但是无法过滤的现象,建议使用较新的版本
一码不扫,
可以扫天下?