是否有任何命令可以在Linux中找到正在运行或正常运行的网站?希望ping命令有帮助...但是如何成功检查返回数据包?
ping www.google.com
请告知有没有办法在shell脚本中找到使用ping命令的网站是否正常工作?
答案 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来验证