V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
scarecrow
V2EX  ›  程序员

获取 GFW DNS 域名污染的真实 IP 的小工具(可返回 twitter,facebook 的真实 IP)

  •  
  •   scarecrow ·
    examplecode · 2014-06-20 17:39:52 +08:00 · 3782 次点击
    这是一个创建于 3838 天前的主题,其中的信息可能已经有所发展或是发生改变。
    一个小工具,提供C语言,JAVA两种语言版本实现,对编写想绕过GFW DNS污染的程序的同学也许有用。

    源码地址 : https://github.com/examplecode/gfw_dns_resolver
    13 条回复    2014-06-21 15:27:57 +08:00
    fkbd
        1
    fkbd  
       2014-06-20 17:52:36 +08:00
    获取IP后 怎么用呢?
    zjgood
        2
    zjgood  
       2014-06-20 18:25:37 +08:00 via Android
    opendns:5353不就可以了嘛~~
    shyrock
        3
    shyrock  
       2014-06-20 18:30:34 +08:00
    c版本找不到<sys/socket.h><arpa/inet.h><netinet/in.h><netdb.h>。。。windows下面。。。这个程序只能在linux跑?
    est
        4
    est  
       2014-06-20 18:31:05 +08:00
    windows下直接>nslookup -vc 就可以了。mac/linux不用说办法太多了。
    shyrock
        5
    shyrock  
       2014-06-20 18:37:18 +08:00
    java版本执行是这个效果:
    d:\Source Code\java>java GFWDnsResolver www.youtube.com
    =============== dns query request package dump: ================
    C77E010000010000000000000377777707796F757475626503636F6D0000010001
    wdlth
        6
    wdlth  
       2014-06-20 18:37:21 +08:00
    用IPv6解析,没啥问题。
    shyrock
        7
    shyrock  
       2014-06-20 18:39:51 +08:00
    @est
    d:\Source Code\java>nslookup -vc www.facebook.com
    服务器: UnKnown
    Address: 10.0.0.1

    非权威应答:
    名称: www.facebook.com
    Address: 59.24.3.173


    d:\Source Code\java>ping www.facebook.com

    正在 Ping www.facebook.com [59.24.3.173] 具有 32 字节的数据:
    请求超时。
    请求超时。
    请求超时。
    请求超时。

    59.24.3.173 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 0,丢失 = 4 (100% 丢失),
    scarecrow
        8
    scarecrow  
    OP
       2014-06-20 19:12:23 +08:00
    @shyrock 不好意思忘了说明,c 代码只能用在 unix like 的系统, linux ,mac都没有问题。
    scarecrow
        9
    scarecrow  
    OP
       2014-06-20 19:14:56 +08:00
    @shyrock java 版本你自己编译下, 二进制版本有输出调试信息
    est
        10
    est  
       2014-06-20 21:12:43 +08:00
    @shyrock 有2点:

    1. GFW 是怎么拦截DNS协议
    2. DNS如何递归解析


    C:\Users\est>nslookup www.facebook.com 8.8.8.8
    服务器: google-public-dns-a.google.com
    Address: 8.8.8.8

    非权威应答:
    名称: www.facebook.com
    Addresses: 59.24.3.173
    37.61.54.158


    C:\Users\est>nslookup -vc www.facebook.com 8.8.8.8
    服务器: google-public-dns-a.google.com
    Address: 8.8.8.8

    非权威应答:
    名称: star.c10r.facebook.com
    Addresses: 2a03:2880:f00c:900:face:b00c:0:1
    31.13.70.1
    Aliases: www.facebook.com
    jacy
        11
    jacy  
       2014-06-20 23:11:44 +08:00
    @shyrock 加vc参数后要用国外的dns,你用国内默认的照样污染
    freeswift
        12
    freeswift  
       2014-06-21 13:01:50 +08:00
    @fkbd 举个栗子,如果我现在想做一个手机应用,需要一个后台,但是这时候我又不想花钱买服务器,考虑用Gooogle GAE服务,GAE是很好,但是被GWF通过DNS污染屏蔽了。那么这个时候我们就可以通过类似的代码绕过DNS污染。
    yjfuk
        13
    yjfuk  
       2014-06-21 15:27:57 +08:00
    @est mac/linux 下通过dnscrypt?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3664 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 04:32 · PVG 12:32 · LAX 20:32 · JFK 23:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.