使用shell脚本配合nc命令来达到我们的目的.
用shell脚本实现两个需求:
1 扫描多台服务器的一个端口是否打开
2 扫描多台服务器的多个端口是否打开
关于nc命令
nc 是netcat的缩写,它是通过使用TCP/UDP的网络协议的连接来读或写数据,可以直接被第三方程序或脚本直接调用.也是一款功能非常强大的网络调试工具,它可以创建所有你所需要的连接方式.
nc 工具主要有三种功能模式:
连接模式
监听模式
通道模式
使用格式:
]# nc [-options][HostName or IP] [PortNumber]
应用1
扫描多台服务器的一个端口是否打开
1)可以将需要查询的所有服务器地址全部写到一个server_list.txt文件里.每个地址单独一行
# cat server-list.txt
192.168.1.2
192.168.1.3
192.168.1.4
192.168.1.5
192.168.1.6
192.168.1.7
2)用for循环依次扫描server_list.txt里对应服务器的端口是否打开.
]#vim port_scan.sh
#!/bin/bash
for server in `more server-list.txt`
do
#echo $i
nc -zvw3 $server 22
done
给脚本赋予执行权限
]# chmod +x port_scan.sh
3)执行脚本来自动检查多个服务器的22端口是否已经打开