wireshark怎么抓取数据包?

如题所述

在火狐浏览器和谷歌浏览器中可以非常方便的调试network(抓取HTTP数据包),但是在360系列浏览器(兼容模式或IE标准模式)中抓取HTTP数据包就不那么那么方便了。虽然也可使用HttpAnalyzer等工,但是毕竟都是收费软件。只需通过合适的过滤和操作,Wireshark也可抓取HTTP请求和响应。下面便说明具体操作。

假设在8080端口运行一个HTTP服务器,本例中使用Python Flask运行一个HTTP服务并侦听8080端口,实现一个简单的加法运算,网页中通过ajax提交两个数据,例如a=2&b=3,Flask处理之后返回一个json数据包,格式如{"result":5}。

1.设置过滤条件

    http and ip.addr == 192.168.1.106 and tcp.port == 8080

    http:指定网络协议

    ip.addr == 192.168.1.106:指定服务器ip地址,请根据实际情况替换。

    tcp.port == 8080,指定端口号,请根据实际情况替换。


    点击apply,点击apply之后可过滤得到两个数据包,分别是HTTP请求和HTTP响应。


2.查看TCP数据流——Follow TCP Stream

    在任意数据包上右击,选择Follow TCP Stream。该步骤可以过滤出和该HTTP数据包有关的TCP数据包,包括TCP 3次握手,TCP分片和组装等。


    最终得到HTTP请求和响应

    红色背景字体为HTTP请求,蓝色背景字体为HTTP响应

    从User-Agent中可以看出,360浏览器兼容模式使用了IE8内核(该台计算机操作系统为XP,IE浏览器版本为8),这说明360浏览器使用了系统中的IE核。


3.总结  相对于火狐或谷歌浏览器中使用调试工具抓取HTTP数据包,使用wireshark要显得复杂些,但是也可以达到最终效果。这些操作分为两步,第一步设置合理的过滤条件,第二步在任意数据包中选择Follow TCP Stream。

根据具体问题类型,进行步骤拆解/原因原理分析/内容拓展等。
具体步骤如下:/导致这种情况的原因主要是……

参考资料

CSDN.CSDN[引用时间2018-1-10]

温馨提示:答案为网友推荐,仅供参考
相似回答