Wireshark:抓取 HTTP 包
广告时间,见谅勿怪,看到了就点一下吧,感激不尽🙇!
最近在看人工智能相关的知识,无意中发现了一个巨牛的 人工智能教程,分享一下给大家。
教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。
点 这里 可以直接看教程。
开篇简要
初识 Wireshark 简单介绍了强大的 Wireshark
工具,想用好或者是说想发挥 Wireshark
的巨大威力,还有很长的路要走(对我来说)。学习 Wireshark
的成本要比其他网络抓包工具的成本高,所以请做好学习的准备。
我身边很多开发同事,甚至包括一些刚入职的测试工程师都不喜欢使用抓包工具,遇到问题凭着自己的感觉在那里侃侃而谈,既耽误时间又没有解决问题,有时候还伤了和气,明明可以使用工具可以解决的问题,偏偏要各抒己见。
说到 Wireshark
更是很少人使用,至少我身边的同事是这样。如果让你一直去看那些 RFC 等网络协议,不到半小时估计你就会感到疲惫,但是结合 Wireshark
来理解网络协议就会感到无比的快乐,何乐而不为呢?!
继续阅读下去,你可以了解到如下几个知识:
1. 如何抓取 PC 端、iOS 设备的网络包?
2. 使用一些过滤条件如何查看包的内容?
3. 如何在 Wireshark
中显示域名?
PC 端的 HTTP 请求
打开 Wireshark
,选择对应的网口,因为我使用的是无线网络(WiFi),所以选择 Wi-Fi:en0
这个网口,你可以根据你的网络使用情况来选择对应的网口,如下图:
可以看到对应有网络数据的网口,Wireshark
还在右侧显示对应的波浪,很人性化的设计。双击对应的网口,就可以使用 Wireshark
来抓包看数据了。
下面我就以 PC 端访问 www.veryitman.com
来演示 HTTP 请求的抓包情况。
查看本机的 ip 地址,我的是 10.4.17.7
, 再来看一下 www.veryitman.com
对应的 ip 地址:
1 | ping ww.veryitman.com |
显示结果如下:
1 | 64 bytes from 185.199.110.153: icmp_seq=0 ttl=52 time=317.074 ms |
那么, 185.199.110.153
就是其对应的 ip 地址。总的来说,对于 PC 端,源地址是 10.4.17.7
,目的地址是 185.199.110.153
,对于服务器来说,正好反过来。
首先在过滤器中输入 http
, 如下图所示:
然后打开浏览器,我使用的是 Chrome,打开 http://www.veryitman.com/2018/08/20/%E5%88%9D%E8%AF%86-Wireshark/
网站站点,Wireshark
显示如下(部分截图):
改变一下过滤语句,将之前的 http
改为 ip.src==10.4.17.7 && http && ip.dst==185.199.109.153
, 显示如下:
可以选择任何一个请求,展示区域如下:
上图中的三个区域分别对应的是 View
中的 Packet List
, Packet Details
,Packet Bytes
三个视图。
选择任何一个请求,在对应的 区域2
可以看到该请求的详情。
刚才使用的过滤条件只看到 PC(客户端)的请求,没有看到服务器返回信息,我们修改一下过滤条件为 ip.src==185.199.109.153 && http && ip.dst==10.4.17.7
,这样就看以看到服务器的回包信息了,如下图所示:
双击进入该响应,就可以看到对应的响应数据详情了。
iOS 设备的 HTTP 请求
跟查看 PC 端的 HTTP 请求方式基本一致,只是此时的本机 ip 地址是手机端的而不是 pc 端的。
初识 Wireshark 中已经跟大家分享过如何去连接 iOS 设备到 Wireshark
抓包了,这里不再赘述。
至于查看 iOS 设备的 ip 地址,就很简单了,打开 设置/wifi
看一下详情就知道了。
显示域名
如果你经常使用 Charles
抓包,就可以发现 Charles
展示的请求中都是以域名来显示的,但是在 Wireshark
都是显示 ip 地址,或许因此感到不适,那么,Wireshark
能否展示域名呢?
Wireshark
是可以像 Charles
那样展示域名的,只是它默认显示 ip 地址罢了。
打开 Preferences,如图:
这样 Wireshark
的显示就是另一番景象了如下图所示:
当然,你也看出来了,过滤条件还是可以使用的。
你还可以使用其他的过滤条件,如下面的一些过滤条件,能帮你快速定位你要的数据。
1 | http.host == "veryitman.com" |
扫码关注,你我就各多一个朋友~