tcp端口測試用telnet
#!/bin/bash
for line in `cat iplist.txt | grep -v ^# |grep -v ^$`
do
ip=`echo $line | awk 'BEGIN{FS="|"} {print $1}'`
port=`echo $line | awk 'BEGIN{FS="|"} {print $2}'`
echo "(sleep 1;) | telnet $ip $port"
(sleep 1;) | telnet $ip $port > telnet_result.txt
result=`cat telnet_result.txt | grep -B 1 \] | grep [0-9] | awk '{print $3}' | cut -d '.' -f 1,2,3,4`
echo "$result"
if [ -n "$result" ]; then
echo "$result | $port" >> telnet_alive.txt
else
echo "*********************************************************************************************** $ip $port not pass"
fi
done
cat iplist.txt telnet_alive.txt |sort|uniq -u| grep -v ^# > telnet_died.txt
echo "telnet is over"
udp端口測試用nc -vuz
#!/bin/bash
for line in `cat iplist.txt | grep -v ^# |grep -v ^$`
do
ip=`echo $line | awk 'BEGIN{FS="|"} {print $1}'`
port=`echo $line | awk 'BEGIN{FS="|"} {print $2}'`
echo "(sleep 1;) | nc -vuz $ip $port"
(sleep 1;) | nc -vuz $ip $port > telnet_result.txt
done
echo "telnet is over"
這裏的iplist.txt是在同級目錄下面創建一個txt,內容如下,這裏需要添加兩個 | ,因爲windows的txt內的文字複製到linux環境下面,如果只用一個 | ,端口號獲取有問題,用兩個就沒這問題。
10.0.0.1|8080|
192.168.1.1|8080|
10.0.0.0|6379|
打賞二維碼,多謝支持