是否有一个通用的规则来指定客户端端口号解析?

是否有一个通用的规则来指定客户端端口号解析?

我想要了解有关源(客户端)和目标(服务器)使用的端口号的更多信息。客户端可以获得任何端口号吗?或者是否有常用方法为其提供端口号?例如,如果端口号小于 1024,我可以说这是 100% 服务器端口号吗?

这个信息对我很重要,我在我们的网络中仅使用端口号指定端点。

答案1

否。除非客户端明确绑定到特定源端口(不常见),否则客户端应用程序使用的端口完全由操作系统网络堆栈决定。这些端口被称为临时端口。在 Linux 上,范围通常为 32768 - 61000。

端口 0 - 1023 被视为“众所周知的”端口,并且几乎普遍*为特定的众所周知的服务器保留。例如 80 - HTTP、443 - HTTPS、22 - SSH。

*有些是客户端端口,例如 BOOTP

虽然许多操作系统会从该池的子集中分配客户端端口(例如,Linux 从 32768 重叠到 49151),但 1024 - 49151 范围内有许多“注册”端口。

如需更多信息,维基百科有完整版TCP 和 UDP 端口号列表

相关内容