要做淑女 发表于 2013-11-19 09:28:46

端口数能否超过65535

标题:谁把终端改成了高端口?,作者:ddoop。
        碰到一棒子的服务器~3389端口变成了78650
        通常服务器的端口都是1-65535他来个顶你肺啊78650。。。情况如下
       
        害我都连接不上桌面.奇怪的是~~query user的时候居然发现如下
       
        你说怪不怪。。。把端口改回来后压力是没有了~可为什么我连接不上~~他就能连接上呢?
        相关资料如下:
        这种问题我还真是头一次听说,经查阅相关资料得知:
        看看专家告诉你答案:
        哈哈 tcp port 大小为 16 bit 是否能超过 65535 可想而知啦!!
        不过 Windows 会有一个问题 telnet www.sina.com.cn 65616 大家可以测试一下 !
        这实际上是访问 www.sina.com.cn 的 80 端口,为什么呢?如果想不出来就回学校重新学去!
        注:65616 - 65536 = 80
        以下是引用片段:
        main()
        {
        unsigned short int tcp_port=65616;
        printf("%u",tcp_port);
        }

        有些软件,比方说 Windows 的 telnet,可能用了 32 bit 的数据类型记录 port,这样 port 表面上看到是可以超过 65535。
        但是 tcp header 明确定义了 tcpport 为 16 bit,那即便某些应用程序使用了 32 bit 的数据类型,最终结果也是被强制转换。
        简单的来说,就是:
        1、在应用程序里边可以使用4字节或更多字节来储存端口号。
        2、当调用了系统的tcp/ip通讯之后,系统底层强制将大于65536的端口转换回正常范围。
        3、并且在转换过程中,不会返回任何错误信息,一切都悄然进行了,所以应用层的程序不会有任何特别反应,这一切都在系统底层悄然完成了。
        4、转换的方式为:端口号 - 65536 = ?,问号处既是转换结果。
        5、如果转换后的端口还超过65535呢?那就继续转换,直到小于等于65535为止,所以 telnet www.baidu.com 131152 也是可以完美执行的,(65536 + 65536 + 80 = 131152)。

逄妍丽 发表于 2013-11-19 10:54:19

广告位,,坐下看看

晏洛灵 发表于 2013-11-19 18:48:25

楼猪V5啊

郦幻香 发表于 2013-11-24 13:49:15

前排,哇咔咔

乐悦可 发表于 2013-11-28 09:40:19

广告位,,坐下看看

咸陶宁 发表于 2013-11-30 07:08:38

我是个凑数的。。。

屈娅芹 发表于 2014-3-13 21:43:17

传说中的沙发???哇卡卡

富莹琇 发表于 2014-3-22 21:33:13

LZ敢整点更有创意的不?兄弟们等着围观捏~

郁宜然 发表于 2014-4-4 19:09:15

very good

石依云 发表于 2014-4-22 13:02:37

支持你哈...................................

班斯琪 发表于 2014-4-27 13:44:23

打酱油的人拉,回复下赚取积分

全雪戈 发表于 2024-9-22 20:12:02

大人,此事必有蹊跷!

陶云溪 发表于 2025-3-31 22:00:50

佩服佩服!
页: [1]
查看完整版本: 端口数能否超过65535