Linux中存在域或IP检查

时间:2013-05-27 09:30:40

标签: linux shell unix command ping

我想知道给定的网站或IP地址是在线还是离线。我研究了很多,所以我发现安装一些软件或执行ping命令。

我发现ping命令非常简单并且做了这个测试。

ping -c 5 -n example.com

它输出预期结果,但是当我执行以下网站不存在时。结果几乎与网站现有的0%丢包率相同。请参阅随附的屏幕截图。

ping -c 5 -n examplesurenotexists.com

我很困惑。有没有更好的方法来完成这项任务? enter image description here

1 个答案:

答案 0 :(得分:4)

如果您想知道网站是否在线下线,只需查看网站:

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

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