Linux 检测远程端口是否打开

23 12 月

部门对外提供服务使用的是ssh隧道到云主机,但是有时候,隧道会断开,通过检测远程端口是否打开以重新建立连接。

经过百度,找到了nmap命令,使用下面命令检测远程端口

/usr/bin/nmap -sS www.baidu.com -p 80

显示结果如下:

Starting Nmap 6.40 ( http://nmap.org ) at 2013-12-23 10:49 CST
Nmap scan report for www.baidu.com (115.239.210.27)
Host is up (0.030s latency).
Other addresses for www.baidu.com (not scanned): 115.239.210.26
PORT   STATE SERVICE
80/tcp open  http

Nmap done: 1 IP address (1 host up) scanned in 1.43 seconds

可以看到80端口是打开的,那么我们就可以通过如下命令来执行想要的操作了

i1=`/usr/bin/nmap -sS www.baidu.com -p 80 | grep 80 | awk '{printf $2}'`
if [ "$i1" == "closed" ]; then
        killall ssh
fi

 

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注