云计算运维---wireshark 工具使用抓包常见小技巧

Wireshark 工具使用常见小技巧

一、抓包

拿到一个网络包时,我们总是希望它尽可能小。因为操作一个大包相当费时,有时甚至会死机。如果让初学者分析1GB以上的包,估计会被打击得信心全无。所以抓包时应该尽量只抓必要的部分。有很多方法可以实现这一点。

1.只抓包头。

一般能抓到的每个包(称为“帧”更准确,但是出于表达习惯,本书可能会经常用“包”代替“帧”和“分段”)的最大长度为1514字节,启用了JumboFrame(巨型帧)之后可达9000字节以上,而大多数时候我们只需要IP头或者TCP头就足够分析了。在Wireshark上可以这样抓到包头:单击菜单栏上的Capture>Options,然后在弹出的窗口上定义“Limiteachpacketto”的值。我一般设个偏大的数字:80字节,也就是说每个包只抓前80字节。这样TCP层、网络层和数据链路层的信息都可以包括在内。

mac平台:
云计算运维---wireshark 工具使用抓包常见小技巧_第1张图片

win 平台也基本一致:

云计算运维---wireshark 工具使用抓包常见小技巧_第2张图片

在win vm 上进行实验,设置不同的报文大小,分别进行1min的抓包,可以看到抓取到的报文大小有明显差别。

用tcpdump命令抓包时可以用“s”参数达到相同效果。比如以下命令只抓eth0上每个包的前80字节,并把结果存到/tmp/tcpdump.cap文件

[root@server_1/]#tcpdump  -i  eth0  -s  80  -w  /tmp/tcpdump.cap

2.只抓必要的包。

服务器上的网络连接可能非常多,而我们只需要其中的一小部分。Wireshark的CaptureFilter可以在抓包时过滤掉不需要的包。

如果对更多filter表达式感兴趣,请参考http://wiki.wireshark.org/CaptureFilters。用tcpdump命令抓包时,也可以用“host”参数达到相同效果。比如以下命令只抓与10.32.200.131通信的包,并把结果存到/tmp/tcpdump.cap文件中。

[root@server_1/]#tcpdump -i eth0  host  10.32.200.131  -w/tmp/tcpdump.cap

注意:设置CaptureFilter之前务必三思,以免把有用的包也过滤掉,尤其是容易被忽略的广播包。当然有时候再怎么考虑也会失算,比如我有一次把对方的IP地址设为filter,结果一个包都没抓到。最后只能去掉filter再抓,才发现是NAT(网络地址转换)设备把对方的IP地址改掉了。抓的包除了要小,最好还能为每步操作打上标记。这样的包一目了然,赏心悦目

抓包的技巧还有很多,比如可以写一个脚本来循环抓包,等侦察到某事件时自动停止。

3.过滤

很多时候,解决问题的过程就是层层过滤,直至找到关键包。
3.1. 如果已知某个协议发生问题,可以用协议名称过滤一下。比如tcp、arp等等。
云计算运维---wireshark 工具使用抓包常见小技巧_第3张图片

3.2. IP地址加port号是最常用的过滤方式。除了手工输入ip.addreq&&tcp.porteq<端口号>之类的过滤表达,Wireshark还提供了更快捷的方式:右键单击感兴趣的包,选择FollowTCP/UDPStream(选择TCP还是UDP要视传输层协议而定)就可以自动过滤。

云计算运维---wireshark 工具使用抓包常见小技巧_第4张图片
云计算运维---wireshark 工具使用抓包常见小技巧_第5张图片
云计算运维---wireshark 工具使用抓包常见小技巧_第6张图片

3.3.用鼠标帮助过滤。我们有时因为Wireshark而苦恼,并不是因为它功能不够,而是强大到难以驾驭。比如在过滤时,有成千上万的条件可供选择,但怎么写才是合乎语法的?虽然http://www.wireshark.org/docs/dfref/提供了参考,但经常查找毕竟太费时费力了。Wireshark考虑到了这个需求,右键单击Wireshark上感兴趣的内容,然后选择PrepareaFilter>Selected,就会在Filter框中自动生成过滤表达式。在有复杂需求的时候,还可以选择And、Or等选项来生成一个组合的过滤表达式。假如右键单击之后选择的不是PrepareaFilter,而是ApplyasFilter>Selected,则该过滤表达式生成之后还会自动执行。

云计算运维---wireshark 工具使用抓包常见小技巧_第7张图片
云计算运维---wireshark 工具使用抓包常见小技巧_第8张图片
云计算运维---wireshark 工具使用抓包常见小技巧_第9张图片
3.4.我们可以把过滤后得到的网络包存在一个新的文件里,因为小文件更方便操作。单击Wireshark的File>SaveAs,选中Displayed单选按钮再保存,得到的新文件就是过滤后的部分。

云计算运维---wireshark 工具使用抓包常见小技巧_第10张图片

云计算运维---wireshark 工具使用抓包常见小技巧_第11张图片

你可能感兴趣的:(Linux,云计算,运维,Virtual,Network)