birdkyle79
V2EX  ›  DNS

为什么每次 DNS 查询的结果都不一样

  •  
  •   birdkyle79 · May 28, 2021 · 2624 views
    This topic created in 1987 days ago, the information mentioned may be changed or developed.

    小白提问,当使用 dig 命令查询已被 GFW 墙了的域名时,每次解析出来的 IP 都不一样。我将 DNS server 设置为 8.8.8.8 后,依然是如此。如果查询没有被墙的域名,那么每次的结果都是一样的。

    我知道肯定是 GFW 做了某些手脚,但是不知道具体原理,有没有明白的 v 友说一说细节,想知道。

    截屏 2021-05-28 15.00.05.png

    15 replies  •  2021-05-29 02:14:41 +08:00
    Puteulanus
    Puteulanus
    May 28, 2021❤️1
    1
    可以开 wireshark 看一下,有可能会有两个 DNS 回复,先回来的是抢答的投毒回复
    caola
    caola
    May 28, 2021❤️1
    2
    多数是被抢答了
    knightdf
    knightdf
    May 28, 2021
    3
    还有可能是 DNS 轮询
    henices
    henices
    May 28, 2021
    4
    国内最大的分布式 入侵检测系统
    tankren
    tankren
    May 28, 2021
    5
    ping 一下 8.8.8.8 看看是不是真的
    birdkyle79
    birdkyle79
    OP
    May 28, 2021
    6
    @tankren “是不是真的”指什么东西?我能够 ping 通 8.8.8.8
    ho121
    ho121
    May 28, 2021
    7
    利用 DNS 轮询做负载均衡
    AllenHua
    AllenHua
    May 28, 2021❤️1
    8
    https://www.senrokumon.com/gfw-dns-hijacking/

    dns 抢答 /劫持 dns 走 udp 协议,普通的 dns query 又是明文且不加密的,这样就很容易被蔷或者 isp 做手脚
    zongren
    zongren
    May 28, 2021
    9
    本身就有多个 ip 啊
    Greenm
    Greenm
    May 28, 2021❤️2
    10
    冷知识,你随便指定一个国外的 IP 去查询被墙的域名,不管它开没开 53 端口,甚至存不存在,也会有返回结果哦。

    如:


    $ dig google.com @111.111.11.1

    ; <<>> DiG 9.10.6 <<>> google.com @111.111.11.1
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36728
    ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

    ;; QUESTION SECTION:
    ;google.com. IN A

    ;; ANSWER SECTION:
    google.com. 60 IN A 46.82.174.69

    ;; Query time: 21 msec
    ;; SERVER: 111.111.11.1#53(111.111.11.1)
    ;; WHEN: Fri May 28 16:11:23 CST 2021
    ;; MSG SIZE rcvd: 54
    birdkyle79
    birdkyle79
    OP
    May 28, 2021
    11
    @Greenm 我刚刚试了一下,确实是这样,这是为什么呢......dig 命令中的指定 server 没有任何作用吗?
    birdkyle79
    birdkyle79
    OP
    May 28, 2021
    12
    @zongren 你的意思是有几十个 ip ?我查了几十次,每次结果都不一样,这不太可能吧
    birdkyle79
    birdkyle79
    OP
    May 28, 2021
    13
    @AllenHua 原来是抢答造成的,懂了
    Greatshu
    Greatshu
    May 28, 2021
    14
    普通 dns 请求是明文而且没有签名的,伪造不要太简单,大学时计算机网络有一个作业就是用 winpcap 实现 DNS 劫持
    LGA1150
    LGA1150
    May 29, 2021 via Android
    15
    @Greenm 可以利用这个实现反射攻击
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2916 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 11:52 · PVG 19:52 · LAX 03:52 · JFK 06:52
    ♥ Do have faith in what you're doing.