以前一直有耳闻运营商会劫持 dns,用 Wireshark 抓包看到响应的信息也是对的,就没怎么在意,今天总算抓到一点点证据了,实验内容如下,openwrt 配置好 ddns,然后重启路由器,一分钟后,在域名管理界面可以看到域名解析地址已经更改,然后使用站长之家的 nslookup 工具和本地的 nslook 工具同时进行解析查询,可以看到解析结果不一样:,为了排除是我本地 DNS 解析缓存的原因,我还特意上腾讯云的服务器和清除本地缓存,结果也是一样的,如下图:
1
huangmiao233 2019-06-27 14:14:36 +08:00 via Android
工信部投诉下
|
2
c0c0c0 OP 相关技术手段如下 https://www.lanzous.com/i4qopfe
|
3
ThirdFlame 2019-06-27 14:25:03 +08:00
抢答这个动态域名有啥用,,, 大多是因为缓存造成的。
如果运营商劫持你这个解析,为啥 VPS 的解析也是错的。 DNS 劫持技术上能实现,现实中也在用。 但是用到你的 ddns 上 有啥用,杀鸡用牛刀啊。 |
4
txydhr 2019-06-27 14:28:19 +08:00
没看懂
|
5
jjplay 2019-06-27 14:35:24 +08:00 1
投诉这种东西我试过太多次了,工信部会下发到相关电信部门会有客服回访,客服也不懂 也不回承认这种事,然后会指派基层员工上门来检查,说实在 他们可能只是会装个东西 不明白这些东西,网卡不卡 只会在电信网站测速这种。12315 投诉这种 会让片区的工商部分回访,然后他们也都最少是 80 后 电脑用的也是不利索,不是很懂,最后说投诉主体单位不对什么的云云搪塞一下...
|
7
c0c0c0 OP @ThirdFlame 二楼有附件,至于腾讯云为啥解析是错的,这个可能和腾讯云也使用了运营商提供的网络有关吧,或者更深层面的说,有可能是骨干网上的劫持,我的 ddns 只是一个个例
|
8
Felldeadbird 2019-06-27 14:54:50 +08:00 4
@jjplay 真的是这样啊。之前投诉过挟持,还真的派了一个修宽带的人,然后我问他一点技术,完全是不懂得。 再后面投诉带宽某些业务不能办理,一样。 再后来申请 IPV6,还是派一个修宽带的。。彻底是对他们无语了。
感觉网络挟持是一个利益很复杂的问题,要揪出元凶估计不简单啊。 |
9
txydhr 2019-06-27 15:02:32 +08:00
我怎么感觉是 ttl 的问题
|
10
maojy1989 2019-06-27 15:06:10 +08:00
运营商为了 DNS 响应更快会缓存解析的结果,个别运营商还会修改解析的 ttl 为更大一点的值,这样就造成了用户获取到的解析结果不是实时更新的,这也不能叫 DNS 劫持,只是缓存问题
|
11
pxw2002 2019-06-27 15:08:53 +08:00 via Android
250 是不是你之前的 ip
是的话 那就是缓存更新慢而已 250 要是和你没关系 那就是劫持了 但是我还是认为不可能 劫持你这个只有自己用的 ddns 对运营商没有啥必要 我认为这不是劫持 |
12
c0c0c0 OP @maojy1989 如果我用的是 ISP 提供的 DNS,自然没问题,问题是我使用第三方的 DNS server,同样不能返回正确的结果,这就有问题了
|
13
c0c0c0 OP @pxw2002 请看一下二楼的附件,还是那个问题,如果我选择使用的 ISP 提供的 DNS server,ok,那没问题,缓存我认了,但是,但是,我现在使用的是谷歌和 114 的 dns server,ISP 也给我解析到他自己的缓存上,这就说不过去了吧,国外的 vps 无此类问题。
|
14
maojy1989 2019-06-27 15:24:02 +08:00
@c0c0c0 #12 8.8.8.8 这个 DNS 在国内很多地方其实不好用,你下次改变 IP 的时候在这个地址看看结果跟你本地用 8.8.8.8 解析的是不是一样的,不一样的话可能就是你那运营商的问题了,如果是一样的应该就是缓存问题
https://dns.google/resolve?name=ddns.njcit.me&type=A&cd=1 |
15
coeo91 2019-06-27 15:32:26 +08:00 via iPhone
我以前是新装机弹广告,游戏里也弹的那种,我就投诉,问我怎么判断的,我说电脑啥都没有,每次开机大概率出广告。一个浏览器一次。怎么做到的。
|
16
dalieba 2019-06-27 16:05:31 +08:00 via Android
看来 DNS 加密是刚需,准备一个这样的工具很有必要。
|
17
remarrexxar 2019-06-27 17:43:53 +08:00
之前查出来过嵌套的广告来源是电信机房,和几个站长联系过不是他们加的。然后工信部投诉过一波,电信那边完全抵赖,但是之后就不嵌套广告了。估计电信那边也有一套白名单。
|
18
alfchin 2019-06-27 17:48:28 +08:00 via Android 1
这不够专业,要通过抓数据包确认具体情况
|
19
txydhr 2019-06-27 18:55:40 +08:00 1
你这个“证明”,不算证据。
8.8.8.8 背后有 n 台服务器,有时候你刚改的 dns,你反复不停查询 8.8.8.8 会发现一会儿是缓存的旧 IP,一会儿是新 IP。 不光 8.8.8.8,所有的公共 dns 都是这样。 |
20
jousca 2019-06-27 19:02:03 +08:00
我就跟你们说,运营商接入层设备会缓存、劫持 DNS 解析。 管你设置的什么 DNS,它局端优先回应。它回应不了再放行到上面。就这么简单。
|
21
deorth 2019-06-27 19:17:29 +08:00
之前干过,在转发链路上找一台 linux,装 dnsmasq,然后本机弄个回环 8.8.8.8。走默认路由到你这里的 dns 请求就被本机响应了。当然,dnsmasq 的上级就不能设置为 8.8.8.8 了
|
22
lrvy 2019-06-28 10:24:42 +08:00
DNS over TLS 应该可以解决这种问题吧
|
23
Neoth 2019-06-28 10:30:09 +08:00 1
楼主写出来的检测方法逻辑和技术思考严重不充分。还是再考虑下,多看看技术文章再说吧。
|
24
mytsing520 2019-06-29 01:59:18 +08:00
证据不充分,无法证明
|
25
z5864703 2019-07-01 20:12:54 +08:00
@c0c0c0 114 或谷歌 DNS 本身也有缓存,楼主只需确认这两个 IP 是不是分别是现在拨号分配的 IP 和之前拨号分配的 IP,如果是,那就是 DNS 缓存问题,和运营商劫持半毛钱关系都没有
|
26
z5864703 2019-07-01 20:13:59 +08:00
而且如果是我上面说的情况,楼主需要去了解下 DNS 的 TTL 以及域名解析工作原理
|
28
laozhoubuluo 2019-07-07 17:00:07 +08:00
其实 114DNS 给了个省事的方法,直接 Windows 命令行敲“ nslookup whether.114dns.com 114.114.114.114 ”
如果出来是 127 开头的地址,那就是被劫持了,反之那就没问题。 例如北京联通(无 DNS 劫持),解析结果为 58.217.249.139 例如北京移动(有 DNS 劫持),解析结果为 127.0.0.1 |