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

有没有什么办法可以检测宽带是否劫持了 DNS?

  •  1
     
  •   cevincheung · 2015-10-23 20:01:38 +08:00 · 10828 次点击
    这是一个创建于 3114 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我说的是彻底劫持 53 端口

    在路由器上修改了 DNS ,重启,电脑也修改了 DNS 重启。

    访问了一下网易和 DNSPOD 的 DNS 检测,都说我当前的 DNS 并不是我设置的 DNS 地址。

    检测网址如下:
    http://nstool.netease.com/
    http://ip.dnspod.cn/

    问题:
    1.这种在线检测的结果正确吗?
    2.如果检测结果正确,那么是否可以确定 ISP 的确劫持了 53 端口?

    额外的小问题,这种 dns 检测的原理是什么?我也想做一个…… :)

    第 1 条附言  ·  2015-10-23 20:44:58 +08:00

    我只想说 “ What The Fuck!”

    第 2 条附言  ·  2015-10-23 23:04:23 +08:00

    给一个临时的解决方案,谁有其他的解决方案的可以提出。

    http://utekno.com/cara-menggunakan-dnscrypt-windows-11451

    21 条回复    2015-10-29 21:53:37 +08:00
    tntsec
        1
    tntsec  
       2015-10-23 20:11:15 +08:00
    这个不是检测本地 DNS ,而是根据你的 IP 跟你推荐最快的 DNS
    tntsec
        2
    tntsec  
       2015-10-23 20:11:56 +08:00
    现在的宽带都搞 http 劫持,不管你用什么 DNS ,直接给你返回的 http 里插东西,跟墙差不多了
    cevincheung
        3
    cevincheung  
    OP
       2015-10-23 20:22:43 +08:00
    @tntsec

    dnspod 描述是“您当前使用的 dns : XXXXXX ”这个准确吗?

    http 劫持已经无感了。就想知道我现在是不是被劫持了 53 端口。
    gamexg
        4
    gamexg  
       2015-10-23 20:24:07 +08:00   ❤️ 1
    到 DNSPOD 为不存在的域名添加一个解析,然后 dig 域名 @dnpod.ns 地址 测试一下就知道了。
    未被劫持的能解析出来你配置的地址,否则可能返回空,也可能返回域名纠错服务的 ip 。
    cevincheung
        5
    cevincheung  
    OP
       2015-10-23 20:29:24 +08:00
    @gamexg

    好吧。这就去试试。

    kali 运行起~~
    MSDOS
        6
    MSDOS  
       2015-10-23 20:36:17 +08:00   ❤️ 1
    很简单:
    nslookup www.v2ex.com. 2.2.2.2

    如果这样都能返回 ip 地址,那铁定是完全劫持了。

    不过刚才测了一下中国移动的,貌似并不是完全劫持,查询广州和上海电信的 dns ,能返回当地最优的 ip 地址。而将 2.2.2.2 这样并没有 dns 服务的地址当服务器查询,无法返回 ip ,但 8.8.8.8 是肯定被劫持了的。
    cevincheung
        7
    cevincheung  
    OP
       2015-10-23 20:42:44 +08:00
    @MSDOS 已试过,我只想说呵呵。截图已 Append
    anubu
        8
    anubu  
       2015-10-23 21:08:48 +08:00
    那么有什么常用的防劫持方案呢?
    xfspace
        9
    xfspace  
       2015-10-23 21:09:44 +08:00
    @anubu 用非 53 端口
    linhua
        10
    linhua  
       2015-10-23 21:32:05 +08:00
    @cevincheung
    检测结果不准确
    您的 DNS 地址信息: 60.215.138.167 xxxxxx 联通
    您的 DNS 设置正确

    但设置的并不是这个 DNS 地址,而且这个地址不能用。用的 linux 系统
    CinderellaCiCi
        11
    CinderellaCiCi  
       2015-10-23 21:33:12 +08:00 via Android
    linhua
        12
    linhua  
       2015-10-23 21:39:42 +08:00
    @CinderellaCiCi
    一样不对
    您的 DNS :
    60.215.138.163
    网通_山东省_莱芜市

    您的 DNS 配置正确!
    wkdhf233
        13
    wkdhf233  
       2015-10-23 22:00:01 +08:00   ❤️ 1
    命令行输入 nslookup whether.114dns.com 114.114.114.114 ,如果返回的结果有 127.0.0.X ,说明您的 ISP 劫持了 114DNS ,导致您无法使用 114DNS 的服务

    在线检测原理是自建 NS ,你访问页面的时候需要加载一个随机生成的子域名,这时候你的 DNS 为了解析这个子域名必须去请求它的 NS 服务器,找到试图解析这个子域名的 DNS 请求来自于哪个 IP ,就知道你的实际 DNS (包括被劫持之后)是什么了
    relaxgo
        14
    relaxgo  
       2015-10-24 08:52:52 +08:00 via Android
    dnscrypt-proxy + unbound
    lanlanlan
        15
    lanlanlan  
       2015-10-24 22:23:59 +08:00
    针对 udp53 直接投毒的 只能走非 53 端口 或者用 tcp 方式进行 DNS 查询
    cevincheung
        16
    cevincheung  
    OP
       2015-10-25 00:33:50 +08:00
    @lanlanlan windows 不能修改 DNS 查询走 TCP ,只能改 DLL 。。。所以还是在本机或路由器上装软件。
    lanlanlan
        17
    lanlanlan  
       2015-10-25 12:15:35 +08:00
    @cevincheung 装吧 也是没办法的事情。 这种宽带能换就换了吧
    TaMud
        18
    TaMud  
       2015-10-25 14:17:14 +08:00
    @一个不存在的 dns ip 地址,如果有数据正确返回,。。。。。
    johnjiang85
        19
    johnjiang85  
       2015-10-26 12:13:28 +08:00
    ip.dnspod.cn 这个 DNSPod 的在线监测,是检测的出口 IP 地址以及 DNS 的后端出口 IP 地址,并不是检测的 DNS 的入口地址。
    原理很简单,就是设置多个子域名, ns 指向一个抓包服务器,在网页上检测的时候会对这些子域名进行解析,抓包服务器就抓到了 dns 的后端出口 IP 地址。
    GNiux
        20
    GNiux  
       2015-10-26 20:32:38 +08:00
    GNiux
        21
    GNiux  
       2015-10-29 21:53:37 +08:00 via iPhone
    @gamexg
    @wkdhf233
    @MSDOS

    想继续探究、学习之,我这某动(SZ)宽带:

    - dig 域名 @一个不存在的 IP 地址:
    无法解析

    - 但, dig 域名 @一个常见、主流公共 DNS server :
    可以解析正确的网站 IP ,且显示这个主流公共 DNS server

    - dig whether.114dns.com @any ip ,返回:
    127.0.0.1

    ——所以,真的劫持了我自订 DNS 了吗?还是部分劫持了?

    用第二种方法时,返回了我输入的公共 DNS 啊,连 8.8.8.8 也是啊………是否是当劫持时也是这么显示的呢?

    谢谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2220 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 02:47 · PVG 10:47 · LAX 19:47 · JFK 22:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.