可以使用的最高端口号是多少?
端口号是无符号的16位整数,因此为65535.
最大的端口号是无符号短路2 ^ 16-1:65535
注册端口是由互联网名称与数字地址分配机构(ICANN)指定用于特定用途的端口.每个注册端口的范围均为1024-49151.
自2001年3月21日起,注册机构是ICANN; 在此之前它是IANA.
数字低于注册端口的端口称为众所周知的端口; 数字大于已注册端口的端口称为动态和/或私有端口.
维基百科:注册港口
据我了解,你应该只使用49151,因为从49152到65535预留给临时端口
只是对smashery的答案的后续跟进.短暂的端口范围(至少在Linux上,我怀疑其他Unices)也不是固定的.这可以通过写入来控制
/proc/sys/net/ipv4/ip_local_port_range
唯一的限制(就IANA而言)是1024以下的端口被指定为众所周知的端口.上面的端口是免费使用的.通常你会发现1024以下的端口仅限于超级用户访问,我相信这是因为这个原因.
根据RFC 793,端口是16位无符号int.
这意味着范围是0 - 65535.
但是,在该范围内,端口0-1023通常被保留用于特定目的.我一般说,因为除了0号港口,通常没有强制执行0-1023预订.TCP/UDP 实现通常不会强制执行除0之外的预留.如果您愿意,您可以在端口80或25或65535而不是标准443上运行Web服务器的TLS端口.同样,即使它是SMTP服务器在端口25上侦听的标准,您可以在80,443或其他服务器上运行它.
大多数实现为特定目的保留0 - 随机端口分配.所以在大多数实现中,说"侦听端口0"实际上意味着"我不关心我使用什么端口,只需给我一些随机未分配的端口来监听".
因此,使用0-65535范围内的端口(包括0,短暂预留范围等)的任何限制都是特定的实现(即OS /驱动程序),但是所有(包括0)都是RFC 793中的有效端口.
这取决于您所讨论的范围,但动态范围可达65535或2 ^ 16-1(16位).
http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
端口的有效数字为:0到2 ^ 16-1 = 0到65535,
这是因为端口号是16位长。
但是,端口分为:
知名端口:0到1023(用于系统服务,例如HTTP,FTP,SSH,DHCP等)
注册/用户端口:1024到49151(您可以将其用于服务器,但可以小心一些著名的应用程序:Microsoft SQL Server数据库管理系统(MSSQL)服务器或Apache Derby Network Server等已经在该范围内,即不建议将MSSQL端口分配给您的服务器,否则,如果MSSQL正在运行,则您的服务器最可能由于端口冲突而无法运行)
动态/专用端口:49152至65535。(不用于服务器,而不是用于客户端,例如在NATing服务中)
在编程时,您可以为服务器使用0到65535之间的任何数字,但是您应遵循上述范围,否则某些系统服务或某些应用程序将由于端口冲突而无法运行。
在此处检查大多数端口的列表:https : //en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
它应该是65535.