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工具已经安装
# 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协议
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)