作者:匿名
发布:3/21/2025 3:27:10 AM

0 理解TCP和UDP端口

在深入探讨工具和技巧之前,首先需要了解TCP和UDP端口的基本概念及其重要性。

0.1 TCP(传输控制协议):

TCP是一种面向连接的协议,确保数据可靠传输。在数据交换前会建立连接,适合需要数据完整性的应用,如网页浏览或文件传输。

0.2 UDP(用户数据报协议):

UDP是一种无连接协议,不需要在发送数据前建立连接。速度快但可靠性较低,常用于视频流或在线游戏等对速度要求高的场景。

0.3 为什么需要测试端口?

测试端口有助于:

验证特定端口上是否运行服务。

识别可能的安全风险开放端口。

排查设备间的连接问题。

确保防火墙规则配置正确。

tcp-vs-udp-1.jpg

1 TCP

1.1 telnet(需要开启telnet功能)

控制面板 -> 程序 -> 启用或关闭 Windows功能 -> Telnet client

cmd 指令:telnet ip port,如 telnet 192.168.2.2 8888

成功会直接从cmd切换成telnet的窗体:

失败会在cmd提示:

 1.2 ssh

cmd 指令:ssh -v -p port ip,如ssh -v -p 8888 192.168.2.2

成功会在cmd显示详情:

失败会在cmd提示time out:

 1.3 curl

cmd 指令:curl -v ip:port,如curl 192.168.2.2:8888(-v指令用于显示详情,可以不加,但加上会更直观)

成功会在cmd显示详情:

 失败会在cmd提示Fail

3 UDP

3.1 Nmap

由于UDP是无连接的,测试UDP端口更具挑战性。以下是几种方法:

3.1 PowerShell为何不适合UDP测试

描述: 虽然PowerShell可用于发送UDP数据包,但不适合测试端口连通性。

原因: 发送UDP数据包并不能确认端口是否监听,因为UDP没有应答机制。

建议: 避免使用PowerShell进行UDP端口测试。

3.2 使用PortQryV2

描述: PortQryV2是微软提供的命令行工具,专为排查TCP/IP连接问题设计,包括UDP端口。
下载: PortQryV2下载
使用方法
命令:portqry -n <IP> -p UDP -e <端口>(例如,portqry -n 192.168.2.2 -p UDP -e 53)。
成功/失败指示:
“Listening”:端口上有进程监听。
“Not Listening”:无进程监听。
“Filtered”:端口被防火墙阻塞。

3.3 使用Nmap

描述: Nmap是一个强大的开源端口扫描工具,支持TCP和UDP扫描。
下载Nmap下载
使用方法:
命令:nmap -sU -p <端口> <IP>(例如,nmap -sU -p 53 192.168.2.2)。
结果解读:
“Open”:端口开放并监听。
“Closed”:端口关闭。
“Filtered”:端口被防火墙阻塞。

3.4 使用Netcat

描述: Netcat(nc)是一个多功能网络工具,可测试TCP和UDP端口。
下载: Netcat下载
使用方法:
命令:nc -u -v -z <IP> <端口>(例如,nc -u -v -z 192.168.2.2 53)。
局限性: 能检测端口是否开放,但无法确认是否有进程监听。

3.5 使用Advanced Port Scanner

描述: 这是一个用户友好的GUI工具,可扫描TCP和UDP端口。
下载: Advanced Port Scanner下载   网盘:https://pan.baidu.com/s/1-geIj2AqvYHzhskJfZQRPA?pwd=h3sp 提取码: h3sp,安装的时候如果想修改文件夹位置记得勾上高级设置。
使用方法:
在GUI中输入IP地址和端口,选择TCP或UDP进行扫描。

优点: 易用,支持批量查询。

这个是带图形化界面的,操作比较简单,可以批量查询,填上IP跟端口号即可:

这个如果UDP没有在发送数据,就检测不到。

4. 工具对比

为了帮助您选择合适的工具,以下是所讨论方法的对比:
工具 支持TCP 支持UDP 易用性 内置/第三方 备注
Telnet 中等 内置 需要启用Telnet客户端。
SSH 中等 第三方 适合安全连接。
Curl 易用 第三方 轻量级,多功能。
PortQryV2 中等 第三方 TCP和UDP均可靠。
Nmap 中等 第三方 功能强大,支持高级扫描。
Netcat 中等 第三方 可能触发防病毒软件;UDP有限。
Advanced Port Scanner 易用 第三方 GUI界面,适合初学者。

5. 结论

测试Windows上的TCP和UDP端口对于网络故障排查和安全至关重要。对于快速TCP检查,Telnet或Curl已足够;但对于全面扫描,特别是UDP,PortQryV2、Nmap或Advanced Port Scanner更可靠。选择工具时,请考虑其局限性和具体使用场景。
建议:
TCP测试:快速检查用Telnet、SSH或Curl;详细扫描用Nmap。
UDP测试:使用PortQryV2或Nmap,避免PowerShell。
更新:2025-03-21
阅读:81
Posted by 1
0