A local DNS server base on WinPcap.
本分支 master 为 Pcap_DNSProxy 项目的主分支,用于存放源代码和说明文档。编译版本请移步:
- Windows版参见 Wiki 中 ReadMe 之内容
- Linux版参见 Wiki 中 ReadMe_Linux 之内容
- Mac版参见 Wiki 中 ReadMe_Mac 之内容
- Pcap_DNSProxy 是一个基于WinPcap制作的用于忽略DNS投毒污染的小工具,后期也加入了对包含正则表达式的Hosts的支持
- 现在网络上有很多使用TCP协议进行解析的工具,以此来躲避DNS投毒污染。但事实上已经出现有使用TCP协议请求域名解析时被RESET/连接重置的情况,而使用UDP协议则又会被DNS投毒污染,导致始终无法获得正确的域名解析。本工具主要工作在UDP协议上,可以将伪造的数据包完全过滤,同时UDP协议比起TCP协议更具有占用资源低和发送转发接收速度快等特点。本工具同时也支持使用TCP协议进行请求,而且在被连接重置时会自动切换到UDP协议,可以使请求者获得正确的域名解析
- 而支持正则表达式的Hosts,则可以为使用者提供更加便捷的途径设定域名所对应的地址,避免修改系统文件的麻烦
- 本工具使用 C/C++ 编写而成,使用 Visual Studio 2012(Update 3)/VC++ 11.0(Windows)、GCC 4.7.2/g++(Linux) 和 Xcode 5.0.1/Apple LLVM 5.0(Mac) 进行编译,完全支持 Unicode
- 同时支持IPv4/IPv6协议,也可单独开启
- 同时支持TCP/UDP协议
- 原生64位/x64目标平台编译版本(Windows)
- 无需安装VC++运行库,本地代码编译不含任何托管代码(Windows)
- 作为服务工作于系统底层
- 多线程模型
- 正则表达式支持由 C++ STL(Windows)/系统自带的正则库(Linux/Mac) 提供
- 使用WinPcap(Windows)/LibPcap(Linux)利用系统底层驱动抓取数据包,多种过滤方式忽略接收到的伪造数据包
- 支持服务器模式,相当于搭建了一个小型的DNS服务器,能为其他设备提供解析服务
- 支持境内DNS服务器解析,可提高境内服务器的访问速度
- 丰富的配置选项,配置和Hosts文件支持 ANSI、UTF-8(/BOM)、UTF-16(LE/BE) 和 UTF-32(LE/BE) 编码以及 Windows/Unix/Macintosh 换行格式
- 错误报告功能