首页 > 安全 > 网络安全 >

一个很有意思的终端高端口的问题

2011-06-10

在t00ls论坛里看到的,服务器的终端端口是78650,超出了65535.  ---------------------------------------------------------------------------------------------------- 看核攻击的回答:http://www.2cto.com/201106/93087.htm

在t00ls论坛里看到的,服务器的终端端口是78650,超出了65535.

----------------------------------------------------------------------------------------------------

看核攻击的回答:https://www.2cto.com/Article/201106/93087.html
1、在应用程序里边可以使用4字节或更多字节来储存端口号。

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

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

4、转换的方式为:端口号 - 65536 = ?,问号处既是转换结果。

5、如果转换后的端口还超过65535呢?那就继续转换,直到小于等于65535为止,所以 telnet www.baidu.com 131152 也是可以完美执行的,(65536 + 65536 + 80 = 131152)。

--------------------------------------------------------------------------------------------------

看golds7n 大牛的回答:

端口在bind前是通过 htons() 转换的, host to network short (短整), 所以不管你提供多大的数,最终都将被限制在 0~0xffff 范围内,也就是0~65535。

实际端口 = 提供的端口数值 & 0xffff

--------------------------------------------------------------------

所以遇到高端口,可以简单用一个js来转换一下

WScript.echo (78650 & 0xffff)

相关文章
最新文章
热点推荐