美文网首页
linux下自动telnet、ping服务器port、ip的小脚

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

作者: _AnDing | 来源:发表于2018-07-11 15:48 被阅读0次

           接到甲方通知某个应用系统要全国开放,需要在北京总部将应用系统集成到全国,做这个的前提是网路要通。各地要开通网路的安全策略,所以有已大批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

    ......

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/eyvhpftx.html