V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
p64381
V2EX  ›  DNS

一般运营商的 dns 劫持也是抢答么

  •  
  •   p64381 · 2018-02-11 08:46:55 +08:00 via Android · 10797 次点击
    这是一个创建于 2479 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在自己指定其他公共 dns 的情况下
    32 条回复    2018-11-10 21:59:12 +08:00
    yingfengi
        1
    yingfengi  
       2018-02-11 08:54:26 +08:00 via Android
    没记错的话,DNS 应该是 udp53 ?
    劫持目的地址 udp53,指向自己搭的
    fangdingjun
        2
    fangdingjun  
       2018-02-11 08:54:44 +08:00
    路由劫持
    crazytroll
        3
    crazytroll  
       2018-02-11 09:16:32 +08:00 via iPhone
    DNS 协议就是这样的 以最先回答的为准
    leavic
        4
    leavic  
       2018-02-11 09:18:48 +08:00
    udp 无连接可以劫持,本质就是抢答。
    WuwuGin
        5
    WuwuGin  
       2018-02-11 09:19:58 +08:00 via Android
    而且没记错的话 DNS 也是随机应答的,正常情况下不会总是一台服务器应答。
    p64381
        6
    p64381  
    OP
       2018-02-11 09:31:08 +08:00 via Android
    @fangdingjun 这样的话 udp dst 53 的包就出不去了吧
    mt7620
        7
    mt7620  
       2018-02-11 09:34:34 +08:00
    直接把所有发到 UDP 53 的包转发到自己的 DNS 服务器就好了,不用抢答这么麻烦。
    iPhone8
        8
    iPhone8  
       2018-02-11 09:43:19 +08:00
    感觉楼上计算机网络都学的特别好
    zjcqoo
        9
    zjcqoo  
       2018-02-11 09:44:44 +08:00
    写个工具验证下就好了。注册个域名 ns 到自己服务器上,看看返回的结果后自己服务器上有没有日志。
    mengdisheng
        10
    mengdisheng  
       2018-02-11 09:54:39 +08:00
    问个问题 是不是用 https2.0 的话运营商很难劫持?
    q397064399
        11
    q397064399  
       2018-02-11 09:55:41 +08:00
    @iPhone8 #8
    劫持的话 ,其实看原理吧, 公网只谈 IP 协议,NAT 的话 一般是 UDP 发出去,然后 只有对应的 IP 的 53 端口才能响应数据回来,简单的来讲是 本地 ip udp 3123 -> 远程 ip udp 53 ,远端 ip 只能 53 端口 往回发到本地的 3123, 远端换个 ip 或者换个端口 这个 NAT 就根本通不过
    q397064399
        12
    q397064399  
       2018-02-11 09:57:01 +08:00
    @iPhone8 #8 所以总结的话 ,应该就是直接劫持了 IP 报文,然后伪造了一个 IP 报文
    misaka19000
        13
    misaka19000  
       2018-02-11 10:29:38 +08:00 via Android
    @mengdisheng https 还有 2.0 ?涨姿势了
    mengdisheng
        14
    mengdisheng  
       2018-02-11 10:32:44 +08:00
    @misaka19000 写错了。。http2 好像防劫持跟 http2 没什么关系
    jmhjhjhj
        15
    jmhjhjhj  
       2018-02-11 10:33:35 +08:00 via Android
    用 dnssec 岂不美哉
    goofool
        16
    goofool  
       2018-02-11 10:42:20 +08:00
    把 dns 请求重定向到自己的服务器上就行了
    q397064399
        17
    q397064399  
       2018-02-11 12:34:33 +08:00
    @goofool #16 IP 报文 过不了 NAT,不光重定向,IP 报文的源地址 也要修改
    q397064399
        18
    q397064399  
       2018-02-11 12:36:43 +08:00
    goofool
        19
    goofool  
       2018-02-11 14:01:15 +08:00   ❤️ 1
    @q397064399 一般家用路由器都是 full cone,哪有过不去的
    ytjfmv
        20
    ytjfmv  
       2018-02-11 14:09:55 +08:00
    @mt7620 我这的网络不劫持, 想知道劫持的地方的网络是什么情况
    q397064399
        21
    q397064399  
       2018-02-11 14:10:28 +08:00
    @goofool #19 那不是路由器管理权限 也能监听 公网的 udp 端口了?
    ytjfmv
        22
    ytjfmv  
       2018-02-11 14:11:24 +08:00
    @mt7620 楼主似乎想用 udp 53 通信, 有些地方确实不通
    ytjfmv
        23
    ytjfmv  
       2018-02-11 14:15:40 +08:00
    @goofool 不管通过抢答还是伪造路由,做戏肯定做全套啊,除了 ttl 和响应时间间隔不屑于 /不能伪造,其它的和真的一样,才不管你什么类型 nat 呢
    q397064399
        24
    q397064399  
       2018-02-11 14:16:00 +08:00
    @goofool #19 好吧,确实是我孤陋寡闻了,对 NAT 的模式 没了解清楚
    shiina
        25
    shiina  
       2018-02-11 14:25:02 +08:00
    @ytjfmv 青岛移动 dns 解析 nslookup www.youtube.com 8.8.8.8 永远是 127.0.0.1
    @q397064399 赞同老哥的说法, 伪造了 IP 报文
    我自己本地起了一个走 http 的 dns 解析服务, 凑活能上网了, 辣鸡移动 [doge]
    mt7620
        26
    mt7620  
       2018-02-11 14:27:59 +08:00
    我是这么劫持内网 DNS 请求的,下面 2 条规则应用到主路由上面,不然 chromecast 这种不走默认 DNS 的设备,会被污染。

    iptables -t nat -I PREROUTING -i br0 -p udp -d 8.8.4.4 --dport 53 -j REDIRECT --to-ports 53
    iptables -t nat -I PREROUTING -i br0 -p udp -d 8.8.8.8 --dport 53 -j REDIRECT --to-ports 53
    p64381
        27
    p64381  
    OP
       2018-02-11 14:52:37 +08:00
    @shiina 我比较关心的是 除了常见的 dns 被劫持, 其它的 udp dst port 53 的数据能发出去么

    @mt7620 那些运营商是劫持常见 dns 的 ip 呢还是所有符合 udp 53 的包都劫持呢
    mt7620
        28
    mt7620  
       2018-02-11 15:49:56 +08:00
    @p64381
    只劫持特定 ip,还是 udp 53 都劫持,这个要看 isp 良心了吧?
    shiina
        29
    shiina  
       2018-02-11 18:50:14 +08:00   ❤️ 1
    @p64381 我这边其他的可以发出去, 只有部分国外网站劫持
    flyingheart
        30
    flyingheart  
       2018-02-11 18:55:11 +08:00
    @q397064399 大多数情况下运营商和路由器的 nat 都是不判断源 IP 的,不然可能会对某些 p2p 游戏造成一些困扰
    你说的这种叫 Symmetric NAPT,现实中用的很少
    q397064399
        31
    q397064399  
       2018-02-11 23:16:00 +08:00
    @flyingheart #30 好吧,很尴尬.. 确实孤陋寡闻了
    dnsstudio
        32
    dnsstudio  
       2018-11-10 21:59:12 +08:00 via Android
    呵呵,那是缓存劫持。我以前就是 DNS 及 teamviewer 吧主
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3618 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 11:08 · PVG 19:08 · LAX 03:08 · JFK 06:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.