爱意满满的作品展示区。
hedaode

好吧,我也分享一个特殊的私人 DNS

  •  
  •   hedaode · Feb 17, 2014 · 20239 views
    This topic created in 4646 days ago, the information mentioned may be changed or developed.
    iPhone/iPad将DNS设置成42.121.3.227即可用https模式访问twitter和facebook,支持app客户端。

    另外该DNS实现了edns-client-subnet协议,加上国内大部分权威DNS服务器(如dnspod)也实现了该协议,所以完全不用担心解析出来的IP不是离你最近的节点而影响速度。

    说下原理吧:之所以特殊,是因为该DNS对部分域名做了DNS拦截,将IP解析到一个特殊的代理服务器。该代理服务器监听了443端口,分析SSL握手包,取出客户端访问的主机名(如:facebook.com),然后和目标主机建立连接,进行数据转发,从而正常通行。

    当然,如果该代理服务器在80端口做反向代理,那能代理的网站就多了,可惜国内大部分机房都有白名单,所以有些想法无法实现。
    Supplement 1  ·  Dec 31, 2014
    现在已取消了特殊代理,只提供无污染解析服务。
    27 replies  •  2017-03-04 16:14:30 +08:00
    pfitseng
    pfitseng
    Feb 17, 2014 via Android❤️1
    1
    就是所有的ssl 都会被转发了?
    Chentao1006
    Chentao1006
    Feb 17, 2014
    2
    先口头谢谢,用段时间试试
    regent
    regent
    Feb 17, 2014 via iPhone
    3
    测试看看
    orzfly
    orzfly
    Feb 17, 2014
    4
    这需要客户端启用 SNI 支持才行吧。
    hedaode
    hedaode
    OP
    Feb 17, 2014
    5
    @pfitseng 仅仅转发被污染域名的数据。
    @orzfly 是的。就是根据SNI来转发的。以前抓包发现有这么个东西,但没深入研究,现在才知道专有名词叫SNI,感谢。
    sarices
    sarices
    Feb 17, 2014
    6
    facebook也可以?facebook走spdy啊
    hedaode
    hedaode
    OP
    Feb 17, 2014
    7
    @sarices fb可以的。spdy也是在ssl之上。这个代理服务器是透明转发,不关心数据内容。
    Coda
    Coda
    Feb 18, 2014
    8
    亲测可用, 用用看, 谢谢~
    missdeer
    missdeer
    Feb 18, 2014
    9
    我想问的是自己搭的DNS怎么实现edns-client-subnet协议支持
    hedaode
    hedaode
    OP
    Feb 18, 2014❤️1
    10
    @missdeer 要自己实现edns-client-subnet也不难。

    如果你不想看相关文档,也不想大改代码,那么可以通过篡改DNS包(dnsPacket)的方式简单实现edns-client-subnet协议:

    1.先篡改DNS Hedader,将Additional RRs改为1:
    dnsPacket[10]=0x00;
    dnsPacket[11]=0x01;

    2.然后在dnsPacket后面追加下面的22字节Additional records数据(16进制表示):
    000029020000000000000b00080007000118007f0000
    注:主要关注最后3个字节,它取的是客户端IP地址的前3个字节。

    3.将上面22字节中最后3个字节改成客户端IP的前3个字节,示例如下:
    dnsPacket[size-3]=192;
    dnsPacket[size-2]=168;
    dnsPacket[size-1]=1;

    另外关于如何拦截,可以写个简单的DNS代理程序即可实现。
    zhen14
    zhen14
    Feb 19, 2014
    11
    只能在wifi环境下用么?
    cassiuschen
    cassiuschen
    Feb 20, 2014 via iPhone
    12
    现在已经失效了?地址42.*的这个地址ping不通啊…
    tabrisux
    tabrisux
    Feb 21, 2014
    13
    可以用,多谢分享
    tabrisux
    tabrisux
    Feb 21, 2014
    14
    有个问题就是,图片刷不出来
    v2ro88
    v2ro88
    Feb 26, 2014
    15
    测试可用,很快
    iscuen
    iscuen
    Mar 3, 2014 via iPhone
    16
    @tabrisux 和你一样的疑问,图片不能刷出来
    streamgo
    streamgo
    May 7, 2014
    17
    非常好用!我这里图片什么的倒是大体正常。
    songrui2008
    songrui2008
    Nov 16, 2014
    18
    facebook挂了 貌似是ssl错误,建议lz将facebook改成dns解析,不走特殊代理,twitter正常
    hedaode
    hedaode
    OP
    Nov 17, 2014
    19
    @2008songrui 现在已取消了特殊代理,只提供无污染解析服务。
    yuhaaitao
    yuhaaitao
    Jan 4, 2015
    20
    监听端口是多少?
    yuhaaitao
    yuhaaitao
    Jan 4, 2015
    21
    服务器端口是多少?
    songrui2008
    songrui2008
    Jan 12, 2015
    22
    国外网站仅限ipv6访问?
    songrui2008
    songrui2008
    Jan 14, 2015
    23
    实测在教育网(应该是ipv6的缘故)使用这个dns可以十分流畅的看youtube,fb也可以 tw貌似不行
    hedaode
    hedaode
    OP
    Jan 17, 2015
    24
    @yuhaaitao 标准的udp 53端口。
    hedaode
    hedaode
    OP
    Jan 17, 2015
    25
    @2008songrui 那应该是解析的IP还没被GFW封锁,所以可用HTTPS加密访问。
    szpliman
    szpliman
    Dec 8, 2015
    26
    谢谢,非常好用,希望一直 online 哦~!
    yanggis
    yanggis
    Mar 4, 2017
    27
    @hedaode 最近很少见你网上活动啊,忙什么呢?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   791 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 86ms · UTC 18:58 · PVG 02:58 · LAX 10:58 · JFK 13:58
    ♥ Do have faith in what you're doing.