2010-12-04 72 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,但您也可以指定端口或甚至主機範圍進行檢查。

相關問題