Wireshark学习笔记——怎样高速抓取HTTP数据包

0.前言
    在火狐浏览器和谷歌浏览器中能够很方便的调试network(抓取HTTP数据包),可是在360系列浏览器(兼容模式或IE标准模式)中抓取HTTP数据包就不那么那么方便了。尽管也可使用HttpAnalyzer等工,可是毕竟都是收费软件。仅仅需通过合适的过滤和操作,Wireshark也可抓取HTTP请求和响应。以下便说明详细操作。
    如果在8080port执行一个HTTPserver,本例中使用Python Flask执行一个HTTP服务并侦听8080port,实现一个简单的加法运算,网页中通过ajax提交两个数据。比如a=2&b=3,Flask处理之后返回一个json数据包,格式如{"result":5}。


1.设置过滤条件
【1】http and ip.addr == 192.168.1.106 and tcp.port == 8080
【a】http:指定网络协议
【b】ip.addr ==  192.168.1.106: 指定serverip地址,请依据实际情况替换。

【c】tcp.port ==  8080。 指定port号,请依据实际情况替换。

图1 过滤条件
【2】点击apply
    点击apply之后可过滤得到两个数据包。各自是HTTP请求和HTTP响应。

图2 HTTP请求和响应

2.查看TCP数据流——Follow TCP Stream
【1】在随意数据包上右击,选择Follow TCP Stream
    该步骤能够过滤出和该HTTP数据包有关的TCP数据包。包含TCP 3次握手,TCP分片和组装等。

图3 选择Follow TCP Stream
【2】终于得到HTTP请求和响应
【a】红色背景字体为HTTP请求,蓝色背景字体为HTTP响应
【b】从User-Agent中能够看出,360浏览器兼容模式使用了IE8内核(该台计算机操作系统为XP,IE浏览器版本号为8),这说明360浏览器使用了系统中的IE核。

图4 HTTP请求和响应详细内容


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


猜你喜欢

转载自www.cnblogs.com/ldxsuanfa/p/10802281.html