0

我想知道给定的网站或 IP 地址是在线还是离线。我研究了很多,但我能找到的只是安装一些软件或使用 ping 命令。

我做了这个测试:

ping -c 5 -n example.com

它输出预期的结果,但是当我在一个网站没有扩展的情况下执行以下操作时,结果几乎与网站存在一样,丢包率为 0%。请参阅随附的屏幕截图。

ping -c 5 -n examplesurenotexists.com

我对此感到困惑。有没有更好的方法来完成这项任务?

ping 的输出

4

1 回答 1

4

如果您想知道一个网站是在线还是离线,只需检查该网站:

if curl -s http://www.alfe.de >/dev/null
then
  echo "online"
else
  echo "offline"
fi

相反,使用ping不会测试 HTTP 协议(​​用于网站)而是 ICMP 协议;一个只是独立于另一个(当然,如果主机宕机,两者都不会工作)。有些站点在 HTTP 服务器关闭时仍然对 ICMP 做出反应(这是相当典型的),并且有些站点不会对 ICMP 做出反应,尽管 HTTP 服务器已启动并运行良好。

于 2013-05-27T10:03:32.097 回答