首页 > 代码库 > Wireshark学习笔记——如何快速抓取HTTP数据包
Wireshark学习笔记——如何快速抓取HTTP数据包
0.前言
在火狐浏览器和谷歌浏览器中可以非常方便的调试network(抓取HTTP数据包),但是在360系列浏览器(兼容模式或IE标准模式)中抓取HTTP数据包就不那么那么方便了。虽然也可使用HttpAnalyzer等工,但是毕竟都是收费软件。只需通过合适的过滤和操作,Wireshark也可抓取HTTP请求和响应。下面便说明具体操作。
假设在8080端口运行一个HTTP服务器,本例中使用Python Flask运行一个HTTP服务并侦听8080端口,实现一个简单的加法运算,网页中通过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:指定服务器ip地址,请根据实际情况替换。
【c】tcp.port == 8080,指定端口号,请根据实际情况替换。
图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。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。