2010-12-04 69 views
0

我想检查给定的服务器是否在线,并给定服务是活动的 - 或者甚至可以更简单,如果给定端口是开放的。如何检查服务和服务器是否可用?

事情是这样的:

port_check my_server 22 

service_check my_server ssh 

而且我会得到一个二进制的答案 - 是/否,意味着一切都OK了,或者没有连接(服务器已关闭或者服务不活跃)。

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

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

回答

2

telnet是那个工具。 check.sh

#!/bin/sh 

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

运行 - check.sh localhost <port>

注意,侦听的端口的服务会被感动。

+0

要么它不是这个工具,或者我不知道如何使用它 - 我在尝试之前尝试过,但它是交互式的。我没有在手册(man telnet)中找到任何信息,如何将其切换到非交互模式。 – greenoldman 2010-12-04 19:56:10

+0

@macias对不起。现在清楚吗? – khachik 2010-12-04 19:58:45

1

你也可以尝试nmap工具。

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

相关问题