在某些情况下
,我们需要从某台
服务器telnet其他很多
服务器的某个端口
,如22端口,如果能够批量且并行的执行telnet对端端口,那最好不过了以下是以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...