我想检查给定的服务器是否在线并且服务是否有效 - 或者甚至更简单,如果给定的端口是打开的。
这样的事情:
port_check my_server 22
或
service_check my_server ssh
我会得到二进制答案 - 是/否,意味着一切正常,或者没有连接(服务器已关闭,或服务未激活)。
我必须从普通用户帐户(非root)运行此工具。问题是 - 工具是什么?提前感谢您的帮助。
编辑:请注意,我必须得到二进制答案,这意味着任何交互式工具或尝试首先登录的工具都不行。它应该基本上是一个ping,但对于任何服务。
答案 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
,但您也可以指定要检查的端口甚至主机范围。