Linux下判断远程主机是否开放udp端口

以下内容适用于CentOS6平台

使用nc命令(本例是判断远程主机是否开放syslog服务的udp 514端口)
[root@localhost etc]# nc -vuz 172.24.2.118 514
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 172.24.2.118:514.
Ncat: UDP packet sent successfully
Ncat: 1 bytes sent, 0 bytes received in 2.01 seconds.


nc命令用法:

usage: nc [-46DdhklnrStUuvzC] [-i interval] [-p source_port]
[-s source_ip_address] [-T ToS] [-w timeout] [-X proxy_version]
[-x proxy_address[:port]] [hostname] [port[s]]


详细用法参见 man nc

如果没有nc命令,用下面的语句安装

yum install -y nc

 

以下内容适用于CentOS7平台

使用nc的实例
实例1:探测xxx.xxx.xxx.xxx的udp 514端口是否开放
nc -uv xxx.xxx.xxx.xxx 514   ##显示connected to xxx.xxx.xxx.xxx就是已经开放(后记,这个说法是错的)

参数解释:
-u udp
-v 详细显示信息
注,不加-u默认是TCP协议

进一步的实验证明上述udp探测是不准确的。udp协议没有确认机制,udp探测只有服务器的udp监听对探测包给与回复时才有意义,如果服务器仅接收udp包却不予回复,自然就无法判断是否存在监听了。因此注释中说 “显示connected to xxx.xxx.xxx.xxx就是已经开放” 是错误的,因为即使服务器不存在,探测也会显示这个。

因此判断服务器是否存在udp监听的探测方法只有:
1. 当服务器的udp监听协议会对探测进行回应时可以使用nc探测(通常这种情况不会显示"connected to xxx.xxx.xxx.xxx",而可能是如success之类的信息)
2. 登录到服务器用netstat -an查看

 

如果没有nc,用下面的语句安装

yum install -y nmap-ncat

 

在 CentOS 6 平台,nc命令有 -z 选项,但到 CentOS 7 平台就没有这个选项了。-z 选项用于扫描监听。

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值