linux下自动telnet、ping服务器port、ip的小脚本

       接到甲方通知某个应用系统要全国开放,需要在北京总部将应用系统集成到全国,做这个的前提是网路要通。各地要开通网路的安全策略,所以有已大批ip和端口需要测试连通性。让做集成的哥们一个个去测的话,感觉会死人。所以写了两个小脚本自动在应用服务器测试ip列表的端口连通性。

具体脚本如下:

---ping

while true

do

cat iplist|while read line

do

a=`echo $line|awk '{print $1}'`

ping=`ping -c 3 $a|awk 'NR==7 {print $4}'`

#echo $ping

if [ ! $ping ];then

echo "$line disconnect"

else

echo "$line OK"

fi

done

done

---telnet

while true

do

cat iplist|while read line

do

echo > nohup.out

a=`echo $line|awk '{print $1}'`

nohup telnet $a 22  &

s=`ps -ef|grep $a|grep -v grep|awk '{print $2}'`

sleep 2

if [ $s ];then

kill -9 $s

fi

tel=`cat nohup.out|awk 'NR==4 {print $4}'`

if [ ! $tel ];then

echo "$line disconnect"

else

echo "$line OK"

fi

done

done

       两个小脚本可以直接用,判断的原理是根据ping或者telnet的日志不同进行判断,比如ping如果不通,则日志不会打印7行,如果通的话,日志会打印大于7行,所以判断第7行“NR==7”,为空,则不通,不为空,则通。telnet也是同理。但是不同的是telnet需要使用nohup进行,因为telnet不通的话session会自动连接很久,使用nohup可以通过sleep进行控制。

除了这两个脚本,唯一需要做的就是把ip跟单位名称写到iplist中,且顺序必须为先ip 在单位名称 如:

vi iplist

99.12.12.12  hebei

100.12.12.12 anhui

12.23.23.23 hunan

......

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容