
1 awanabe 2014-06-22 09:43:22 +08:00 LZ 首先, 这个是"防止DNS污染的小工具" 的源码. |
2 JTR 2014-06-22 09:55:26 +08:00 我还以为有人找到GFW本体 看到代码了。。 |
3 EPr2hh6LADQWqRVH 2014-06-22 10:51:40 +08:00 哈哈哈 |
4 ovear 2014-06-22 10:58:38 +08:00 我跟lz说一下我的原理吧。 lz这个有点复杂,首先检测ip是不靠谱的gfw经常返回一些奇怪的ip 我的方式是向一个境外的fake dns查询某个域名,这个fake_dns本来是不会返回ip的,如果 返回的,则认为这个域名是被污染的,然后才忽略第一个包。 源码的话。。我回家找一找=。= |
5 jings 2014-06-22 12:18:44 +08:00 查找根域名服务器时就开始污染了 |
6 shoumu 2014-06-22 12:38:01 +08:00 解析出来的ip还是不能够访问啊 |
7 clowwindy 2014-06-22 13:29:47 +08:00 把楼主的原型实用化了,做了一个 DNS 转发器,启动后把 DNS 改为 127.0.0.1 即可避免 DNS 污染: https://github.com/clowwindy/ChinaDNS @ovear 光忽略第一个包不够,测试表明 GFW 可能会返回两个假包: 2014-06-22 12:43:51 INFO request www.facebook.com 2014-06-22 12:43:51 INFO response www.facebook.com: [('37.61.54.158', 1, 1)] 2014-06-22 12:43:51 INFO response www.facebook.com: [('59.24.3.173', 1, 1)] 2014-06-22 12:43:51 INFO response www.facebook.com: [('star.c10r.facebook.com', 5, 1), ('31.13.79.81', 1, 1)] |
10 churchmice 2014-06-22 16:41:42 +08:00 @shoumu DNS污染只是GFW的一种策略,还有诸如封IP,关键字过滤 |
11 ovear 2014-06-22 17:50:02 +08:00 @clowwindy 我是通过tcp查询的,同时查tcp和udp两种,如果fake dns返回了结果,就直接忽略udp的结果。或者设定一个很小的ttl。 一种机器学习策略吧~ |
13 kfll 2014-06-22 19:23:03 08:00 |
14 cj1324 2014-06-22 19:35:23 +08:00 @ovear 这个方法不行, 因为dns 污染同时存在保护性的操作。 比如百度的域名被国外XX组织DNS劫持了。 DNS污染会让你得到正确的IP。 从而正常使用百度。 |
15 ovear 2014-06-22 19:38:34 +08:00 |
19 ovear 2014-06-22 20:58:38 +08:00 @clowwindy 浪费倒是不会浪费,我是实现的一个标准的dns服务器。有ttl的,本地缓存啥的-0-,而且有机器学习规则,基本上是越多人用,就越快。而且越智能。。(EDNS坑还没坑上。。因为要申请合作,不然就只能盗用其他edns的key。。赶脚不太好) 另外=。=,这个方法别传太远了。。不然升级就不好使了。。 其实我还打算做一个公共维护的clean dns cache zone,还可以随时导出hosts啥的 多方便。。重新封装下dns协议也不难,还可以防污染。。算是云起来吧23333 确定gfw的方法其实可以通过bgp来确定的~可以确定广播域,我记得有一个软件可以看到的~(省市之间都有类似gfw的设备。。总之绝对不是只在出口有) @cj1324 嘛。。那就到时候再说。人工调整也不是不可以 |
21 scarecrow OP |
22 jsq2627 2014-06-22 21:39:35 +08:00 @ovear ovear 你好,ovear 再见 - - 我一直以为此 ovear 非彼 ovear。。ping了一下你的博客才发现原来就是你 = = 今天突然发现我的blog放YunTF首页了,受宠若惊。。我都有好几个月没去维护它啦 |
23 topkings 2014-11-22 21:38:53 +08:00 受教 |
24 scarecrow OP 很久远的一个帖子了,看到消息提醒有来到这里,发现我分享文章的链接已经被GFW干掉了。 http://examplecode.github.io/tools/2014/06/20/the-tools-prevent-dns-cache-pollution/ |