替代ping

Dav*_*542 7 unix linux ping amazon-ec2 network-tools

我想查看ec2实例是否已打开,但默认情况下,Amazon ec2会阻止ping请求.有一种方法可以通过更改实例的安全策略来实现.除此之外,什么是"看看服务器是否响应"并且重量轻的最接近的选择.

curl个不错的选择?

cni*_*tar 7

我想curl这正是你想要的.像所有表现良好的unix程序一样,如果出现任何问题,它会返回错误代码:

[cnicutar@ariel ~]$ curl www.no-such-website.com
[cnicutar@ariel ~]$ echo $?
6
Run Code Online (Sandbox Code Playgroud)

您也可以使用--connect-timeout它来确保它不会永远等待.


小智 7

如果你能ssh做到的话那就好了。检查此问题的一个简单方法nc是:( nc -zv 111.222.333.444 22 将 111.222.333.444 替换为您实例的 IP 地址)


jma*_*man 5

CURL无法快速检查服务器是否已启动且Web服务器守护进程已关闭。一种替代方法是使用诸如的工具发送TCP ACK hping3。如果获得RST,则服务器已启动。

hping3 -c 1 -V -p 80 -s 5050 -A example.fqdn
Run Code Online (Sandbox Code Playgroud)

您可以做的是先尝试CURL测试,然后在失败时尝试第二种方法来确认服务器已关闭,而不仅仅是Web服务器守护程序。

这种方法的问题在于,这样的杂散TCP数据包可能会被中间代理过滤。