关于 SOCKS 代理的远端 DNS 解析

目录 互联网

经常使用 SOCKS 代理服务器的同志们会发现一种现象,即使 SOCKS 代理服务器设置正确,某些网站仍然无法访问,比如某著名微博网站。其一般原因都是 DNS 污染 (DNS cache poisoning)。

值得庆幸的是 SOCKS 5 可以通过将域名直接提交给 SOCKS 服务器来进行远端 DNS 解析,即 Address Type 0x03。DNS 服务是 Internet 的基础服务,要求 DNS 解析应当尽量地快,所以浏览器默认不会使用远端 DNS 解析。不过当使用自动代理设置脚本(.pac )时,以 SOCKS5 而不是 SOCKS 返回代理地址,可以支持远端 DNS 解析。

网友 forkei 的重要评论

chrome 的 Proxy Switchy 1.4.2 版本插件可以很好的解决这个问题。Firefox 的 FoxyProxy 插件也可以很好的解决 DNS 污染。支持插件扩展功能的浏览器功能就是强大。IE 内核浏览器和 opera 只有通过 polipo 或者 privoxy 将 socks 代理转为 http 代理才行,麻烦。

长按识别二维码关注《边际效应》
长按识别二维码关注《边际效应》

25 条评论

  • forkei
    2010-01-23

    chrome 的Proxy Switchy 1.4.2 版本插件可以很好的解决这个问题。

    Firefox 的FoxyProxy 插件也可以很好的解决DNS 污染。

    支持插件扩展功能的浏览器功能就是强大。

    IE 内核浏览器和opera 只有通过polipo 或者 privoxy 将socks 代理转为http 代理才行,麻烦。

    • 车可闹
      2017-11-26

      请问具体怎么做呢?chrome的proxyswitch该怎么设置才能远程解析?我抓包看过依然用本地的解析。

      • Solrex
        2017-11-30

        最新的应该是 SwitchOmega 吧,应该自动就 OK 了。

  • reus
    2010-01-23

    firefox的foxyproxy支持socks解释dns

  • Iron_Feet
    2010-01-23

    @forkei
    的确,前几天测试了一下,Chrome的Proxy Switchy插件只要选择了Socket 5代理就可以支持远程DNS解析了

  • Solrex Yang
    2010-01-23

    @forkei
    谢谢您提供的信息。

  • flytwokites
    2010-01-24

    ff的这个pac文件不支持remote dns真是要命!只能改hosts文件才行。

  • G.S.Alex
    2010-01-24

    firefox 还要pac干嘛, 直接上 autoproxy 阿.

  • abcx
    2010-01-24

    about:config
    把network.proxy.socks_remote_dns设为true.

  • Tweets that mention 关于 SOCKS 代理的远端 DNS 解析 | Solrex Shuffling -- Topsy.com
    2010-01-25

    [...] This post was mentioned on Twitter by 兽兽, Yousri, Wenbo Yang, Chris Chung, Jia Guoming and others. Jia Guoming said: 用SOCKSCAP32可以设置远程DNS解析的。。RT @Showfom: RT @webchina: 关于 SOCKS 代理的远端 DNS 解析 http://url4.eu/1D03s [...]

  • Yousri
    2010-01-25

    forkei :
    chrome 的Proxy Switchy 1.4.2 版本插件可以很好的解决这个问题。
    Firefox 的FoxyProxy 插件也可以很好的解决DNS 污染。
    支持插件扩展功能的浏览器功能就是强大。
    IE 内核浏览器和opera 只有通过polipo 或者 privoxy 将socks 代理转为http 代理才行,麻烦。

    在Chrome浏览器下使用了proxy switchy扩展设置还是唯独访问不了Twitter,其他的YouTube、facebook等等其他墙外都正常啊,想请教下关于switchy有没有哪里特殊的设置呢? 以下是自己的配置信息
    Proxy Profiles ProfilesName:Yousri
    Manual Configuration
    SOCKS Host 127.0.0.1 Port 7070 SOCKS v5
    Switch Rules
    Enable Switch Rules
    RuleName URL Pattern PatternType ProxyProfile
    Twitter *://twitter.com/* Wildcard Yousri
    Other (twitter|facebook|bullogger) RegExp Yousri

    可是终究还是无法实现,不知道有么有联系方式可以请教下呢?

  • Solrex Yang
    2010-01-25

    @Yousri
    也许不能使用 Rules,至少从我这来看是这样...我发现 Chrome 其实也是用的 .pac 脚本,但是 Chrome 的 .pac 脚本使用的是 SOCKS5 命令而不是平常的 SOCKS 命令。

  • Yousri
    2010-01-26

    @Solrex Yang
    Orz 一样无法实现,确实太奇怪了

  • Yousri
    2010-01-28

    更换使用了最新的dev版本终于正常了,看来原先使用的最新的beta版不靠谱啊 可能chrome dns问题在beta版还是未修正

  • hoopeni
    2010-02-03

    @forkei
    兄弟,chrome tor 怎么样能像firefox那样好用?请邮件我,hoopeni#gmail.com

  • lakowang
    2010-02-24

    用Proxy Switchy比较方便,不用,直接设置pac文件,chrome也是支持socks5的@forkei

  • caesar
    2010-03-03

    值得庆幸的是 SOCKS 5 协议增加了对 UDP 数据包的支持,DNS 查询是通过 UDP 传输的,所以我们可以使 DNS 查询数据包也走 SOCKS 5 代理来进行远端 DNS 解析(Remote DNS Lookup)。

    firefox的network.proxy.socks_remote_dns是把域名传递给socks5服务器,让socks5服务器去解析。上面所说的,让DNS查询数据包(UDP数据)通过socks5协议去传输,我还没见过相关应用,有这么用的吗

  • caesar
    2010-03-03

    值得庆幸的是 SOCKS 5 协议增加了对 UDP 数据包的支持,DNS 查询是通过 UDP 传输的,所以我们可以使 DNS 查询数据包也走 SOCKS 5 代理来进行远端 DNS 解析(Remote DNS Lookup)。

    firefox的network.proxy.socks_remote_dns是将域名传递给socks5服务器区解析。而上面所提到的通过socks5对udp数据包的支持,把dns查询数据也通过socks5协议传输,有这样的应用吗

  • Solrex Yang
    2010-03-03

    @caesar
    多谢指教!您是对的,是我理解错误。

  • VPN如何解决DNS污染及免费VPN帐号如何方法的意见征集 | 牧师@newsinchina的独立博客
    2010-04-01

    [...] 关于 SOCKS 代理的远端 DNS 解析 –   http://blog.solrex.org/articles/remote-dns-lookup.html pydnsproxy – Project Hosting on Google Code – http://code.google.com/p/pydnsproxy/ [...]

  • 远程解析DNS躲避DNS污染 | A Wing by Wind
    2011-03-05

    [...] 关于如何使用远程DNS解析,月光博客提到了firefox的启动参数。至于我所喜爱的chrome,网上的讨论也很多。具体的方法就是使用sock代理和switchy扩展的自动模式(auto switch mode)。当然,正如sjw同学提到的,使用vpn的同学直接使用墙外dns就可以了,有些客户端似乎是默认使用本地dns,可能是需要配置一下的。因为我不用vpn所以不是很了解。 我找到的比较好的参考是这篇chrome 扩展: Proxy Switchy!之图解使用方法和这篇在 Chrome + Switchy 下使用 AutoProxy gfwList PAC。而这一篇关于 SOCKS 代理的远端 DNS 解析的讨论则可让我们把一些原理搞得更清楚。 [...]

  • 新民智
    2011-04-04

    Socks V5 !

  • 远程解析DNS躲避DNS污染 « 细节的力量
    2011-05-18

    [...] PAC这篇正是来自autoproxy的博,下面回复讨论很多,很值得看。而这一篇关于 SOCKS 代理的远端 DNS 解析的讨论则可让我们把一些原理搞得更清楚。   Leave a [...]

  • FradSer
    2011-08-25

    Chrome下还是无法解决远程DNS解析的问题,即使使用了Proxy Switchy也是,Firefox可以翻的地方Chrome却无法翻……是不是必须1.4.2版本?

  • wwek
    2012-12-07

    用 socks5的全局代理软件Proxifier 设置远端解析dns

发表评论

电子邮件地址不会被公开。 必填项已用*标注