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


9

如何检查端口是否一直存在?例如,我可以使用

ping 192.168.1.1 -t > results.txt

这将连续ping 192.168.1.1,以便我可以对其进行监视。
是否可以使用与此等效的工具或命令?

目前,我使用telnet,但有时主机会断开连接。我需要Windows解决方案。


是您需要检查的特定端口,例如http的端口80还是ftp的端口21,还是需要检查(即测试主机是否可访问)的特定IP地址。后者就是您上面的示例所执行的操作。
克里斯,

我想检查特定的端口是否打开。
grassbl8d 2011年

由于“标准” ping使用ICMP消息,并且在谈论端口时,您可能会想到TCP / IP,因此存在无法关闭的不匹配之处(ICMP和IP是非常不同的协议)。ping是错误的监控工具,您应该使用某些工具来生成特定服务所需的流量。例如:监控你的,HTTP查询等发送一个网站
帕特里克Mevzek

Answers:


13

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

nc -z <host> <port>

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

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


2
每秒对端口上的主机执行ping操作,0如果成功则返回,1否则:while (:); do nc -z HOSTNAME_HERE PORT_HERE; echo $?; sleep 1; done
sjas 2015年

链接不再起作用
克林顿·沃德

@ClintonWard使用存档链接进行了更新:)
Andrew

5

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

nmap -p端口主机

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

nmap -P0 -p端口主机


5

您可以从nmap使用nping,例如:

C:\>nping --tcp -p 80 192.168.1.1

其中-p指定要扫描的端口(此处:80)。此外,您可以-H隐藏发送的数据包,而只显示答复。



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.