#!/bin/bash ##### 一键Ping测试 ##### ##### Author:xiaoz.me ##### ##### Update:2019-06-03 ##### PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/bin:/sbin export PATH #获取服务器公网IP osip=$(curl https://api.ttt.sh/ip/qqwry/?type=txt) location=( '四川 电信' '天津 电信' '江苏 电信' '四川 联通' '河北 联通' '浙江 联通' '安徽 移动' '山东 移动' '四川 移动' '广东 移动' ) #各地区DNS,来源于http://dns.lisect.com/ and https://www.ip.cn/dns.html dnsip=( '61.139.2.69' #四川 电信 '219.150.32.132' #天津 电信 '218.2.2.2' #江苏 电信 '119.6.6.6' #四川 联通 '202.99.160.68' #河北 联通 '221.12.1.227' #浙江 联通 '211.138.180.2' #安徽 移动 '218.201.96.130' #山东 移动 '223.87.238.22' #四川 移动 '211.139.129.222' #广东 移动 ) echo '---------------------------------------------------------------------------' echo "您的本机IP为:[$osip]" function mping(){ num=0 #Ping次数 pnum=$1 #echo '---------------------------------------------------------------------------' echo "正在进行Ping测试,请稍后..." echo '---------------------------------------------------------------------------' while(( $num<10 )) do ping ${dnsip[$num]} -c $pnum > /tmp/${dnsip[$num]}.txt echo 【${location[$num]}】 - ${dnsip[$num]} echo '' tail -2 /tmp/${dnsip[$num]}.txt echo '---------------------------------------------------------------------------' let "num++" done echo "【参数说明】" echo "x% packet loss: 丢包率" echo "min: 最低延迟" echo "avg: 平均延迟" echo "max: 最高延迟" echo "mdev: 平均偏差" echo '---------------------------------------------------------------------------' } function moretrace(){ #检查besttrace是否存在 if [ ! -f "./besttrace" ] then #下载besttrace wget -q http://soft.xiaoz.org/linux/besttrace #添加执行权限 chmod +x ./besttrace fi #进行路由跟踪 echo '---------------------------------------------------------------------------' echo '正在进行路由跟踪,请稍后...' echo '---------------------------------------------------------------------------' echo '【四川电信】 - 61.139.2.69' echo '' ./besttrace -q 1 61.139.2.69 echo '---------------------------------------------------------------------------' echo '【河北 联通】- 202.99.160.68' echo '' ./besttrace -q 1 202.99.160.68 echo '---------------------------------------------------------------------------' echo '【安徽 移动】 - 211.138.180.2' echo '' ./besttrace -q 1 211.138.180.2 echo '---------------------------------------------------------------------------' } mping 10 echo '' moretrace echo '' echo '此结果由mping生成:https://www.xiaoz.me/archives/13044' echo ''