美文网首页tester-technology
TCP端口可以设置超过65535吗?

TCP端口可以设置超过65535吗?

作者: testerzhang | 来源:发表于2018-12-30 22:36 被阅读24次
  • Windows 的 telnet,可能用了 32 bit 的数据类型记录 port,这样 port 表面上看到是可以超过 65535。

  • tcp header 明确定义了 tcpport 为 16 bit,那即便某些应用程序使用了 32 bit 的数据类型,最终结果也是被强制转换。

简单的来说,就是:

1、在应用程序里边可以使用4字节或更多字节来储存端口号。

2、当调用了系统的tcp/ip通讯之后,系统底层强制将大于65536的端口转换回正常范围。

所以如果直接在linux系统netstat 查询端口是看不到的,必须查询正常范围内的端口

3、并且在转换过程中,不会返回任何错误信息,一切都悄然进行了,所以应用层的程序不会有任何特别反应,这一切都在系统底层悄然完成了。

  • 公式:
新端口号 = (超过65535的那个端口号 – 65536*倍数 )

其中倍数可以不断增长,最后使新端口号处于0~65535端口以内。

相关文章

网友评论

    本文标题:TCP端口可以设置超过65535吗?

    本文链接:https://www.haomeiwen.com/subject/hcpblqtx.html