如何通过wireshark抓取某个指定网站的数据包?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何通过wireshark抓取某个指定网站的数据包?相关的知识,希望对你有一定的参考价值。
运行wireshark软件,选择无线网络连接,点击start,进入捕包界面,在filter(过滤器)的方框中,输入http。 点击右侧的apply(应用),就能捕获指定的网站数据包。
用wireshark软件捕获http数据包的方法步骤:
1、运行wireshark软件,进入主界面。
2、在左侧网卡区域,点击选择网卡。目前这里是无线网卡,就选择无线网络连接。
3、点击start,进入捕包界面。
4、在filter(过滤器)的方框中,输入http。
5、 点击右侧的apply(应用)。此时,进入捕包状态。若在浏览器中浏览网页,就能捕获其中的http数据包。
参考技术A方法步骤如下:
1、首先打开计算机,下载并安装wireshark,在百度搜Wireshark,下载或其他渠道下载都可以,下载后默认安装即可。
2、双击运行wireshark,点击左上角Capture选项图标,对抓包选项进行设置。
3、选择网络环境,如果插着网线就选择“以太网”,如果使用无线连接,就选择“WLAN”。
4、找到“Hide Capture info dialog”选项,去掉前面的对号可以在抓包时显示一个动态统计数据包类型的窗口,可以根据需要选择。
5、其他的默认即可,别的功能可以在运行时根据需要更改,此处可以忽略,点击右下角“start”即可开始抓取数据包。
6、在主界面上可以看到抓取到的数据包,如果去掉了“Hide Capture info dialog”前面的对号,还会显示一个数据包统计窗口。
7、如果需要抓取指定类型的数据包,在工具栏下方Filter中输入类型即可。注意输入之后要按回车确认。
参考技术B在火狐浏览器和谷歌浏览器中可以非常方便的调试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]
以上是关于如何通过wireshark抓取某个指定网站的数据包?的主要内容,如果未能解决你的问题,请参考以下文章
如何通过wireshark 抓取 jquery的ajax请求数据包