ISP 是某二级运营商。
首先查询 WHOIS 得知 baidu.com 的 NS 记录包含一条 ns1.baidu.com ,那么个人理解 ns1.baidu.com 应该就是 baidu.com 这个域名的“权威 DNS 服务器”。
然后在本地 nslookup
,却得到“非权威应答”。正常来讲向权威 DNS 查询应该不会得到这种非权威应答吧?
$ nslookup baidu.com ns1.baidu.com
Server: ns1.baidu.com
Address: 110.242.68.134#53
Non-authoritative answer:
Name: baidu.com
Address: 220.181.38.148
Name: baidu.com
Address: 39.156.69.79
这种情况是不是代表受到运营商的 DNS 污染?(或劫持,这两个概念分不太清楚…)
向任意 IP 地址查询都能得到相同的结果(把 11.22.33.44 替换为任意 IP 都是相同结果):
$ nslookup www.baidu.com 11.22.33.44
Server: 11.22.33.44
Address: 11.22.33.44#53
Non-authoritative answer:
www.baidu.com canonical name = www.a.shifen.com.
Name: www.a.shifen.com
Address: 182.61.200.7
Name: www.a.shifen.com
Address: 182.61.200.6
向 ISP DNS 查询不存在的域名,全部解析到同一个 IP(经查属于移动):
$ nslookup www.0s98df9sa7f0a787a.net
Server: 192.168.1.1
Address: 192.168.1.1#53
Non-authoritative answer:
Name: www.0s98df9sa7f0a787a.net
Address: 120.240.95.35
1
also24 2021-01-24 00:08:06 +08:00
我这边没有『非权威应答』的字样:
|
2
also24 2021-01-24 00:17:42 +08:00
另:
想要判断是否是 DNS 抢答的情况,可以抓包看下,如果是抢答应该会收到多个回应。 让我觉得比较奇怪的是,如果是抢答的话,系统应该会认为这个记录是 ns1.baidu.com 回应的,也应该标记为权威才对。 |
3
jedz OP @also24 抓包看了下。DNS response 中有个 flag 叫“Authoritative”,应该是根据这个决定是否标记权威的吧。
另外并没有收到多个回应,我怀疑有没有可能是运营商直接拦截了请求并伪造回复?其实请求根本就没有发到真正的 ns1.baidu.com 去。 |
4
also24 2021-01-24 01:01:25 +08:00
@jedz #3
确实,这方面是我疏忽了,没注意到 DNS 回应里的 Authoritative 字段,我抓包看了一下这里确实是有区别的。 那看起来确实很像被运营商拦截了请求,毕竟运营商还是能做到的。 我觉得你也许可以试试 nslookup qq 点 com ns1 点 baidu 点 com 这种,如果是运营商做的抢答,也许能解析出结果。 (无奈脸,V2 提示:请不要在每一个回复中都包括外链,这看起来像是在 spamming ) |
5
also24 2021-01-24 01:02:08 +08:00
|
6
docxs 2021-01-24 07:02:34 +08:00 via iPhone
这是本地域名服务器 110.242.68.134 给出的回包,所以会被标记为 non-author 吧,指定查询 ip 为 220.181.38.148
|
7
docxs 2021-01-24 07:20:43 +08:00 via iPhone
另外,baidu.com 的 ns 记录我这里查是没有 ns1.baidu.com 的
|
8
also24 2021-01-24 15:15:11 +08:00
@docxs #7
我查了一下,似乎返回的结果里确实没有 ns1(.)baidu(.)com,但是返回的 dns(.)baidu(.)com 其实是解析到同一 IP 的,都是 110.242.68.134 这台机器(也就是被你误认为本地解析服务器的那台) (再次被 V2 提示:请不要在每一个回复中都包括外链,这看起来像是在 spamming ) |
9
julyclyde 2021-01-25 12:39:19 +08:00
不一定是劫持,只是很有可能而已
|
10
jedz OP @also24 用你的方法测试了一下,`nslookup qq.com dns.baidu.com` 也能查询到结果。
更奇葩的是,向任何 IP 地址查询都能得到一样的结果。运营商杀疯了。。? ![]( https://i.loli.net/2021/01/25/n4NcaXeuodMmDJR.png) 抓包结果: ![]( https://i.loli.net/2021/01/25/cabtHU6LZp17vMx.png) |
12
ace0120 2021-01-26 08:44:55 +08:00 via iPhone
这好像是移动的专利,劫持 53 端口 dns 吧?我这也一样,关键劫持就劫持吧,除了某些不允许解析的,国内网站能获得正确解析那还能接受,关键是之前有一阵,在浏览器只要输入不存在的网址或者解析不出来的网址,直接给你跳转到一个特定的广告导航页,给我恶心坏了。这个时候你设置任何 53 端口的 dns 都是不行的,后来我给路由器安装了 smartdns,只用 DoH/DoT 。
|