【udp】如何检测UDP端口的连通性
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了【udp】如何检测UDP端口的连通性相关的知识,希望对你有一定的参考价值。
参考技术A yum -y install nmapnmap -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
怎样检测TCP/UDP端口的连通性 netcat udp端口检查
1 TCP端口的连通性
TC端口的连通性,一般通过telnet检测:
TCP协议是面向连接的,可以直接通过telnet命令连接
telnet host-ip port
2 UDP端口的连通性
因为公司网络防火墙一般对端口会有一些限制,通过公司网络访问外部服务器特定端口时,需要检测与目标服务器特定端口的连通性;
若无法连通,在确认目标服务器相关端口打开时,则很有可能是被公司网络(中间网络)屏蔽了。对于TCP端口,如上一般用telnet检测。
对于UDP端口,一般稍微复杂点:
因为UDP协议是无连接的,不需要握手建立连接,数据发送后,server端也不会返回确认信息。
一般可以使用netcat检测,这个命令被誉为是网络中的“瑞士军刀”,功能非常强大,测试udp只是其中的一个功能变通。
UDP端口连通性测试:
在目标机器监听UDP端口port1, 在客户端机器向目标机器port1端口发送UDP数据报,看能否发送成功。发送成功,则表示可连通。
例如:
a机器上运行:
nc -ul 1080
或:netcat -ul -p 1080
#使用udp模式监听1080 端口
b机器上运行:
nc -u x.x.x.x 1080
或:netcat -u x.x.x.x 1080
#使用udp模式向该ip的1080端口发送信息。
效果如图,在任意一边输入内容,另一边则会收到相应内容,以此就可以测试该端口的udp连接是否通常。
nc测试udp端口
以上是关于【udp】如何检测UDP端口的连通性的主要内容,如果未能解决你的问题,请参考以下文章