指南
为什么 UDP 端口不一样
TCP 会确认连接。UDP 常常不会。没有回应可能表示开放、被过滤,或者只是“这次探测不是这项服务所说的协议”。
为什么要关心
VPN(WireGuard、OpenVPN 的 UDP)、游戏、DNS 和 VoIP 使用的是 UDP。只检测 TCP 的工具无法告诉你这些门是否通。
在家里转发游戏或 VPN 端口时,需要一次来自外部的 UDP 探测,而不是浏览器假装在发包。
没有握手
UDP 是发出去就不管。许多服务会忽略不认识的内容。防火墙丢弃数据包时,也不会发回复位。
所以结果经常写“无回应”,而不是干净的“关闭”。
TCP
拒绝连接也是一种答复
- 探测
- 握手
- 开放或关闭
UDP
没有回应很正常,而且含糊
- 探测数据报
- 也许有回应
- 开放、被过滤,或被忽略
懂协议的探测更有用
在 53 端口发一次 DNS 查询,或在 123 端口发一次 NTP 请求,可能得到真正的应答。对未知端口发一段通用数据,则可能没有。
即便如此,开放的 WireGuard 端口在看到合法握手之前也可能保持沉默。
如何检查
从外部网络对你转发到的公网 IP 使用 UDP 端口检测。如果还有别的服务,可以用另一项服务的 TCP 检测作对照。
只探测你被允许测试的主机。
请记住
- UDP 沉默并不能证明端口是关闭的。
- 同一端口号上 TCP 开放,说明不了 UDP。
- NAT 和有状态防火墙对 UDP 超时的行为不同。
- 未经授权的扫描仍然越界。
