如何为新服务选择默认的TCP / IP端口?


Answers:


49

这里并选择一个描述港口Unassigned


10
您建议他选择100以下的端口?
mpen

3
我应该选哪一个?
欧文

1
如果所有开发人员都遵循这种逻辑,则意味着所有新服务都聚集在几个未分配的端口周围。服务在分配的端口上运行还是在未分配的端口上运行的可能性是多少?(很抱歉,如果我不公开某些商业秘密:)
hultqvist

1
如果您正在寻找要在内部网络上使用的端口,请考虑以下类似问题的答案:stackoverflow.com/questions/218839/…–
adrianwadey,

32

第一步:查看IANA列表

您会在列表的尾部看到

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

因此,最好的选择是这些,但是一旦您选择了一个,就可以一直在Google上搜索,看看是否有足够流行的应用程序已经“声明”了它


8
但是使用动态端口会不会让我容易遇到间歇性(尽管很少见)的端口冲突?在未分配或分配给晦涩的应用程序的注册范围内使用端口也许更安全。
Kevin Wong

4
除非您向IANA明确注册端口选择,否则我会使用“ UNASSIGNED”运行相同的冲突赔率。实际上,由于低端有许多未分配的,所以恕我直言,这很有可能
curtisk 08/09/25

2
始终从未分配范围开始,并选择用户/管理员可配置端口来处理可能的冲突。仅当您的应用程序得到广泛使用(例如BitTorrent或其他一些大用途)时,您才真正考虑申请分配的端口。否则,请超出分配的范围。如果这仅用于内部/个人用途,则只需记录各种服务正在使用的端口,就可以了,只要人们可以在线查找它们即可。想想私有/动态范围类似于不可路由的IP-它们非常适合小型/私有使用。
jefflunt

3
只是不要误以为您的应用程序需要IANA分配的端口,因为您认为您的应用程序使用前会爆炸。:)
jefflunt

7
关于动态范围,我认为“冲突”问题可能一直在问,如果操作系统正在随机决定临时端口是否正在使用该范围(如应该),是否会与您选择的端口发生冲突?使用该端口进行某些出站连接。(据我所知,随机使用此范围是临时端口的用途。)请参阅另一个问题,它详细说明了所关注的问题。
Garret Wilson

7

如果被广泛使用,则表示您希望将来防止其他人使用它,则可以在此处申请将其标记为IANA保留给您的应用程序




2

正如其他人提到的,请检查IANA。

然后检查您的本地系统/ etc / services以查看是否已经使用了一些自定义端口。

而且,请不要对其进行硬编码。确保它以某种方式是可配置的-如果没有其他原因,您希望能够有多个开发人员同时使用他们自己的本地化版本。


1

通常,从IANA列表中选择一个未分配的产品就足够了,但是,如果您要谈论的是商业发行的产品,那么您确实应该向IANA申请将一个产品分配给您。注意,这样做的过程很简单但很慢。我上一次申请时,花了一年时间。


1

如果这是您希望广泛使用的应用程序,请在此处注册一个号码 以便其他人不要使用它。

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

在动态范围内使用一个的问题是,它可能不可用,因为它可能被用于动态端口号。



-1

好了,您可以在此处引用一些常用的端口号并尽量不要使用任何其他端口号。

如果“对公众开放”是指您要在自己的系统上开放端口,那么我将与系统管理员进行聊天,以讨论他们愿意使用哪些端口。



-1

选择一个不会干扰最常见的守护程序和服务器的默认端口。还要确保端口号未作为某些病毒的攻击媒介列出-一些公司制定严格的政策,无论如何都禁止此类端口。最后但并非最不重要的一点是,确保端口号是可配置的。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.