检测端口还在用telnet?太落伍把
有没有批量检测的方法?有的。我们用nc就可以快速检测端口的开放性。
nc检测端口的用法
nc -z -w 10 %IP% %PORT%
-z表示检测或者扫描端口
-w表示超时时间
-u表示使用UDP协议
我们知道检测UDP端口是否开启可以使用Linux下的nc命令.
例子:
1
2
|
[root@lvs-proxy2-1 ~]
# nc -zu -w 1 10.0.0.193 443
Connection to 10.0.0.193 443 port [udp
/https
] succeeded!
|
-u UDP模式
-z 如果端口无回应的时候加上;如果有回应-z参数需去掉(扫描端口是否打开用)
-w 如果端口有回应数据,那么必须加上-w参数,设为1秒,nc则1秒后断开连接
我们可以通过grep succeeded字段来判断UDP端口是否开启.那么检测脚本就可以写了:
1
2
3
4
|
[root@lvs-proxy2-1 ~]
# cat /usr/local/scripts/keepalived/UDP_CHECK.sh
#!/bin/bash
/usr/bin/nc
-uz -w1 $1 $2 |
grep
succeeded >
/dev/null
exit
$?
|