今天为了了解一下 webdav 协议,我特意下载了一个软件知名的抓包软件 wireshark。之所以使用这个软件,是因为它的抓包更底层,看到的内容更多。但是,也正因为如此,我发现了一些意料之外的问题。
开始抓包
首先为了方便研究,我们先设置一下过滤器(过滤器位置在图片左上角部分),只显示 http 协议的内容。
上面是捕获到的数据,有几个引起了我的注意。为了避免其他因素的干扰,我特意的重启了电脑。重启完成后直接打开wireshark 设置抓包。但是它们又一次被捕获了,所以它们肯定是有问题的。
可疑的数据包
域名可疑
类型一:访问路径太长,域名也可疑
访问频繁
类型二:频繁访问,看着就像二五仔
拒绝访问403
类型三:403不停出现,像极了某网站
一探究竟
接下来,挨个研究一下。验证之前需要先说一下 http 协议,http 协议是基于 TCP 的一种应用层协议。
在 wireshark 捕获的 TCP 内容中,通常包括请求和响应两部分。针对一个具体的基于 http 协议的内容,我们可以看到访问的域名(更准确地说是host),响应中看不到。
可疑域名
双击请求,我们可以看到r3---sn-bvn0o-ju0l.gvt1.com
这个域名。经过 google 查验,该域名为 google 家的与 chrome 有关的域名。没错,我电脑上装了chrome,所以这个域名没有问题。不过域名是真的长。
频繁访问
从图中可以看到这里 Host 是 IP,不是域名。但通过请求头中 X-360-xxx 内容可以猜测这个和 360 有关系。没错,我的电脑装了360(只装了 360 管家,不得不说,它家的小功能还是挺香的)。
但是还是不放心这个域名http://111.7.68.22/
,利用站长工具反查一下域名吧
真是360,没问题了。
403
第三种是比较诡异的一种了,它之所以会引起我的怀疑不仅仅是因为 403,更可疑的是和 403 一起返回的 html。
返回的 html 提示域名未备案,而且还指向了 UCloud 家的服务器。
我没有找到发起请求的数据包,响应中也看不到域名。这暂时查不到事件的发起源。
但是没有关系,我们换一种检查方法,ipconfig /displaydns | findstr 106.75.67.118
查询本地 dns 缓存。
导出至文件,我们在文件里面查查看它的域名是什么。ipconfig /displaydns > ip.txt
android.clients.google.com
----------------------------------------
记录名称. . . . . . . : android.clients.google.com
记录类型. . . . . . . : 1
生存时间. . . . . . . : 9016
数据长度. . . . . . . : 4
部分. . . . . . . . . : 答案
A (主机)记录 . . . . : 106.75.67.118
clients2.googleusercontent.com
----------------------------------------
记录名称. . . . . . . : clients2.googleusercontent.com
记录类型. . . . . . . : 1
生存时间. . . . . . . : 9016
数据长度. . . . . . . : 4
部分. . . . . . . . . : 答案
A (主机)记录 . . . . : 106.75.67.118
lh3.googleusercontent.com
----------------------------------------
记录名称. . . . . . . : lh3.googleusercontent.com
记录类型. . . . . . . : 1
生存时间. . . . . . . : 9728
数据长度. . . . . . . : 4
部分. . . . . . . . . : 答案
A (主机)记录 . . . . : 106.75.67.118
accounts.google.com
----------------------------------------
记录名称. . . . . . . : accounts.google.com
记录类型. . . . . . . : 1
生存时间. . . . . . . : 9009
数据长度. . . . . . . : 4
部分. . . . . . . . . : 答案
A (主机)记录 . . . . : 106.75.67.118
www.googleapis.com
----------------------------------------
记录名称. . . . . . . : www.googleapis.com
记录类型. . . . . . . : 1
生存时间. . . . . . . : 9693
数据长度. . . . . . . : 4
部分. . . . . . . . . : 答案
A (主机)记录 . . . . : 106.75.67.118
apis.google.com
----------------------------------------
记录名称. . . . . . . : apis.google.com
记录类型. . . . . . . : 1
生存时间. . . . . . . : 9728
数据长度. . . . . . . : 4
部分. . . . . . . . . : 答案
A (主机)记录 . . . . : 106.75.67.118
都是谷歌家的服务,我好像明白了什么。
但是这还没完,我还想查一下是哪个 dns 解析的问题。
cmd 运行一下ipconfig /flushdns
刷新 dns 解析缓存,同时重启(清空也行)wireshark,重新开始抓包。
不同于 http,dns 是基于 udp 传输的一种应用层协议,负责将域名转化为难记的 ip 。
运行一下 ping apis.google.com
,机器会自动向 dns 服务器发起请求,要求获取域名对应的 ip。
wireshark 捕获的查询记录如下。如果觉得内容太多,有干扰,可以设置 dns 过滤器。
可以看到 dns 服务器的 ip 是Destination: 112.124.47.27
,先记下来。
双击查看响应,发现该 dns 解析1天内都有效,有点恶心。
百度一下这个 dns 服务器是哪家的。
原来是 ONEDNS 家的服务器。
打开控制面板里面的网络控制中心查到 dns 服务器。
112.124.47.27 就是 ONEDNS 家的服务器。再结合 v2ex上的一篇文章,妥妥的 dns 污染。
小结
这次使用 wireshark 本来是想着顺便熟悉下这个软件,方便以后的学习。没想到还收获了一些额外的东西,还了解了一波 dns 污染,以后还是使用其他的 dns 服务器吧。
本文由 ukuq 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: Mar 21, 2020 at 11:16 pm