扫描器现从每个 IP 范围的首尾两端同时扫描,跨多个范围进行,结合随机混洗 — 与线性扫描相比,性能更快,发现可用 DNS 服务器的概率更高。
所有 DNS 类型(A、AAAA、MX、TXT、NS)自动测试并为每台服务器评分 — 与 SlipNet 扫描器相同的评分系统。
完全可定制的扫描参数:
使用指定的 MTU 值进行扫描,用于高级网络调优。
google.com 进行验证# 核心依赖(始终安装 — 在所有平台包括 Android/Termux 上均可工作)
textual>=0.47.0 # TUI 框架
aiodns>=3.1.0 # 异步 DNS 解析器
httpx[socks]>=0.25.0 # 支持 SOCKS5 的 HTTP 客户端(用于代理测试)
loguru>=0.7.0 # 高级日志记录
# 可选 "full" 额外包 (pip install pydns-scanner[full]) — 仅桌面端
google-re2>=1.0 # 快速 RE2 正则引擎(回退至标准库 re)
orjson>=3.9.0 # 快速 JSON 序列化(回退至标准库 json)
pyperclip>=1.8.0 # 剪贴板支持(缺少时自动禁用)
.partial 文件,重新运行时自动续传slipstream-client-linux-amd64slipstream-client-linux-arm64slipstream-client-windows-amd64.exeslipstream-client-darwin-arm64slipstream-client-darwin-amd64slipstream-client-linux-arm64来自 Fox-Fig/slipstream-rust-plus-deploy 的预编译二进制文件已包含在 slipstream-client/ 目录中:
⚠️ Windows 注意: Windows 客户端需要 OpenSSL DLL 文件(
libcrypto-3-x64.dll和libssl-3-x64.dll),已放置在slipstream-client/windows/目录中。使用自动下载时,这些文件会与 Windows 可执行文件一起自动下载。
.partial 文件,重新运行时自动续传slipnet-linux-amd64slipnet-linux-arm64slipnet-windows-amd64.exeslipnet-darwin-arm64slipnet-darwin-amd64由 anonvector 开发的预编译 SlipNet 客户端二进制文件已包含在 slipnet-client/ 目录中:
最简便的安装方式:
pip install pydns-scanner
pip install pydns-scanner[full]
uv pip install pydns-scanner # 核心
uv pip install pydns-scanner[full] # 桌面端额外包
pkg update && pkg install python
pip install pydns-scanner # 仅核心 — 在 Termux 上始终可用
pydns-scanner
注意: 在 Android/Termux 上,可选的 C 扩展包(
google-re2、orjson、pyperclip)会自动跳过 — 扫描器无需任何手动干预即可回退至标准库等价物。
# 阿里云镜像
pip install pydns-scanner -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
# 清华 TUNA 镜像
pip install pydns-scanner -i https://pypi.tuna.tsinghua.edu.cn/simple
# Runflare 镜像
pip install pydns-scanner -i https://mirror-pypi.runflare.com/simple/ --trusted-host mirror-pypi.runflare.com
pydns-scanner
如需直接从仓库运行代码:
git clone https://github.com/xullexer/PYDNS-Scanner.git
cd PYDNS-Scanner
使用 uv(推荐 — 速度快!)
uv pip install -r requirements.txt
使用 pip
pip install -r requirements.txt
使用镜像源(适用于 PyPI 访问受限的用户)
# 阿里云镜像
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
# 清华 TUNA 镜像
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
# Runflare 镜像
pip install -r requirements.txt -i https://mirror-pypi.runflare.com/simple/ --trusted-host mirror-pypi.runflare.com
python -m python
从 PyPI:
pydns-scanner
从源码:
python -m python
启动后将打开交互式 TUI 界面,您可以配置:
创建一个文本文件,每行一个 CIDR 范围:
# 以 # 开头的行为注释
1.1.1.0/24
8.8.8.0/24
178.22.122.0/24
185.51.200.0/22
启动程序:
python dnsscanner_tui.py
配置扫描参数:
google.com)开始扫描:
查看结果:
保存结果:
results/TIMESTAMP.csvc 键或点击"💾 Save Results"手动保存扫描进行中时:
根据您的系统和网络进行调整:
扫描器支持并行 Slipstream 代理测试,并自动下载:
# 在 __init__ 方法中
self.slipstream_max_concurrent = 5 # 最大并行代理测试数
self.slipstream_base_port = 10800 # 基础端口(使用 10800、10801、10802)
结果以 CSV 格式保存(results/TIMESTAMP.csv)。列根据已启用的测试自动调整:
DNS,Ping (ms),IPv4/IPv6,TCP/UDP,Security,EDNS0,Resolved IP,ISP
8.8.8.8,12,IPv4/IPv6,TCP+UDP,DNSSEC,Yes,142.250.185.46,AS15169 Google LLC
1.1.1.1,15,IPv4/IPv6,TCP+UDP,DNSSEC,Yes,142.250.185.46,AS13335 Cloudflare Inc
可选列(Proxy Test、Security、EDNS0)仅在设置中启用对应测试时才会包含。
扫描器将以下情况的服务器视为"可用 DNS":
这种方式比仅接受成功响应的工具能发现更多可用的 DNS 服务器。
PYDNS-Scanner/
├── README.md # 英文文档
├── README-FA.md # 波斯语文档
├── README-ZH.md # 中文文档
├── RELEASE_NOTES.md # 发行说明(EN / FA / ZH)
├── pyproject.toml # Python 包配置
├── requirements.txt # Python 依赖
├── pydns-scanner.spec # PyInstaller 构建规格
├── python/
│ ├── __init__.py # 包初始化
│ ├── __main__.py # 入口点(pydns-scanner CLI)
│ ├── dnsscanner_tui.py # 主 TUI 程序
│ ├── iran-ipv4.cidrs # 示例伊朗 CIDR 文件
│ ├── requirements.txt # Python 依赖(源码)
│ ├── scanner/ # 模块化扫描器包
│ │ ├── __init__.py
│ │ ├── config_mixin.py # TUI 配置 Mixin
│ │ ├── constants.py # 共享常量
│ │ ├── extra_tests.py # 安全 & EDNS0 测试
│ │ ├── ip_streaming.py # 从 CIDR 流式生成 IP
│ │ ├── isp_cache.py # ISP 检测与缓存
│ │ ├── proxy_testing.py # Slipstream 代理测试
│ │ ├── results.py # 结果格式化及 CSV 导出
│ │ ├── slipnet.py # SlipNet(DNSTT/NoiseDNS)测试
│ │ ├── slipstream.py # Slipstream 客户端管理
│ │ ├── utils.py # 工具函数
│ │ ├── widgets.py # 自定义 TUI 组件
│ │ └── worker_pool.py # 异步工作池
│ ├── slipstream-client/ # 随附的 Slipstream 二进制文件
│ │ ├── linux/
│ │ ├── windows/
│ │ ├── mac/
│ │ └── android/
│ └── slipnet-client/ # 随附的 SlipNet 二进制文件
│ ├── linux/
│ ├── windows/
│ └── mac/
├── results/ # 扫描结果(自动生成)
├── logs/ # 应用日志(启用时)
└── static/ # 静态资源
IPv4:
IPv6:
# 下载中国 IPv4 范围
wget https://www.ipdeny.com/ipblocks/data/aggregated/cn-aggregated.zone -O china-ipv4.cidrs
# 在扫描器中使用
python dnsscanner_tui.py
# 然后在文件浏览器中选择 china-ipv4.cidrs
pip install textual
.partial 文件 — 重新运行即可chmod +x)logs/ 目录中的日志(如已启用)欢迎贡献!请随时提交 Pull Request 或开启 Issue。
git clone https://github.com/xullexer/PYDNS-Scanner.git
cd PYDNS-Scanner/python
pip install -r requirements.txt
python dnsscanner_tui.py
本项目基于 MIT 许可证发布。
在不同系统上的测试性能:
实际结果因网络速度、并发设置和系统资源而异。
secrets.SystemRandom)如果您觉得本项目有用,欢迎支持项目开发:
比特币(BTC)
bc1qpya0kc2uh0mc08c7nuzrqkpsqjr36mrwscgpxr
Solana(SOL)
J1XzZfizQ6mgYiyxpLGWU52kHBF1hm2Tb9AZ5FaRj8tH
以太坊(ETH)
0x26D9924B88e71b5908d957EA4c74C66989c253cb
币安智能链(BNB/BSC)
0x26D9924B88e71b5908d957EA4c74C66989c253cb
波场(TRX)
TYBZFr8WUsjgfrXrqmrdF5EXPXo7QdimA8
以太坊 Base(Ethereum Base)
0x26D9924B88e71b5908d957EA4c74C66989c253cb
Telegram Open Network(TON)
UQBcI_ZZGQq3fcNzTkL-zszgFR5HpRDLFHYRZffizriiScxJ
| 平台 | 路径 | 说明 |
|---|
| Linux x86_64 | slipstream-client/linux/slipstream-client-linux-amd64 | Linux x86_64 二进制文件 |
| Linux ARM64 | slipstream-client/linux/slipstream-client-linux-arm64 | Linux ARM64 二进制文件(树莓派、ARM 服务器) |
| Android/Termux | slipstream-client/android/slipstream-client-linux-arm64 | Android ARM64(Termux 兼容) |
| Windows | slipstream-client/windows/slipstream-client-windows-amd64.exe | Windows x86_64 可执行文件 |
| macOS ARM | slipstream-client/mac/slipstream-client-darwin-arm64 | Apple Silicon Mac(M1/M2/M3/M4) |
| macOS Intel | slipstream-client/mac/slipstream-client-darwin-amd64 | Intel x86_64 Mac |
| 平台 | 路径 | 说明 |
|---|
| Linux x86_64 | slipnet-client/linux/slipnet-linux-amd64 | Linux x86_64 二进制文件 |
| Linux ARM64 | slipnet-client/linux/slipnet-linux-arm64 | Linux ARM64 二进制文件(树莓派、ARM 服务器) |
| Windows | slipnet-client/windows/slipnet-windows-amd64.exe | Windows x86_64 可执行文件 |
| macOS ARM | slipnet-client/mac/slipnet-darwin-arm64 | Apple Silicon Mac(M1/M2/M3/M4) |
| macOS Intel | slipnet-client/mac/slipnet-darwin-amd64 | Intel x86_64 Mac |
| 按键 | 时机 | 功能 |
|---|
s | 配置界面 | 开始扫描 |
q | 任意时刻 | 退出程序 |
c | 扫描中 | 保存结果 |
p | 扫描中 | 暂停扫描 |
r | 已暂停 | 继续扫描 |
x | 已暂停 | 混洗剩余 IP |