前言
Wireshark是一款图形界面的网络嗅探器,支持多种平台,是网络流量分析的利器。它的创始人是Gerald Combs,前身是Ethereal,作为开源项目经过众多开发者的完善它已经成为使用量最大的安全工具之一。最近刚把《Wireshark网络分析就是这么简单》看完,写的很有意思,把一些心得和技巧分享一下,部分内容也也源自个人总结。本文所使用的Wireshark是2.4.0版,可以到官网下载:
一、网络分析
0x00:只抓包头
在进行网络分析时往往只需要知道两个节点是不是能够联通,具体的传输信息并不重要,所以抓包的时候可以设置只抓包头,这样就大大减少了数据包的大小,有利于数据分析。
设置方法:Capture(捕获)-->Options(选项)-->Snaplen(Snap长度)。
将这个值设置200以下就可以抓到所有网络层次的头信息了。
另外也可以直接点击任务栏里的快捷键,快速设置
0x01:只抓必要的包
我们可以设置抓包的filter,只抓一些感兴趣的包。
设置方法:Capture(捕获)-->Options(选项)-->Capture Filter(捕获过滤器)
在输入框里输入规则,然后点击开始即可,比如输入
dst host 220.181.111.188(捕获目标主机为220.181.111.188的数据包)
220.181.111.188是ping http://www.baidu.com的ip地址,不同地理位置ping的ip可能不一样,然后浏览器访问百度就可以看到我们想要的捕获结果。
0x02:过滤
使用过滤规则进行数据包筛选是Wireshark最强大的功能之一,比如如果知道问题发生的具体协议就可以以协议名称过滤。使用协议过滤时要注意协议之间的依赖性,比如NFS共享挂载失败,问题可能发生在挂载所用的mount协议,也可能发生在mount之前的portmap协议。
然后就是IP+端口的方式,一个比较简单的方法就是可以在感兴趣的数据包上右键然后点击“追踪流”,就可以看到与这对ip和端口的全部通信。
也可以在相应的包上右键-->Apply as Filter(作为过滤器应用)-->Selected(选中),Wireshark就可以自动生成相应的过滤规则。这里给出一些常用的规则。
过滤IP:
IP源地址:ip.src ==
192.168.1.1
IP目的地址:ip.dst
== 192.168.1.1
IP地址(包括源和目的):ip.addr
== 192.168.1.1
过滤端口:
TCP端口:tcp.port==80
TCP目的端口:tcp.dstport == 80
TCP源端口:tcp.srcport == 80
UDP端口:udp.port eq 15000
TCP 1-80之间的端口:tcp.port >= 1 and tcp.port <= 80
过滤协议:
http、tcp、udp、arp、icmp