我使用一个相当简单的 WGET 命令来验证特定服务器的 IP 地址和端口是打开还是关闭: wget -a /tmp/ports.log -t1 -T1 10.178.30.45:443
我遇到的问题是我需要检查许多服务器,并且每个服务器都链接到其他 IP 地址/端口。
目前,我在每个特定服务器上部署了几个这样的线性类型脚本,这些脚本需要在需要时手动运行。
理想情况下,我希望使用一个脚本对其进行自定义,该脚本可以使用 WGET 命令递归读取 IP 地址/端口的平面文件。生成的报告将识别那些未连接的报告(即:“失败:连接超时。”)。
理想情况下,脚本应该在 Windows 内运行,而不是在每个服务器上部署和运行。如果需要通过脚本传递,则可以获得每个服务器的用户 ID/密码列表。
正如Caleb所建议的,nmap
在这种情况下应该是首选工具。有了nmap
你可以这样做:
nmap 127.0.0.1 -p 80,21-25
Run Code Online (Sandbox Code Playgroud)
了解一个或多个端口(在此示例中为端口 #s 21-25 和 80)在特定 IP 地址上是打开还是关闭。在我的机器上,我得到以下输出:
Starting Nmap 5.00 ( http://nmap.org ) at 2011-04-21 15:29 IST
Interesting ports on localhost (127.0.0.1):
PORT STATE SERVICE
25/tcp closed smtp
26/tcp closed rsftp
27/tcp closed nsw-fe
28/tcp closed unknown
29/tcp closed msg-icp
80/tcp open http
Nmap done: 1 IP address (1 host up) scanned in 0.12 seconds
Run Code Online (Sandbox Code Playgroud)
Nmap for Windows 可以从这里下载。