巧用大白鲨(WireShark)抓包,看透网络请求
前段时间,因为同事需要分析数据,所以使用了WireShark,但是呢,小伙子不太知道怎么抓取数据,于是就来询问了一下阿粉,阿粉就手把手的教给他,如何使用WireShark进行抓包分析,在这里也分享给大家。
1.什么是WireShark
WireShark实际上是有前身的,他的前身叫做Ethereal,它就是用于一个网络封包分析软件,也就是我们日常生活中俗称的抓包工具,而它最大的特点就是,能够尽可能多的显示出详细的网络封包资料,WireShark使用WinPCAP作为接口,直接与网卡进行数据报文交换。
2.WireShark下载安装
先把网址给大家放上‘https://www.wireshark.org/’,下载网址在这里,
![](https://filescdn.proginn.com/456015c1af22f7f6cbc88872ee828d94/e65e4d736bee13437d0236942f074c8d.webp)
在这里给大家推荐,最好使用你们系统的对应版本,毕竟64位,就是64位,32位就是32位,不同的版本对应不同系统,不要想着兼容,你要知道,一个诡异问题的出现很可能导致你之前做的准备工作都浪费掉了。
大家如果感觉自己下载的慢的,可以在后台回复,抓包,WireShark,获取百度云的下载地址,
下载完成之后,安装,一路Next即可,但是注意,如果你想要切换安装的路径,那么路径最好都是英文的,哪怕你自己不嫌麻烦整个abc,那也比“抓包”两个字好,因为中文路径也是容易出现问题,而不同意被检测出来的。
![](https://filescdn.proginn.com/bba4ccd6127ad3099cd0c62b4b72ef92/4483b12b51d471a6afbdb4acf6e2d32f.webp)
等待安装完成,桌面出现logo即可,那么我们就点开来看看怎么使用的吧。
3.WireShark的使用
![](https://filescdn.proginn.com/17a31c1e2e1174da70baf9515c4a613c/cb217c7379e673308695d129937cd534.webp)
大家从图中就能看出,阿粉用的是笔记本,因为在图中的折线图中出现了波动,剩下都是虚拟网卡里面的内容,就像刚才阿粉说的,WireShark使用的WinPCAP作为接口,直接与网卡进行数据报文的交换,而大家看折线图上的名称,就有阿粉用来玩虚拟机的几个网卡。
找个WLAN试试看?
![](https://filescdn.proginn.com/6bf69220966392cc57a7a9ae639aeeda/7046e97a5de69afbc6e1c12e4435524f.webp)
在WLAN的连接中,接口中的数据就会被WireShark成功捕获到,我们来分析一下这个里面都是有什么东西。
![](https://filescdn.proginn.com/a0f298d614573a53b05c98af6a3cf377/d31015aa98fb00f97ebc6eee6e2bce86.webp)
Display Filter(显示过滤器), 用于过滤
Packet List Pane(封包列表), 显示捕获到的封包, 有源地址和目标地址,端口号。颜色不同,代表
Packet Details Pane(封包详细信息), 显示封包中的字段
Dissector Pane(16进制数据)
Miscellanous(地址栏,杂项)
我们在抓包的时候,肯定不能从这一大堆的封包数据中去寻找内容,肯定要进行过滤,大家可以从过滤器上搜索类型。
![](https://filescdn.proginn.com/7627ca56d55c0a3e7856269568912ebc/38dce3d019b10932f9668b01b6a99914.webp)
arp 显示所有 ARP 数据包
dns 显示所有 DNS 数据包
ftp 显示所有 FTP 数据包
http 显示所有 HTTP 数据包
ip 显示所有 IPv4 数据包
ipv6 显示所有 IPv6 数据包
tcp 显示所有基于 TCP 的数据包
我们按照HTTP来进行抓包,就像下面这个样子。
![](https://filescdn.proginn.com/f0b5f93030dcc07a71011c9a4c308962/9d7650d1be5cebacf55814cb67b04144.webp)
我们看一下封包详细信息里面都有哪些内容。
Frame 物理层的数据帧
Ethernet II 数据链路层以太网帧头部信息
Internet Protocol Version 4 网际层 IP 包头部信息
Transmission Control Protocol 传输层的数据段头部信息
Hypertext Transfer Protocol 应用层的信息,此处是 HTTP 协议
欧呦,Src很有意思呀,shenzhen_3a,还有目标的Mac地址,不错呦。
WireShark最需要学会的内容
![](https://filescdn.proginn.com/e2e386be0cbcd24b37c1ea483aa43185/fcaa6d9efe24d9fa00539ac782e338d5.webp)
也就是我们过滤器的规则,因为如果你要是对这个规则设置不好,你抓包的时候就不能精准的找到位置,进行分析。
我们总不能输入个HTTP,然后从里面去找吧,要学会效率工作。
比如我们知道IP地址,那么我们就能:
ip.src == 192.168.1.8
我们知道端口号是 8080,那么我们就可以:
tcp.port == 8080
再比如说我们处理HTTP里面的"Get"请求:
http.request.method=="GET" ,POST方法同样。
我们学习到这里,就已经算是能够进行WireShark的抓包行动了,大家有兴趣的可以用WireShark进行抓包分析,来分析之前阿粉所说的TCP的三次握手和四次挥手来进行校验,
地址送上:三次握手和四次挥手到底是个什么鬼东西?
文献参考
《WireShark官网DOC》
PS:公号内回复「Python」即可进入Python 新手学习交流群,一起 100 天计划!
老规矩,兄弟们还记得么,右下角的 “在看” 点一下,如果感觉文章内容不错的话,记得分享朋友圈让更多的人知道!
![](https://filescdn.proginn.com/d2ba960c579667f51f6ce1942699ca21/6814f5f27d88a263d4959690f2fa2939.webp)
![](https://filescdn.proginn.com/e2e3fbed98125822e0175d9d0c7dacee/b026c9cb5a2e554918de74625f057171.webp)
【神秘礼包获取方式】