Published on December 01, 2025
PingTools延迟测试工具
PingTools
🎯 一个支持多协议、多输出格式的并发 IP/域名延迟测试脚本,适用于 IPv4 与 IPv6,支持 IP 段解析、域名自动识别、结果筛选与导出。
✨ 功能特点
- ✅ 支持三种测试模式:UDP / TCP / Ping
- 🌐 支持 IPv4 / IPv6 / 域名 / CIDR 解析
- 🚀 多线程并发测试(默认最大 50 线程)
- 📂 支持导出 CSV 和 JSON 文件
- 🎯 支持指定端口、最小/最大延迟过滤、输出前 N 个结果
- 🧠 自动去重、域名智能解析为多个 IP
- ⚠️ 可限制 IPv6 地址段的采样数量,避免 /32 等超大范围导致卡顿
- 🖥️ 控制台美观显示测试进度与结果
🔧 安装依赖
pip install tqdm tabulate
建议使用 Python 3.7 以上版本
📥 输入格式
在 ip.txt 文件中填写要测试的地址,每行一个,支持以下格式:
1.1.1.1
google。com
2408:XXX:XXX::/48
192.168.0.0/24
🚀 使用方法
python ping.py --mode udp --port 443 --top 10 --output good.csv --failed bad.csv --json good.json --min 10 --max 200
参数说明
| 参数 | 含义 | 示例 | 必须 |
|------|------|------|------|
| --mode | 测试模式 udp / tcp / ping | --mode tcp | 必须 |
| --port | 指定端口 (仅用于 udp/tcp) | --port 443 | 可选 |
| --top | 输出延迟最小前 N 个 IP | --top 10 | 可选 |
| --output | 成功结果 CSV 文件 | --output good.csv | 可选 |
| --failed | 失败结果 CSV 文件 | --failed failed.csv | 可选 |
| --json | 导出 JSON 文件 | --json result.json | 可选 |
| --min | 最小延迟过滤(单位:ms)| --min 10 | 可选 |
| --max | 最大延迟过滤(单位:ms)| --max 200 | 可选 |
| --ipv6-limit | 每个 IPv6 地址段最多采样多少个 IP(默认10,设为0表示不限制) | --ipv6-limit 0 | 可选 |
| --verbose | 是否显示详细控制台信息 | --verbose | 可选 |
📦 输出示例
控制台输出:
⏳ 正在进行 TCP 测试,共 124 个 IP...
📋 前 10 个成功 IP:
+---------------+--------------+----------+
| IP | Latency(ms) | Status |
+---------------+--------------+----------+
| 1.1.1.1 | 18.56 | Success |
| 8.8.8.8 | 24.01 | Success |
🧠 小提示
ping模式受限于系统环境(Windows/Linux 有差异)UDP模式仅能粗略估计延迟- IPv6 地址段建议开启采样限制
- 支持注释与空行、自动去重
正在加载 Github 仓库: bcsm114514/PingTools...