直接到根服务器的 dns 查询都被劫持了吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
pcslide

直接到根服务器的 dns 查询都被劫持了吗?

  •  
  •   pcslide Dec 3, 2021 4932 views
    This topic created in 1605 days ago, the information mentioned may be changed or developed.
    墙内 dig @198.41.0.4 www.facebook.com
    得到的直接就是地址
    www.facebook.com. 214 IN A 31.13.95.37
    ;; Query time: 10 msec
    ;; SERVER: 198.41.0.4#53(198.41.0.4)

    ----------------------------
    墙外 dig @198.41.0.4 www.facebook.com
    让我去问下面的服务器
    ;; AUTHORITY SECTION:
    com. 172800 IN NS a.gtld-servers.net.
    com. 172800 IN NS b.gtld-servers.net.
    com. 172800 IN NS c.gtld-servers.net.
    [此处略去若干行]
    ;; Query time: 320 msec
    ;; SERVER: 198.41.0.4#53(198.41.0.4)


    墙内的问询时间才 10ms ,这个应该在一个城市吧???
    23 replies    2021-12-06 15:52:19 +08:00
    pacificfish
        1
    pacificfish  
       Dec 3, 2021 via Android
    海外 dns 只有 doh,tls 才不会被污染,明文 dns 就算用火星的 dns 一样污染,你要相信这拿纳税人的钱来供养的非常欠打的防火墙的实力
    jousca
        2
    jousca  
       Dec 3, 2021
    @pacificfish 这叫“数据跨境安全网关”
    jousca
        3
    jousca  
       Dec 3, 2021
    只有使用 DOH 这样的才能防污染。但是也没用,FACEBOOK 是 DNS 污染+IP 屏蔽+域名访问请求拦截……
    kyor0
        4
    kyor0  
       Dec 3, 2021
    国内运营商基本会劫持国外的 udp:53 的 dns ,极少数没有。

    简单的解决方法就是 tcp53 查询,或者非 53 端口的查询,当然 doh 等也是没问题的
    pcslide
        5
    pcslide  
    OP
       Dec 3, 2021
    @jousca 既然都屏蔽了,那为什么又返回一个是属于 facebook 的 ip 地址呢????
    chotow
        6
    chotow  
       Dec 3, 2021
    @pcslide #5 因为很多污染都是指向脸书的 IP ,例如:
    dig @119.29.29.29 www.google.com
    jousca
        7
    jousca  
       Dec 4, 2021
    @pcslide 返回一个在防火墙上已经封锁的已知 IP 。比返回一个不在墙上的其他 CDN 地址靠谱吧。哈哈,从封锁目的来说。
    learningman
        8
    learningman  
       Dec 4, 2021 via Android
    @pcslide 关键词:路由扩散
    TomChaai
        9
    TomChaai  
       Dec 4, 2021
    @pcslide DNS 服务器一般是不屏蔽的,谷歌 DNS 都可达。
    DNS 封锁的方法是侦听你发出去的请求,正常请求不管,发现被封的网站直接伪造个答复抢在前面发回来。返回 TWFB 的地址属于我们的经典操作。
    TWFB 的 IP 是几乎整个 AS 级别都不可达的,所以被用来当作干扰答案。
    LGA1150
        10
    LGA1150  
       Dec 4, 2021 via Android
    发一个利用特征过滤掉 DNS 抢答包的 bpf 规则,仅匹配 Google DNS 8.8.8.8/8.8.4.4:
    iptables -t raw -I PREROUTING -i ( WAN 口名称) -m bpf --bytecode "13,32 0 0 12,21 1 0 1121718826,21 0 9 755778626,48 0 0 9,21 0 7 41,48 0 0 8,53 5 0 240,48 0 0 26,21 0 3 17,40 0 0 60,21 0 1 53,6 0 0 262144,6 0 0 0" -j DROP
    LGA1150
        11
    LGA1150  
       Dec 4, 2021 via Android
    发错了,应该是这个
    iptables -t raw -I PREROUTING -i WAN 口名称 -m bpf --bytecode "17,32 0 0 12,21 1 0 134744072,21 0 13 134743044,48 0 0 9,21 0 11 17,48 0 0 6,21 8 0 64,48 0 0 8,53 0 6 100,40 0 0 6,69 5 0 8191,177 0 0 0,80 0 0 10,84 0 0 4,21 0 1 4,6 0 0 262144,6 0 0 0" -j DROP
    pcslide
        12
    pcslide  
    OP
       Dec 4, 2021
    @LGA1150 发现墙内连 8.8.8.8 似乎是幻觉,你把抢答的包毙了,你很大可能就解析不出地址。我试了用 dns over tls 和 dns over https 都连不上 google cloudflare opendns 的 dns 服务
    LGA1150
        13
    LGA1150  
       Dec 4, 2021 via Android
    @pcslide TCP 的端口墙了,UDP 53 并没有
    jmk92
        14
    jmk92  
       Dec 4, 2021
    何止 udp53 ,tcp53 一样劫持,反正不用 53 端口就是了,DoT/DoH 选一个
    Leeds
        15
    Leeds  
       Dec 4, 2021 via Android
    海外裸连 53 端口 dns 就是这样,你可以康康我的 160.16.123.42 怎么样
    pcslide
        16
    pcslide  
    OP
       Dec 4, 2021
    @LGA1150 8.8.8.8 和其他常用的 dns 服务器无法建立有效的 https 和 tls 是连接,不管是 udp 还是 tcp 都没用,可能以前觉得好用,是被快速抢答的错觉。。。
    jmk92
        17
    jmk92  
       Dec 4, 2021
    @pcslide 常用是指的哪些,海外 cloudflare 、google ,还是国内阿里腾讯 114 之类的?
    wwbfred
        18
    wwbfred  
       Dec 4, 2021
    @LGA1150 这是什么特征?我现在是扫抢答 IP 加到 iptables 里过滤,准确性不错,但一个一个检查总觉得很傻逼……
    Overfill3641
        19
    Overfill3641  
       Dec 5, 2021
    @pcslide #16 恭喜你发现真相了。我这谷歌 TLS 可以,延迟也低(不知道运营商抽的什么风)。如果你用公共网络,很大概率你改的任何 DNS 都是无效的,这种美名其曰叫 DNS 代理、DNS 缓存加速。
    cwek
        20
    cwek  
       Dec 5, 2021
    劫持本身基础操作吧,再加上根域名服务器是任播的,国内有镜像,全部给你路由到国内镜像都可以,而且也不是没试过将国外请求路由到国内镜像然后出包了。
    cwek
        21
    cwek  
       Dec 5, 2021
    抢答的话,估计是返回的包 TTL 大得离谱,成为一种识别特征吧
    2i2Re2PLMaDnghL
        22
    2i2Re2PLMaDnghL  
       Dec 6, 2021
    抢答不是劫持

    连 8.8.8.8 只有触发过滤才是幻觉,可以看响应包。连得快是因为 Google 优化好,出了门就是。
    而且 dig +tcp 最明显,触发过滤就被 RST ,原因是技术手段是旁听人不是中间人( TCP 有状态,中间人消耗算力爆炸)。

    过滤发生在边际,跟访问谁无关,尝试 dig www.google.com @<填入任意有路由且非 DNS 的 IP>
    再尝试 dig www.baidu.com @<上述同 IP>
    About     Help     Advertise     Blog     API     FAQ     Solana     5982 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 56ms UTC 03:02 PVG 11:02 LAX 20:02 JFK 23:02
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86