networking - 为什么 ip 地址 127.001 路由到 127.0.0.1 和 127.011 路由到 127.0.0.9?
问题描述
通过一个意外的拼写错误,我意识到当您尝试访问该 IP 地址127.0.01
时,它将成功路由到127.0.0.1
.
玩弄这个,我注意到似乎发生了某种翻译。一些例子:
127.001
->127.0.0.1
127.002
->127.0.0.2
127.011
->127.0.0.9
127.111
->127.0.0.111
127.1111
->127.0.4.87
127.9999
->127.0.39.15
这些翻译背后的逻辑是什么?我已经在 MacOS、Linux 和 Windows 上尝试并复制了它。
解决方案
来自维基百科:
当以点分表示法在地址中指定的数字少于四个时,最后一个值被视为一个整数,其字节数与将地址填充到四个八位字节所需的字节数一样多。因此,地址 127.65530 等价于 127.0.255.250。
您可以自己计算以检查。
例子:
127.9999
= 01111111
。00000000 00100111 00001111
= 127
。0
. 39
.15
推荐阅读
- laravel - 从 Blade-Files 渲染 PHP、SCSS、JS、Blade-Files
- javascript - 在 Vite2 中,如何在 tailwind.config.js 中导入 ESModule
- angular-cli - 出现“发生未处理的异常:尝试运行“ng serve”时找不到模块'@angular/compiler-cli'
- c++ - 安全编码实践
- excel - 有没有办法在excel vba中使用没有循环的进度条?
- python - python - ast 识别导入的名称
- python - Psycopg2 未安装在 Mac M1 上
- javascript - Javascript click Event only Triggers on Page Reload 然后不起作用
- mongodb - 无法连接到从 docker-compose 运行的 MongoDB
- amazon-dynamodb - DynamoDB 中的多个可选查询参数