【udp】如何检测UDP端口的连通性

【udp】如何检测UDP端口的连通性,第1张

yum -y install nmap

nmap -sU -p 123 10.0.8.7

nmap -sU -p 222 10.0.8.7

yum -y install nc

nc -zuv ntp.aliyun.com 123

nc -zuv ntp.aliyun.com 222

关于nc用于udp端口连通性测试注意点:

udp 没有类似 tcp 那样的状态报文, 所以单纯对 UDP 抓包是看不到啥异常信息。

那么当 IP 不通时, 为啥nc udp 命令显示成功 ?

因为 nc 默认的探测逻辑很简单,只要在 2 秒钟内没有收到 icmp ECONNREFUSED 异常报文, 那么就认为 UDP 连接成功。

所以, UDP 客户端给无法连通的地址发 UDP 报文时,其实也不会报错, 这时候通常会认为发送成功。

UDP 没有 TCP 那样的握手步骤,像 TCP 发送 syn 总得不到回报时, 协议栈会在时间退避下尝试 6 次,当 6 次还得不到回应,内核会给与错误的 errno 值。

所以如果要用 nc 测试 目标upd端口的连通性,先测试下到目标ip网络是否通畅。

UDP端口port unreachable

https://mp.weixin.qq.com/s/Ve_faFF87SxMVhTO9S-yKw

黑客工具之nmap详细使用教程

https://mp.weixin.qq.com/s/lsz-c6ZLC4iKyF47KaYgHg

让人迷糊的 socket udp 连接问题

https://xiaorui.cc/archives/7255

测试UDP端口方法

TCP端口大家都知道,比如80端口,可以使用 telnet ip 80,来验证端口是否正常监听,那UDP端口是否可以同样测试呢?详细如下:

下面我们来进行测试,123端口是服务器42.11.12.13打开的UDP端口,

udp 0 0 42.11.12.13:123 0.0.0.0:* 1472/ntpd

1.我们首先使用telnet连接,如下

[root@kr-sg-test ~]# telnet 42.11.12.13 123

Trying 42.11.12.13…

telnet: connect to address 42.11.12.13: Connection refused

telnet: Unable to connect to remote host: Connection refused

很明显,telnet连接被拒绝,无法测试成功。

2.我们使用nc来进行测试,如下

[root@kr-sg-test ~]# nc -vuz 42.11.12.13 123

Connection to 42.11.12.13 123 port [udp/ntp] succeeded!

结果证明UDP 123端口正常监听。

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]]

1、最快捷的方式是直接让服务器运营商查一下,他们会告诉我们具体端口开放的情况

2、可以通过架设需要UDP端口的应用来测试一下UDP端口是不是开放的

有些机房像惠州机房UDP开放是按IP端来区分的,不同段开放的情况不一样,建议还是优先通过机房的方式,腾正科技_嘉辉


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/427683.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-26
下一篇2023-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存