ChangeLog(Chinese_Simplified) - UjuiUjuMandan/Pcap_DNSProxy GitHub Wiki
Pcap_DNSProxy v0.4 Beta 14(Windows)/v0.3(Linux)/v0.2(Mac) 更新日志(2015-03-15):
- 添加对 Streamlined/精简 格式 DNSCurve/DNSCrypt 协议的支持
- 提供随机 Curve25519/Salsa20/Poly1305(DNSCurve) 密钥对生成程序 KeyPairGenerator v0.1
- 添加缓存 DNS 回复包的功能
- 添加切换备用服务器,提供主要服务器和备用服务器自动切换的功能
- 可自定义切换的条件(请求失败次数、失败次数计数周期、重置切换的时间长度)
- 添加 Local Main 主要境内服务器请求功能
- 即平时使用 Local 服务器进行解析,遇到遭投毒污染的解析结果时自动再向境外服务器请求
- 解析的结果是否会被投毒污染与使用的伪包过滤器有关,详细情况参见说明文档
- 添加接收到一个解析请求向同一个远程服务器发送多次解析请求的功能,可提高远程服务器丢包时域名解析的可靠性
- 添加自定义请求服务器端口的功能
- 添加自定义本地监听地址和端口的功能
- 添加本地多监听地址/多监听端口的功能
- 添加以 DNS 请求的类型为条件的屏蔽功能
- 添加 IPv6 6to4/ISATAP/Teredo 隧道的支持
- 为本地服务器监听 IPv4/IPv6 增加控制选项(请求时相同协议优先,不同协议 IPv6 优先)
- 添加 Domain Case Conversion/随机转换域名请求大小写 的功能,默认为开启
- 添加 Compression Pointer Mutation/随机添加压缩指针 的功能,默认为关闭
- 为抓包模块添加总开关 Pcap Capture
- 为抓包模块添加 IPv4 扩展头部的支持
- 为 TCP Data Filter/TCP数据包过滤器 添加检查 Checksum/校验和 的功能
- 为 IPv4/IPv6 黑名单地址过滤功能添加新的投毒污染地址
- 黑名单地址过滤功能应用到所有解析过程以避免权威服务器被污染的情况下所有结果被投毒污染的结果
- 黑名单地址过滤功能现在将过滤所有解析结果的地址
- 为 Operation Mode 增加 Private 和 Custom 模式 [陈斐]
- Private 模式只允许私有网络请求解析
- Custom 模式禁止或只允许列表中的地址请求解析,使用单独的地址过滤库(支持 IPFilter.dat 和 Guarding.P2P 格式)进行控制
- 为 IPFilter 地址过滤库添加黑名单解析结果过滤功能
- 添加对超过 UDP 协议最大不分片长度的截断数据包使用 TCP 协议重试的功能
- 添加对 EDNS0 标签和 DNSSEC(AD/CD/DO) 请求功能的支持(开启 DNSSEC 请求后必须强制添加 EDNS0 标签)
- 添加 Hosts Only 直连模式只使用本工具具有正则表达式的 Hosts 功能
- 添加 Local Routing 本地路由表功能
- 添加自定义 Hosts 生存时间的功能
- 程序配置文件和 Hosts 文件版本升级到 v0.4
- 支持的一行最大长度增到 4KB/4096 bytes
- 添加新的单行和多行注释格式支持
- 为 Hosts 文件添加 CSV/逗号分隔值 格式的支持
- 为 Hosts 文件添加 "BANNED 正则表达式"(不含引号)语法直接返回域名查找失败信息,用于快速屏蔽域名
- 为 IPFilter 数据库添加 "IP地址 ALL"(不含引号)语法直接屏蔽所有含此IP地址/地址范围的解析结果
- URI 标准化 IPv6 地址格式,IPv4/IPv6 地址格式更改为带端口格式
- 支持部分非标准的缩略 IPv4/IPv6 地址格式
- 支持检查文件大小的功能
- 支持自定义文件最大占用空间的设定
- 支持自定义 Hosts 和 IPFilter 数据库文件名称的功能
- 为 Hosts 文件和 IPFilter 数据库监视模块添加 Keccak/SHA-3_512(FIPS 202 Draft, April 2014) 散列算法特征检测,在数据量较大时可降低监视时的 CPU 资源占用
- 为数据库添加排序的功能,避免因为错误的顺序造成问题
- 在开启散列算法特征检测文件改变以及开启 DNS 缓存的情况下,自动更新 Hosts 列表和 IPFilter 数据库时将自动清空程序的 DNS 缓存
- 在开启散列算法特征检测文件改变的情况下,自动更新 Hosts 列表时将自动清空系统 DNS 缓存(Windows)
- 重写文本文件编码读取模块,支持混合换行格式编码(但不建议使用)
- 可兼容 v0.3 以前的文件版本,但强烈建议升级为当前版本 v0.4
- 添加新的防火墙测试模块(Windows)
- 添加窗口模式以支持在安全模式下的运行(Windows)
- 错误报告在窗口模式下现在会实时显示
- 请求本地服务器的完整网域名称现在会返回本地服务器的所有 IPv4/IPv6 地址
- 调整请求本地 DNS 服务器由抓包模式到直连模式,加快响应速度降低资源占用
- 调整 IPv4 Data Filter/IPv4数据包过滤器 默认为关闭
- 调整 ICMP 和随机域名请求模块的编号和序列号生成规则
- 调整 ICMP 附加数据限制长度最长到 1484 bytes(Ethernet MTU - IPv4 Standard Header - ICMP Header)
- 调整随机域名生成模块,使用 C++ STL 提供的梅森旋转算法引擎产生离散型均匀分布的随机域名
- 调整内置默认本地服务器完整网域名称为 "pcap-dnsproxy.localhost.server"(不含引号)以遵循域名系统的标准
- 调整内存分配策略(标准以太网 MTU 长度、数据包缓冲区长度和 STL 标准库调用)减少资源占用
- 调整错误报告为带 BOM 的 UTF-8 编码,避免可能产生的乱码问题 [Hugo Chan]
- 调整正则表达式为完全匹配模式,提供更准确的匹配效果 [Hugo Chan]
- 合并 x86 和 x64 版本可执行文件(Windows) [Hugo Chan]
- 改进首次启动时进行的防火墙测试模块(Windows)
- 改进无法找到或禁用重启网络适配器后自动重试的功能(Windows)
- 移除生成错误报告
- 找不到 Hosts 文件时
- Windows XP 系统下不支持 IPv6 时
- 修复超过额定长度(本次更新前为2KB)的文件读取能会造成的错误
- 修复 UDP 协议下过早关闭端口造成系统发送 ICMP(v6) Port Unreachable 端口不可到达信息的错误
- 修复 TCP 协议下因为远程服务器无响应而造成的过长时间不回应请求的错误
- 修复存在网桥适配器时可能造成的崩溃 [JonyOang]
- 修复多线程模型下竞争读写全局对象可能造成的错误
- 修复自身服务器名称读取和 IPv6 环境下回复自身服务器名称的错误
- 修复反向解析域名时回复自身服务器名称到所有私有网络地址对应域名的错误
- 修复在 IPv6 环境下抓包回复时的匹配错误
- 修复网络适配器被禁用重启后 WinPcap/Libpcap 无法抓取数据包的错误
- 修复特殊 IPv4/IPv6 地址检测模块的错误
- 修复随机域名生成模块可能生产空域名(ROOT)的错误
- 修复超长 Hosts 条目可能导致的溢出错误以及最短长度限制的问题
- 修复部分情况下无法读取文件最后一行的错误 [Hugo Chan]
- 服务现在将设定为在第一次和第二次遇到错误时自动重新启动 [yfdyh000]
- 程序启动时将不再删除错误和运行日志文件 [yfdyh000]
- 合并批处理 [yfdyh000]
- 修复批处理在开启 UAC 的情况下无法使用的错误(Windows) [Haruyuki Arita/Hugo Chan/Ryans233/streamgo/watchingyoufall]
- 在非管理员权限下运行批处理无法修改系统服务信息的错误现在将有提醒(Windows) [Haruyuki Arita/Hugo Chan/Ryans233/watchingyoufall]
- 使用 Microsoft 的 File Checksum Integrity Verifier 的 SHA-1 算法,下载或解压出错导致文件损坏现在将有提醒(Windows) [Hugo Chan]
- 修复 Makefile 的错误(Linux) [otakuchiyan]
- 源代码现在开始将使用 UTF-8 编码(Windows)
- 项目升级到 Visual Studio 2013(Windows)
- 修复在 IPv6 环境下抓取来自境内域名解析服务器回复包的错误,但此功能在新版已被移除,特此公告 [David Webb/eqielb]
Pcap_DNSProxy v0.3.2(Windows)/v0.2(Linux)/v0.1(Mac) 更新日志:
- Pcap_DNSProxy v0.1 Mac Release 正式发布!
- 提供可用于 x86 和 x64 环境的可执行文件(Linux)
- 启用对
Ethernet
设备的识别(Linux) - 修复在错误使用低权限运行程序可能造成的Bug
- 修复在部分情况下错误生成错误报告的Bug(Linux)
- 修正说明文档的错误操作(Linux)
Pcap_DNSProxy v0.3.1(Windows)/v0.1(Linux) 更新日志:
- Pcap_DNSProxy v0.1 Linux Release 正式发布!
- 剥离并更新 IPv4/IPv6 保留地址列表过滤模块(Windows)
- 升级解析结果黑名单地址过滤功能
- 修复本地 IPv6 地址获取功能的 Bug
- 修复自动刷新本地地址的 Bug
- 修复本地可通讯地址识别错误的 Bug(Windows)
Pcap_DNSProxy v0.3 更新日志:
- 32位/x86版本使用
WSAAddressToString()
和WSAStringToAddress()
替代inet_ntop()
和inet_pton()
以支持 Windows XP 以及更旧的系统 [Roy Tam] - 添加对固定列表域名请求境内域名解析服务器的功能 [陈斐]
- 为 Windows 防火墙测试添加IPv6版本支持
- INI 版本和 Hosts 版本更新至0.3
- 为配置文件添加版本检测功能
- 为 Hosts 添加白名单功能
- 更新配置文件读取模块
- 修复部分编码/换行格式下错误输出行数至错误报告的 Bug
- 修复 Hosts 文件一定情况下错误识别注释的 Bug
- 增强对不同换行格式的识别
- 修复 ICMP(v6)/Ping 测试模块的 Bug
- 修复白名单域名请求测试在 TCP 模式下被禁用的Bug
- 修复 WinPcap 抓取数据包线程退出后可能导致的内存泄漏问题
- 注释 Console 和部分
Ethernet
的调试代码 - 源代码全部转为 ·USC-2(Little-Endian)· 编码和
Dos\Windows
档案格式
Pcap_DNSProxy v0.2 更新日志:
- 重写编码读取模块,新增支持
Macintosh
换行格式 - 修复无法在 PPPoE 环境下使用的Bug
- 使用C语言标准库返回值
- 宏定义错误报告类型
Pcap_DNSProxy v0.1 更新日志:
- v0.1 Release 正式发布!