欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

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

程序员文章站 2023-11-01 09:34:10
在某些情况下,我们需要从某台服务器telnet其他很多服务器的某个端口,如22端口,如果能够批量且并行的执行telnet对端端口,那最好不过了... 13-01-10...
以下是以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...