Skip to content

capricornxl/ping-mtr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

对多个IP执行ICMP检测,当IP未通过时,执行此IP的MTR检测,并记录日志,支持多线程、超时。

支持统计每个IP的丢包率。

Linux

需要安装mtr程序,不同发行版本自动百度查询安装方法

Windows

需要安装mtr程序,并添加执行路径到环境变量

说明:

# python3 check_ip.py -h

config文件是配置文件,里面有一些配置参数,可自行定义。
在iplist文件中写入需要检测的IP地址,每行一个。
脚本会自动对每个IP做PING检测,如果IP检测不通则会执行MTR,并记录MTR到文件。

参数说明:
-n <number> 指定线程并发数,单位数字。
-t <number> 指定运行时间,单位秒。不指定-t,只执行一次。(指定运行时间会在指定时间内循环对iplist列表做检测)
-s 是否对IP ping的数据进行统计,主要统计每个IP总体的发送包、接收包,丢包率情况

文件说明:

config: 参数配置

[ping]
#ping执行次数
count = 5
#每次ping的间隔,单位毫秒
wait = 500
#每次ping的超时时间,单位秒
timeout = 1

[mtr]
#mtr程序所在路径,可以是绝对路径、相对路径
path = mtr
#mtr的参数,按实际在cmd或shell中运行时指定的写进去即可,每个参数用空格分隔
paras = -c 3 -r --no-dns

iplist: 需要检测的IP地址列表,一行一个IP

191.249.153.3
155.213.60.49
121.165.102.37
133.191.64.169
171.10.232.244
220.116.29.34
116.161.66.200
232.86.56.80
150.182.156.230

效果:

# python3 check_ip.py
主线程开始:
可使用Ctrl+C随时终止任务
当前线程数: 32
读取文件创建IP列表,耗时: 0.0秒
主线程总计[4]个任务
IP:191.249.153.3,开始子线程:139633030207232
IP:155.213.60.49,开始子线程:139632943560448
IP:114.114.114.114,开始子线程:139632933070592
IP:223.5.5.5,开始子线程:139632922580736
IP:155.213.60.49 执行[ping_check]耗时: 2.526秒
IP:155.213.60.49的所在子线程总任务执行[ping_check、mtr_check]完毕,耗时: 2.526秒
IP:155.213.60.49,等待子线程:139632943560448 执行完毕
IP:114.114.114.114 执行[ping_check]耗时: 2.525秒
IP:114.114.114.114的所在子线程总任务执行[ping_check、mtr_check]完毕,耗时: 2.525秒
IP:114.114.114.114,等待子线程:139632933070592 执行完毕
IP:191.249.153.3 执行[ping_check]耗时: 2.527秒
IP:191.249.153.3的所在子线程总任务执行[ping_check、mtr_check]完毕,耗时: 2.527秒
IP:191.249.153.3,等待子线程:139633030207232 执行完毕
第1个线程完成...
第2个线程完成...
第3个线程完成...
IP:223.5.5.5 执行[ping_check]耗时: 2.523秒
IP:223.5.5.5的所在子线程总任务执行[ping_check、mtr_check]完毕,耗时: 2.523秒
IP:223.5.5.5,等待子线程:139632922580736 执行完毕
第4个线程完成...
所有任务己完成...
主线程结束...

所有数据在目录[/root/xl/new/20200721151634874397]
耗时: 2.53秒

About

对多个IP执行ICMP检测,当IP未通过时,执行此IP的MTR检测,并记录日志,支持多线程、超时配置。

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages