Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

【个人分析】这个项目的工作原理 #11

Open
GoogleCodeExporter opened this issue Mar 15, 2015 · 6 comments
Open

【个人分析】这个项目的工作原理 #11

GoogleCodeExporter opened this issue Mar 15, 2015 · 6 comments

Comments

@GoogleCodeExporter
Copy link

目前DNS协议是基于UDP的不可靠无连接传输,入侵者无法截获��
�一个DNS的response包,原因可能是计算量太大了,所以采用了��
�种污染的方式,抢先在真正的DNS 
response包返回之前先伪造一个response发送给请求者,而请求者�
��收到这个包之后以为就是真的结果了(因为无连接,先到原
则),就忽略掉之后的response了。DNSProxy这个软件的做法很简�
��,先缓存第一个收到的response,如果在一段时间内又收到了�
��外一个response,那就丢弃之前那个,如果没有收到,那说明�
��个response是真的,直接返回给请求的应用程序,这样就可以�
��滤出真假response了,参见SVN上的Python源码

Original issue reported on code.google.com by dittohu...@gmail.com on 28 Jul 2010 at 2:28

@GoogleCodeExporter
Copy link
Author

见dns.py中这一段代码:
        try:
            rspdata = sock.recv(65535)
        except Exception, e:
            print e, 'ignored.'
            return 1
        # "delicious food" for GFW:
        while 1:
            sock.settimeout(DEF_TIMEOUT)
            try:
                rspdata = sock.recv(65535)
            except timeout:
                break
是的,就是在收到第一个回复后,取DEF_TIMEOUT时间内继续收到
的最后一个回复作为真正的DNS :)

Original comment by everwa...@gmail.com on 3 Aug 2010 at 2:09

@GoogleCodeExporter
Copy link
Author

如果GFW连续多次发回结果,导致第一个结果和最后一个结果��
�是污染后的呢

Original comment by snail...@gmail.com on 10 Jan 2011 at 4:27

@GoogleCodeExporter
Copy link
Author

@ snail...@gmail.com
那就先把GFW的IP地址给屏蔽了.

Original comment by liuxingm...@gmail.com on 24 Jan 2011 at 5:55

@GoogleCodeExporter
Copy link
Author

GFW不敢随便乱给IP的,否则就混乱了,所以它的伪IP池有限,�
��个过滤列表就好了

Original comment by dittohu...@gmail.com on 24 Jan 2011 at 6:00

@GoogleCodeExporter
Copy link
Author

现在已经乱给IP了。

Original comment by shell909...@gmail.com on 30 May 2011 at 4:00

@GoogleCodeExporter
Copy link
Author

用tcp_dns吧,很好用,不过需要自己安装python

Original comment by dittohu...@gmail.com on 30 May 2011 at 4:04

Attachments:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant