如何在linux中使用ping命令查找应用程序工作或关闭?

时间:2014-09-10 11:48:18

标签: linux shell

是否有任何命令可以在Linux中找到正在运行或正常运行的网站?希望ping命令有帮助...但是如何成功检查返回数据包?

ping www.google.com

请告知有没有办法在shell脚本中找到使用ping命令的网站是否正常工作?

4 个答案:

答案 0 :(得分:1)

而不是ping使用此telnet命令确保端口80处于打开状态:

telnet www.domain.com 80

如果网站未阻止,您甚至可以在HEAD会话后发送telnet请求。

答案 1 :(得分:1)

并非每个网站都响应ping,并且成功的ping不能证明该网站实际上正常工作。使用lynx,您可以测试页面的实际内容:

lynx -dump www.google.com \
    | grep --silent '________' \
    && echo "Google search form found." \
    || echo "No Google search form found."

nmap会告诉您端口是否正在侦听:

nmap www.google.com -p 80

tcptraceroute还会告诉您端口是否已打开:

tcptraceroute www.google.com 80

还有wget,curl ......

答案 2 :(得分:0)

在脚本中,您可以在使用echo $?进行测试后查找ping输出,如下所述。 如果ping成功,这意味着网站已启动,则echo输出将返回0,否则为非零。

esunboj@L9AGC12:~$ ping 155.53.12.255
PING 155.53.12.255 (155.53.12.255) 56(84) bytes of data.
^C
--- 155.53.12.255 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2000ms

esunboj@L9AGC12:~$ echo $?
1
esunboj@L9AGC12:~$ ping 155.53.12.7
PING 155.53.12.7 (155.53.12.7) 56(84) bytes of data.
64 bytes from 155.53.12.7: icmp_req=1 ttl=48 time=239 ms
64 bytes from 155.53.12.7: icmp_req=2 ttl=48 time=240 ms
64 bytes from 155.53.12.7: icmp_req=3 ttl=48 time=241 ms
^C
--- 155.53.12.7 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 239.250/240.304/241.451/0.985 ms
esunboj@L9AGC12:~$ echo $?
0

答案 3 :(得分:0)

ping send会将ICMP ECHO_REQUEST发送给网络主机,并且成功后会收到ICMP ECHO_REPLAY,你可以运行tcpdump来验证