一、抓包¶
抓包时应该尽量只抓必要的部分。一般能抓到的每个包的长度为1514个字节,启用巨型帧之后可达9000字节以上,而大多数我们只需要IP头或者TCP头就足够分析。
1.1 只抓包头¶
涉及到TCP层、网络层和数据链路层每个包的字节数设置为80字节;涉及到应用层,再加上应用层协议头的长度。可以将每个包的字节数设置成200字节。
1.1.1 拓展¶
使用tcpdump命令抓包可以用"-s"参数达到相同的效果。如抓取eth0上的每个包的前80字节,并把结果存到/tmp/tcpdump.cap文件中。
[root@localhost server]# tcpdump -i eth0 -s 80 -w /tmp/tcpdump.cap
1.2 只抓必要的包¶
当我们只想要自己想要的东西时,Wireshark的Capture Filter可以在抓包时过滤掉不需要的包。比如在许多网络连接中,我们只对IP为10.32.100.131的包感兴趣,那么可以在Wireshark上这样设置:单击菜单栏上的【Capture】-【Capture Filters】-【+】,输入"规则名test"和"host 10.32.100.131"后,选择OK即可。
1.2.1 拓展¶
使用tcpdump命令抓包可以用"host"参数达到相同的效果。如只抓与10.32.200.131通信的包,并把结果存到/tmp/tcpdump.cap文件中。
[root@localhost server]# tcpdump -i eth0 host 10.32.200.131 -w /tmp/tcpdump.cap
二、个性化设置¶
1、单击Wireshark主菜单的【View】-【Time Display Format】-【Data and Time of Day】实现Wireshark的时间格式与服务器格式一样。 2、单击Wireshark主菜单的【View】-【Coloring Rules】自定义不同类型的网络包颜色。 3、单击Wireshark主菜单的【Edit】-【Preferences】完成一些协议的细节设置。 4、如果在其他时区的服务器上抓包,然后下载到自己电脑上分析,最好把自己电脑的时区设成跟抓包的服务器一样。
三、过滤¶
1、协议名称过滤,需要考虑到协议间的依赖性。如NFS共享挂载失败,问题可能发生在挂载时所用的mount协议,也可能发生在mount之前的portmap协议。 2、IP地址加port号是最常用的过滤方式。除了手工输入一些过滤表达式外,wireshark还提供了更快捷的方式:右键单击感兴趣的包,选择【Follow】-【TCP/UDP Stream】。同样,单击Wireshark主菜单的【Statistics】-【Conversations】-【TCP/UDP】就可以看到所有的Stream。 3、右键单击Wireshark上感兴趣的内容,然后选择【Prepare a Filter】-【Selected】,就会自动在Filter框中自动生成过滤表达式。这里注意,假如右键单击Wireshark上感兴趣的内容之后,选择不是【Prepare a Filter】-【Selected】而是【Apply as Filter】-【Selected】,则该过滤表达式生成后还会自动执行。 4、单击【File】- 【Save As】保存过滤后得到的网络包,保存在一个新的文件夹。
四、Wireshark自动分析¶
1、单击Wireshark主菜单的【Analyze】-【Export Information】可以看到在不同标签下看到不同级别的提示信息。如:重传的统计、连接的建立和重置统计等。 2、单击Wireshark主菜单的【Statistics】-【Service Response Time】,再选择协议名称,可以得到响应时间的统计表。在衡量服务器性能时,我们需要经常统计此结果。 3、单击Wireshark主菜单的【Statistics】-【TCP Stream Graph】- 【Stevens】可以生成几类统计图。 4、单击Wireshark主菜单的【Statistics】-【Conversations】或【Statistics】-【Endpoints】看到数据包的统计信息。
五、最容易上手的搜索功能¶
1、在Wireshark主菜单下同时按下【Ctrl+F】之后选中【String】单选按钮,然后在Filter中输入自己想搜素的内容即可。