第一章部分内容
一、抓包
- 只抓包头。一般能抓到的每个包(称为“帧”更准确)的最大长度为1514字节,启用了Jumbo Frame(巨型帧)之后可达9000字节以上,而大多数时候我们只需要IP头或者TCP头就足够分析了。然而在Wireshark上可以这样抓包头:单击菜单栏上的Capture–>Options,然后在弹出的窗口上定义“Limit each packet to”的值。我一般设置80字节。这样TCP层、网络层和数据链路层的信息都可以包括在内
使用tcpdump 的“-s”选项可以限制抓包的字节。 - 只抓必要的包。服务器上的网络连接可能非常多,而我们只需要其中那个的一小部分。Wireshark的Capture Filter可以在抓包时过滤掉不需要的包。
用tcpdump 的host参数可抓与特定Ip通信的数据包。
三、过滤
很多时候,解决问题的过程就是层层过滤,直到找到关键包。前面已经介绍过抓包时候的Capture Filter功能了。其实在包抓下来之后,还可以进一步过滤。
ip.addr eq 10.192.11.11 && tcp.port eq 445
在页面输入该过滤表达式即可筛选IP为10.192.11.11 端口号为445的数据包。
1. 如果已知某个协议发生问题,可以用协议名称过滤一下。如果已知该域的验证协议是Kerberos,那么就在Filter框输入Kerberos作为关键字过滤。
2. IP地址加port号是最常用的过滤方式,除了手工输入表达式外,还可以右键单击感兴趣的包,选择Follow TCP/UDP Stream就可以自动过滤。
3. 用鼠标帮助过滤,右键选择Prepare a Filter->Selected,会在Filter框中自动生成过滤表