如何使用 ICMP 验证站点的可访问性?

如何使用 ICMP 验证站点的可访问性?

如果我想确定某个网站是真的被当局封锁还是该网站本身伪造了封锁,我可以使用哪种方法?我的意思是当我们使用tracer它时只需使用 ICMP... 但即使成功跟踪后,网站是否也可能被封锁?(例如阻止 TCP 端口)

答案1

您不能单独使用 ICMP 来发现服务是否已启动。它只是计算机恰好接受并具有适当守护进程的另一种协议。ping 将显示计算机已启动并接受 ICMP ECHO 请求,但它无法告诉您服务是否正在侦听 TCP 端口。由于某些服务器不响应 ICMP 请求或有防火墙阻止这些请求,因此 ICMP 并不总是可靠的。

为了测试特定服务是否启动,只需尝试与该服务建立 TCP 连接。

为了测试您到主机的路由是否被阻止,请使用 VPN 并尝试从其他国家/地区访问该网站。您还可以使用下行/上行测试,例如http://downforeveryoneorjustme.com/测试 HTTP 守护进程是否启动并可从其他地方使用。

答案2

查看网站服务器是否正常运行的最快方法是 ping 网址,如果返回 IP 地址,但所有回应都超时,则表明服务器正常运行。此技巧适用于所有操作系统。

示例(来自 Unix/Linux 系统):

user$:ping amazon.ca
PING amazon.ca (72.21.206.110): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1

如果您运行的是 Linux 系统,另一个选择是使用名为 zenmap 的工具,该工具基于 nmap 构建。它是一个端口扫描器,因此如果它报告端口 80 处于活动状态,则说明 Web 服务器已启动。使用端口扫描器并不违法,但要小心,因为某些 ISP 的服务协议规定其客户不能使用端口扫描器之类的工具。

答案3

您可能喜欢使用它通过发送 TCP SYN 请求并等待 SYN/ACK 响应来确定 TCP 服务是否启动。它比 ICMP ping 更可靠,因为正如他们所说,主机可能会阻止 ICMP 响应。

相关内容