如何检查服务和服务器是否可用?

时间:2010-12-04 19:47:48

标签: linux shell unix

我想检查给定的服务器是否在线并且服务是否有效 - 或者甚至更简单,如果给定的端口是打开的。

这样的事情:

port_check my_server 22

service_check my_server ssh

我会得到二进制答案 - 是/否,意味着一切正常,或者没有连接(服务器已关闭,或服务未激活)。

我必须从普通用户帐户(非root)运行此工具。问题是 - 工具是什么?提前感谢您的帮助。

编辑:请注意,我必须得到二进制答案,这意味着任何交互式工具或尝试首先登录的工具都不行。它应该基本上是一个ping,但对于任何服务。

2 个答案:

答案 0 :(得分:2)

telnet就是那个工具。 check.sh

#!/bin/sh

telnet -e / $1 $2 <<END
/
close
END
echo $?

正在运行 - check.sh localhost <port>

请注意,将触摸侦听端口的服务。

答案 1 :(得分:1)

您也可以尝试使用nmap工具。

使用它的最简单方法是nmap -p$2 $1,但您也可以指定要检查的端口甚至主机范围。