如果远程系统开启了防火墙,则不接受 Ping 命令

如果远程系统开启了防火墙,则不接受 Ping 命令

我正在使用 ping 命令来了解远程机器是否已打开。但问题是,如果防火墙已打开,远程机器将不接受 ping 命令(ICMP 数据包),并且会假定远程机器已关闭,因为 ping 状态返回 false。假设防火墙已打开,是否有其他方法可以知道远程机器是否已打开。

答案1

根据防火墙配置,您可能能够使用 TCP SYN ping。

实际上,如果它正在监听端口,您将收到一个 ACK​​,如果它没有监听,您将收到一个 RST。

有多种工具可以做到这一点,特别是网络映射

答案2

如果另一台计算机位于同一局域网中,即使它阻止了,它仍应响应 ARP 请求ping。在这种情况下,您可以尝试使用类似 的方法arping更多详情请参阅维基百科

在更大的网络上,如果没有主机的配合,我想不出一种可靠的方法来判断主机是否开启。

答案3

如果防火墙还不错,那么就没有办法检查这一点。防火墙的重点在于,如果你发送的数据包被拒绝,你根本无法获得有关接收服务器状态的任何线索:核心思想是你无法区分以下两种情况

1)服务器不存在,并且

2)防火墙阻止了你。

为了判断远程服务器是否打开,您必须决定服务器将响应的某个端口,并在防火墙上打开适当的漏洞。

答案4

我这样做的方法是启动与已知开放端口的 TCP 连接。如果是 Web 服务器,它将在端口 80(或 443)上响应。肯定响应表示机器处于活动状态。否定响应表示可能存在许多问题之一,例如网络连接、防火墙配置不正确、服务中断或机器停机。

如果您正在设置监控,并且只想知道何时关注机器,只需依靠已知开放的端口即可。至少如果它停止响应,您就会知道发生了什么事。

相关内容