天天看點

shell tcping 端口,ping網段所有ip端口或tcping指定IP端口

#!/bin/bash
################# 切換為阿裡雲yum 源 #################
#!/bin/bash
azyum(){
alyum="/etc/yum.repos.d/epel-7.repo"
if [ -e $alyum  ]; then                 # if -e 判斷檔案存在: 參考:Shell if 條件判斷檔案或目錄 
        echo "您已經安裝阿裡雲yum源"
else 
        echo "您還沒有安裝阿裡雲yum源,正在安裝中。。。"
yum install -y wget
cd /etc/yum.repos.d/
mkdir bak
mv * bak
wget http://mirrors.aliyun.com/repo/Centos-7.repo
wget http://mirrors.aliyun.com/repo/epel-7.repo
                                                        # 移動兩個檔案到 目錄
yum clean all                                   # 清除原有緩存
yum makecache                                   # 生成新的緩存
                                                        # make cache [meɪk]  [kaʃ]  制作 緩存{ka xi}
yum  list                                               # 校驗yum
fi
}
azyum
yum install -y tcping                   # 安裝tcping 端口連通性測試工具
################# IP 端口連通性測試 #################
#!/bin/bash
ipw(){                                                          # warehouse [ˈwɛːhaʊs] 倉庫; 定義函數一個方法此處是手動輸入IP
ip=(
192.168.1.1
192.168.1.2
192.168.1.3
)
}
                                                                        # ip放出來才執行
ipd(){                                                                  # Segment [ˈsɛɡ m(ə)n t] 段落。ip段;    定義IP段函數
ipSegment=192.168.1
for((i=1;i<=254;i++));do
ip[$c]=`echo "$ipSegment.$i"  `
  ((c++))
done
}
CStcping(){
ipd
ip=${ip[*]}
echo "所有 IP:" $ip"所有 IP 列印結束!"
port=22
gs=${#ip[*]}
echo "IP個數為:$gs"
for((i=0;i<=$gs;i++))
do
        tcping -t3 ${ip[$i]} $port &>/dev/null                                  # tcping -t3 單個IP等待時間2秒;用循環來數數,數組ip 的角标  第一次for循環${ip[$1]}  第二次 ${ip[$2]}
        if [ $? -eq 0 ]; then                                                           # $? 擷取上一條指令執行的狀态,正确執行傳回 0 ; 錯誤執行傳回2
        echo ${ip[$i]} "該IP正常ping通端口: $port "
        else
                echo "ping端口:$port +++++++++++++++++++++++++++++==> 失敗  ${ip[$i]}"
        fi
done
}
CStcping                                                                                        # 調用方法不能使用保留關鍵字,tcping 現在是一個指令,與方法沖突           

繼續閱讀