北辰の小窝
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...