以下是以telnet對端22端口為例
station91:~/shell/telnet_port # pwd
/root/shell/telnet_port
station91:~/shell/telnet_port # cat telnet_port.sh
#!/bin/bash
rm telnet_result.txt >/dev/null 2>&1
PORT_22=22
for i in $(cat ip.list)
do (telnet $i $PORT_22<<EOF>>telnet_result.txt &) >/dev/null 2>&1
#加&讓其並行執行,>>telnet_result.txt記錄telnet過程中的日志
quit
EOF
done
cat telnet_result.txt | grep -B 1 \] | grep [1-9] | awk '{print $3}' | cut -d '.' -f 1,2,3,4 > telnet_alive.txt
cat ip.list telnet_alive.txt | sort | uniq -u > telnet_die.txt
station91:~/shell/telnet_port # for i in {88..93};do echo "192.168.14.$i">>ip.list;done #使用for循環得到需要telnet主機的ip
station91:~/shell/telnet_port # cat ip.list
192.168.14.88
192.168.14.89
192.168.14.90
192.168.14.91
192.168.14.92
192.168.14.93
station91:~/shell/telnet_port # ls
ip.list telnet_port.sh
station91:~/shell/telnet_port # ./telnet_port.sh &
[1] 16848
station91:~/shell/telnet_port # ls
ip.list telnet_alive.txt telnet_die.txt telnet_port.sh telnet_result.txt
[1]+ Done ./telnet_port.sh
station91:~/shell/telnet_port # cat telnet_alive.txt //從本機telnet對端22端口能telnet通的只有192.168.14.91
192.168.14.91
station91:~/shell/telnet_port # cat telnet_die.txt
192.168.14.88
192.168.14.89
192.168.14.90
192.168.14.92
192.168.14.93
station91:~/shell/telnet_port # cat telnet_result.txt //記錄的日志格式
Trying 192.168.14.91...
Connected to 192.168.14.91.
Escape character is '^]'.
Trying 192.168.14.88...
Trying 192.168.14.89...
Trying 192.168.14.90...
Trying 192.168.14.92...
Trying 192.168.14.93...