在开发将侦听TCP / IP端口的应用程序时,应如何选择默认端口?假设此应用程序将安装在许多计算机上,并且需要避免端口冲突。
答案 0 :(得分:46)
转到here并选择一个描述为Unassigned
答案 1 :(得分:32)
第一步:查看IANA listing:
在那里你会看到列表的尾部
“动态和/或专用端口是49152到65535的那些端口”
所以那些会是你更好的赌注,但是一旦你选择了一个,你就可以随时谷歌查看是否有足够受欢迎的应用程序已经“声称”了它
答案 2 :(得分:6)
如果广泛使用,您的意思是希望保护其他人在将来使用它,您可以申请将其标记为IANA为您的应用预留here
答案 3 :(得分:5)
我知道的最全面的官方IANA端口号和非官方端口号列表是nmap-services。
答案 4 :(得分:2)
您可能希望避免使用this list(维基百科)中的任何端口。
我只选择一个,一旦群众使用该应用程序,端口号将被识别并包含在此类列表中。
答案 5 :(得分:2)
正如其他人所说,请查看IANA。
然后检查本地系统/ etc / services以查看是否有一些自定义端口已在使用中。
请不要硬编码。确保它是可配置的,不管怎么说,如果没有其他原因你希望能够让多个开发人员同时使用他们自己的本地化版本。
答案 6 :(得分:2)
使用iana列表。从以下网址下载csv文件:
https://www.iana.org/assignments/service-names-port-numbers/service-names-port-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.
答案 7 :(得分:1)
从IANA列表中选择未分配的内容通常就足够了,但如果您正在谈论商业发布的产品,那么您真的应该向IANA申请一个分配给您的产品。请注意,这样做的过程很简单但很慢;我最后一次申请一年,花了一年时间。
答案 8 :(得分:1)
答案 9 :(得分:0)
好吧,你可以参考一些常用的端口号here,尽量不要使用其他任何人的端口号。
如果“向公众开放”是指您在自己的系统上打开端口,我会与您的系统管理员聊聊他们认为哪些端口可以使用。
答案 10 :(得分:0)
答案 11 :(得分:0)
选择一个不会干扰最常见守护进程和服务器的默认端口。还要确保端口号未列为某些病毒的攻击媒介 - 有些公司有严格的策略,无论如何阻止此类端口。最后但同样重要的是,确保端口号是可配置的。