【个人分析】这个项目的工作原理
Opened this issue · 6 comments
GoogleCodeExporter commented
目前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 commented
见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 commented
如果GFW连续多次发回结果,导致第一个结果和最后一个结果��
�是污染后的呢
Original comment by snail...@gmail.com
on 10 Jan 2011 at 4:27
GoogleCodeExporter commented
@ snail...@gmail.com
那就先把GFW的IP地址给屏蔽了.
Original comment by liuxingm...@gmail.com
on 24 Jan 2011 at 5:55
GoogleCodeExporter commented
GFW不敢随便乱给IP的,否则就混乱了,所以它的伪IP池有限,�
��个过滤列表就好了
Original comment by dittohu...@gmail.com
on 24 Jan 2011 at 6:00
GoogleCodeExporter commented
现在已经乱给IP了。
Original comment by shell909...@gmail.com
on 30 May 2011 at 4:00
GoogleCodeExporter commented
用tcp_dns吧,很好用,不过需要自己安装python
Original comment by dittohu...@gmail.com
on 30 May 2011 at 4:04
Attachments: