检测端口还在用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
$? |