Closed ymingjun closed 11 years ago
使用 HTTP 代理 DNS 解析是在代理服务器端完成的。我以前也用 Safari,平时也使用 Mac,没有遇到 DNS 解析的问题。不知道你遇到问题的具体表现是什么?
我想楼主应该不是遇到什么具体问题,而是表达一种需求,楼主的这个问题我用http://micasmica.blogspot.jp/2011/08/dns.html这个东西解决,可能是楼主想你集成这样的功能而已。
我用的ml版本的,已经将全局代理设置为cow的http代理了,使用路由器自动分配的dns,路由器dns地址设置的是114.114.114.114,但是访问facebook的时候,抓包是这样的,dns解析走还是直接走的本地。
的确如 @polong 说的,用好多软件都可以解决dns污染问题,pdnsd啥的对我自己来说不是问题啦。我只是要表达,如果cow能集成一个自动防dns污染和欺骗的本地dns服务就更棒了~
这个访问 facebook 的请求是那个软件发出的?
解决 dns 污染只能解决部分网站的访问问题,这个比例多大我不太清楚,如果比例小的话其实实现了意义也不大。
做 dns 服务的一个问题是在没有被墙 host 列表的情况下,从 dns 请求本身不容易判断域名是否被墙。我不太像包含一个 host 列表进来,要把现在判断被墙的功能跟 dns 服务结合起来,实现上有些问题得想清楚。
个人时间有限,我暂时还是打算先完善其他功能。如果你有兴趣的话非常欢迎帮忙实现这个功能。
请问 @ymingjun 你的抓包工具是什么软件? 从你的截图来看,感觉软件功能界面很直观。 Wireshark 不怎么会用,能推荐个抓包工具吗? windows 7 x64 下能用,能单独查看某个进程或使用过滤器查看某个进程 多谢!
@polong 给的链接中 DNS 转发器 dnsforwarder 一打开就自动退出。
OpenDNS公司的DNSCrypt也用过,使用后也有问题,解析失败或解析太慢,可能我的网络环境比较特殊。
@cyfdecyf 这个请求就是safari自己发出来的。可惜我不熟悉go语言,等我学习一下吧,哈哈。 @graminc 就是用wireshark抓的,想要查看和进程的关联关系恐怕得和netstat联合使用才行了,wireshark单独似乎没有这个功能。 @gaminc 推荐pdnsd,不过不知道有没有win版本的
参考 #17 ,目前还是不打算实现了。
另外设置 HTTP 代理之后,如果 DNS 解析还在本地完成那多半是应用程序没有使用代理配置。Facebook 的 iOS 应用目前就有这个问题。
cow的设计思想非常好~一个软件搞定所有问题~不过DNS污染和注入还是会影响safari的和其他软件dns解析,作者大大能不能集成上一个dns服务器,如果发现被墙网站的dns请求就通过加密代理找支持tcpdns解析的域名服务器解析,否则就走本地?