如果服务器无法“ping”通,应该进行哪些初步检查?
答案1
Tracert(或 traceroute)似乎是下一个合理的步骤;找出流量被阻止的位置。如果您不知道这一点,您可能会花费大量时间来排除甚至不是问题的一部分的故障。
答案2
有很多原因都会导致系统无法 ping。我猜你的意思是服务器没有响应 ping?
在这种情况下,您从哪里 ping 它?本地网络 (LAN),还是互联网?
如果它不响应本地网络(通常是以太网)上的 PING,那么可能是防火墙设置。我假设您运行的是 Windows?
在 Windows XP 中,您可以禁用/启用 ICMP 数据包。当您 PING 时,它会发送一个 ICMP 数据包,一些防火墙会过滤该数据包。如果您使用的是 Windows 防火墙,则取决于您运行的 Windows 版本。如果您运行的是第三方防火墙,则需要检查其设置。
另一件显而易见的事情是检查服务器是否已插入,是否有 IP 地址,您是否在 ping 正确的 IP 地址,以及您正在 ping 的服务器与您之间没有通信中断。
要检查服务器的 IP 地址,请转到开始 > 运行 > CMD > ipconfig,滚动浏览那里显示的 IP 地址并逐一尝试。
如果你尝试通过互联网 ping 它,那么问题就复杂多了。它可能是网络边缘的防火墙(也许是消费级路由器?),也可能是防火墙,或者可能是其他上百种东西。
答案3
如果是本地 ping(您无法 ping 您的 GW),请查看 arp 表。尝试 ping 后,运行“arp -na”以查看您是否获得了您尝试 ping 的 IP 的 MAC 地址。
您也可以尝试阿尔平看看是否可行。但是,通过 ping 网关然后检查 arp 表,您将获得相同的信息。
有时 ping(ICMP)会被阻止(由不称职的网络管理员),请尝试浏览或使用 hping2 到网关及更远的地方。
答案4
尝试使用 hping 工具。您可以使用 UDP 或 TCP ping 任何端口。例如:
0:~ # hping -n -S -p 22 -c 1 rootnode.net
HPING rootnode.net (wlan0 89.248.166.201): S set, 40 headers + 0 data bytes
len=44 ip=89.248.166.201 ttl=53 DF id=0 sport=22 flags=SA seq=0 win=5840 rtt=46.0 ms
--- rootnode.net hping statistic ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 46.0/46.0/46.0 ms
-n 选项不解析主机。
-S 使用 SYN 标志进行 ping 操作。
-p 我们要 ping 的端口。
-c 数据包数。
您甚至可以使用--traceroute选项来查看防火墙的工作方式和位置。