在开发将侦听TCP / IP端口的应用程序时,应如何选择默认端口?假设此应用程序将安装在许多计算机上,并且需要避免端口冲突。

有帮助吗?

解决方案

在这里 并选择一个描述为 Unassigned

其他提示

第一步:查看 IANA列表

在那里你会看到列表的尾部

“动态和/或专用端口是49152到65535的那些”。

所以这些将是你更好的赌注,但是一旦你选择了一个,你就可以随时谷歌查看是否有足够受欢迎的应用已经“宣称”了。它

如果通过广泛使用,您的意思是希望保护其他人在将来使用它,您可以申请将其标记为IANA为您的应用预留这里

我知道的最全面的官方IANA端口号和非官方端口号列表是 nmap-services

您可能希望避免使用此列表(维基百科)中的任何端口。

我只选择一个,一旦群众使用该应用程序,端口号将被识别并包含在此类列表中。

正如其他人所说,请查看IANA。

然后检查本地系统/ etc / services以查看是否有一些自定义端口已在使用中。

请不要硬编码。确保它是可配置的,不管怎么说,如果没有其他原因你希望能够让多个开发人员同时使用他们自己的本地化版本。

使用iana列表。从以下网址下载csv文件:

https:// www .iana.org /任务/服务的名称,端口号码/服务的名称端口-numbers.csv

并使用此shell脚本搜索未注册的端口:

for port in {N..M}; do if ! grep -q $port service-names-port-numbers.csv; then echo $port;fi; done;

并输入2个数字而不是N和M.

从IANA列表中选择未分配的内容通常就足够了,但如果您正在谈论商业发布的产品,那么您真的应该向IANA申请一个分配给您的产品。请注意,这样做的过程很简单但很慢;我最后一次申请一年,花了一年时间。

如果这是针对您希望广泛使用的应用程序,请注册一个号码 此处,所以没有人使用它

否则,只需随机选择一个未使用的。

在动态范围内使用它的问题在于它可能无法使用,因为它可能用于动态端口号。

那么,你可以参考一些常用的端口号这里并尽量不要使用别人的。

如果通过“向公众开放”,你的意思是你在自己的系统上打开端口,我和你的系统管理员聊聊他们觉得哪些端口很适合。

选择一个非非常的数字常见的

选择一个不会干扰最常见守护进程和服务器的默认端口。还要确保端口号未列为某些病毒的攻击媒介 - 有些公司有严格的策略,无论如何阻止此类端口。最后但同样重要的是,确保端口号是可配置的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top