运维之道 | 使用 shell 脚本查看远程服务端口是否已经开启

一、nc 命令

nc 是netcat的缩写,它是通过使用TCP/UDP的网络协议的连接来读或写数据,可以直接被第三方程序或脚本直接调用.也是一款功能非常强大的网络调试工具,它可以创建所有你所需要的连接方式

nc 工具主要有三种功能模式:

  • 连接模式
  • 监听模式
  • 通道模式

使用格式:

  • -v :显示指令执行过程。
  • -w<超时秒数>:设置等待连线的时间。
  • -z :使用0输入/输出模式,只在扫描通信端口时使用。
nc [-options][HostName or IP] [PortNumber] 

nc命令其他参数


二、扫描查询多台服务器的一个端口是否打开

1、编写IP集群文本
[root@master ~]# cat ip.txt 
192.168.182.11 
192.168.182.12
2、编写for循环端口查询脚本
[root@master ~]# cat port_scan.sh 
#!/bin/bash

IP_FILES="/root/ip.txt"
COMMAND="$*"

for IP in `cat $IP_FILES`
do
        echo -e "\033[32mThe $IP results:\033[0m"
        nc -zvw3 $IP 80
        echo
done
3、给脚本赋予可执行权限
[root@master ~]# chmod +x port_scan.sh
4、执行脚本来自动检查多个服务器的80端口是否已经打开
[root@master ~]# sh port_scan.sh 
The 192.168.182.11 results:								///192.168.182.11主机的80端口提前打开
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 192.168.182.11:80.					///测试得到已经打开
Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.

The 192.168.182.12 results:								///192.168.182.12主机的80端口提前关闭
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connection refused.								///测试得到端口未打开

在这里插入图片描述


三、扫描查询多台服务器的多个端口是否已经打开

1、编写 port 端口集群文本
[root@master ~]# cat port-list.txt
22 
80
2、编写for循环端口、IP查询脚本
[root@master ~]# cat multiple_port_scan.sh 
#!/bin/bash
for ip in `more ip.txt`
do 
    for port in `more port.txt`
    do 
        echo -e "\033[32mThe $server $port results:\033[0m"
        nc -zvw3 $ip $port
        echo 
    done
done
3、给脚本赋予可执行权限
[root@master ~]# chmod +x multiple_port_scan.sh
4、执行脚本来自动检查多个服务器的多个端口是否已经打开
[root@master ~]# sh multiple_port_scan.sh 
The 192.168.182.11 80 results:									///已开启
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 192.168.182.11:80.
Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.

The 192.168.182.11 22 results:									///已开启
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 192.168.182.11:22.
Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.

The 192.168.182.12 80 results:									///未开启
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connection refused.

The 192.168.182.12 22 results:									///已开启
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 192.168.182.12:22.
Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.

在这里插入图片描述

发布了118 篇原创文章 · 获赞 13 · 访问量 9424

猜你喜欢

转载自blog.csdn.net/VillianTsang/article/details/104195052