linux下批量并行telnet对端端口的实现方法

时间:2022-03-16 04:28:58

以下是以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...