用于检查端口是否打开的 Ping 等效项

gra*_*l8d 9 monitoring ping network-monitoring uptime

如何检查端口是否始终处于活动状态?例如,我可以使用

ping 192.168.1.1 -t > results.txt
Run Code Online (Sandbox Code Playgroud)

这将持续 ping 192.168.1.1,以便我可以监控它。
是否有我可以使用的等效工具或命令?

目前我使用 telnet 但有时主机会断开它。我需要一个 Windows 解决方案。

And*_*rew 13

如果有 Windows 版本,您可以使用 netcat - 在 Linux 上我使用:

nc -z <host> <port>
Run Code Online (Sandbox Code Playgroud)

如果端口打开,则返回 0。在循环中运行它以使其连续。

如果 Powershell 可用,请参阅https://web.archive.org/web/20111102182913/http://poshcode.org/85以获取示例。

  • 每秒 ping 一个端口上的主机,如果成功则返回 `0`,否则返回 `1`:`while (:); 做 nc -z HOSTNAME_HERE PORT_HERE; 回声 $?; 睡眠 1; 完成` (2认同)

rem*_*ems 5

或者使用来自http://nmap.org 的nmap,有一个 Windows 版本可用。

nmap -p 端口主机

或者,对于不响应 ICMP 请求的主机,

nmap -P0 -p 端口主机


Mur*_*mel 5

您可以使用 nmap 中的 nping,例如:

C:\>nping --tcp -p 80 192.168.1.1
Run Code Online (Sandbox Code Playgroud)

其中-p指定要扫描的端口(此处:80)。此外,您可以-H用于隐藏已发送的数据包,以便仅显示回复。