wireshark 抓不到http_Wireshark 工具使用常见小技巧

抓包

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

1.只抓包头。

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

mac平台:

265187025fdad8848ed49c072a8f4a99.png
16549959c28eaf1513eca8ef553ec738.png
96b253fb1673842f7b850aa436e3d423.png

win 平台也基本一致:

50f3e5828d1e745702e9af9240769c67.png

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

9a7421488de3f199ab4c3046b20313c8.png

用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等等。

340ac6d043af23d78bb9c7f84dd6b70a.png

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

1378e06e76a5f4467f9f09ba3fc4033d.png
171e8c885ee0a8d07eaf598cb86d4183.png
d458f49c05e70d364fbfd6358bdc998a.png

3.3.用鼠标帮助过滤。

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

e03256fa67163b73182500bebc39b5b2.png
fba3e7d520d23f073dc175f4f4006709.png
bbd494e4b4df66a8015339b931b2765f.png

3.4.我们可以把过滤后得到的网络包存在一个新的文件里,因为小文件更方便操作。单击Wireshark的File>SaveAs,选中Displayed单选按钮再保存,得到的新文件就是过滤后的部分。

cedb17cdb9c4ebcd9a850365bf9d776e.png
88dadf9676fe067a672acd8aa721a189.png
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值