513 字
3 分钟
PingTools延迟测试工具
PingTools
Waiting for api.github.com...
🎯 一个支持多协议、多输出格式的并发 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.1google。com2408:XXX:XXX::/48192.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 地址段建议开启采样限制
- 支持注释与空行、自动去重
评论