【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

翻译自:

How to Test Port[TCP/UDP] Connectivity from a Linux Server (文档 ID 2212626.1)

适用于:

Linux OS - Version Oracle Linux 5.0 to Oracle Linux 6.8 [Release OL5 to OL6U8]

Information in this document applies to any platform.

目标:

在Linux服务器上检查TCP/UDP端口的连通性。

解决方案:

telnet和nc 是用来测试端口连通性的一般工具。

telnet可以测试tcp端口的连通性。

nc可以测试tcp和udp端口的连通性。

请确保telnet和nc工具已经安装

在CODE上查看代码片派生到我的代码片

# yum install nc

# yum install telnet

测试tcp端口的连通性:

语法如下:

在CODE上查看代码片派生到我的代码片

telnet <hostname/IP address><port number>

如下是连通成功的例子:

在CODE上查看代码片派生到我的代码片

# telnet 192.118.20.95 22

Trying 192.118.20.95...

Connected to 192.118.20.95.

Escape character is '^]'.

SSH-2.0-OpenSSH_6.6.1

Protocol mismatch.

Connection closed by foreign host.

如下是连通不成功的例子:

在CODE上查看代码片派生到我的代码片

# telnet 192.118.20.95 22

Trying 192.118.20.95...

telnet: connect to address 192.118.20.95: No route to host

使用nc命令来测试tcp端口的连通性:

语法:

在CODE上查看代码片派生到我的代码片

nc -z -v <hostname/IP address><port number>

如下是连通成功的例子:

在CODE上查看代码片派生到我的代码片

# nc -z -v 192.118.20.95 22

Connection to 192.118.20.95 22 port [tcp/ssh] succeeded!

如下是连通不成功的例子:

在CODE上查看代码片派生到我的代码片

# nc -z -v 192.118.20.95 22

nc: connect to 192.118.20.95 port 22 (tcp) failed: No route to host

使用nc命令来测试udp端口的连通性:

语法:

在CODE上查看代码片派生到我的代码片

nc -z -v -u <hostname/IP address><port number>

在CODE上查看代码片派生到我的代码片

# nc -z -v -u 192.118.20.95 123

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

nc检测端口的用法

nc -z -w 10 %IP%%PORT%

-z表示检测或者扫描端口

-w表示超时时间

-u表示使用UDP协议


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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存