IP转换

1 127.1 ?

首先提个问题:127.1是否为一个有效的IPv4地址,是否可以被正常解析?

  1. 带着疑问我们尝试下:

  2. what? 这是什么情况?为什么可以解析呢?

2 IPv4两段点分十进制表示

IPv4地址共32bit,用点分十进制表示,分为四段,每段8bit,如127.0.0.1,我们可以看到之所以127.1可以代表127.0.0.1是因为第二段与第三全为0:

# 127.0.0.1
127 . 0 . 0 . 1
01111111.00000000.00000000.00000001
01111111转换成十进制为127 # 127.0.1.1
127 . 0 . 1 . 1
01111111.00000000.00000001.00000001
01111111转换成十进制为127
我们将第三段与第四段二进制组合在一起变成:0000000100000001转换成十进制为257
那么127.0.1.1转换成两段点分十进制为:127.257

3 IPv4一段十进制表示

根据IPv4两段点分十进制表示思路,我们是否可以将4段8比特的二进制数变成一组二进制,再将这组二进制数转换成十进制让系统进行解析呢?

# 127.0.0.1
127 . 0 . 0 . 1
01111111.00000000.00000000.00000001
01111111000000000000000000000001转换成十进制为2130706433 # 127.0.1.1
127 . 0 . 1 . 1
01111111.00000000.00000001.00000001
01111111000000000000000100000001转换成十进制为2130706689

完美解析:

4 IPv4地址有效地变换形式

127.0.0.1为例:

  • ping 127.0.0.1
  • ping 127.0.1
  • ping 127.1
  • ping 0x7f.1:十六进制
  • ping 2130706433:十进制

5 IP地址进制转换网站

6 参考博客

参考:127.257 and other fun legacy IP addresses | rixx.de

IP转换的更多相关文章

  1. 如何把IP转换成经纬度(Java版)

    经常有这种需求,拥有用户的IP地址,想要在地图上显示用户的访问量.这个时候就需要用到经纬度...应为一般的地图插件都是基于经纬度的. 那么问题来了,如何把IP转换成经纬度? 百度API 最国产的方式, ...

  2. mysql IP转换函数

    1.将字符串类型的实际IP转换成十进制数值型的 SELECT INET_ATON('209.207.224.40'); 执行结果:

  3. IP转换成域名

    DNS就是域名解析系统,它可以将IP转换成域名,也可以将域名转换成IP 1. 安装DNS服务 开始—〉设置—〉控制面板—〉添加/删除程序—〉添加/删除Windows组件—〉“网络服务”—〉选择“域名服 ...

  4. Mysql时间戳函数和ip转换函数

    Mysql中对于unix时间戳的转换还是挺方便的, 1.转换为时间戳 select unix_timestamp('2013-07-15 10-06-07') 如果参数为空,则为当前时间 2.转换为时 ...

  5. php的IP转换成整型函数ip2long()易出现负数

    php中将IP转换成整型的函数ip2long()容易出现问题,在IP比较大的情况下,会变成负数.如下<?php$ip = "192.168.1.2";$ip_n = ip2l ...

  6. IP转换成LONG 的 问题

    如何将四个字段以点分开的IP网络址协议地址转换成整数呢?PHP里有这么一个函数ip2long.比如 <?php echo ip2long("10.2.1.3"); ?> ...

  7. php IP转换整形(ip2long)

    如何将四个字段以点分开的IP网络址协议地址转换成整数呢?PHP里有这么一个函数ip2long.比如 <?php echo ip2long("10.2.1.3"); ?> ...

  8. 数字、ip转换python实现

    # 数字 ==> ip # 数字范围[0, 255^4] >>> num2ip = lambda x: '.'.join([str(x/(256**i)%256) for i ...

  9. php ip转换省市县

    http://www.cz88.net/ip/ http://www.ttlsa.com/php/php_cunzhen-ipdata/ # wget h http://6.scdx3.crsky.c ...

  10. IP转换hash以及返回

    InetAddress address = InetAddress.getByName("127.0.0.1"); System.out.println(address); int ...

随机推荐

  1. 【RocketMQ】主从同步实现原理

    主从同步的实现逻辑主要在HAService中,在DefaultMessageStore的构造函数中,对HAService进行了实例化,并在start方法中,启动了HAService: public c ...

  2. [数学建模]主成分分析法PCA

    最常用的线性降维方法,通过某种线性投影,将高维的数据映射到低维的空间中,并期望在所投影的维度上数据的信息量最大(方差最大),以此使用较少的数据维度,同时保留住较多的原数据点的特性. Q1:为何选取方差 ...

  3. 使用 Visual Studio 2022 调试Dapr 应用程序

    使用Dapr 编写的是一个多进程的程序,使用Visual Studio 调试起来可能会比较困难,因为 Visual Studio 默认只会把你当前设置的启动项目的启动调试. 好在有Visual Stu ...

  4. 如何在SpringBoot中优雅地重试调用第三方API?

    前言 作为后端程序员,我们的日常工作就是调用一些第三方服务,将数据存入数据库,返回信息给前端.但你不能保证所有的事情一直都很顺利.像有些第三方API,偶尔会出现超时.此时,我们要重试几次,这取决于你的 ...

  5. LoadRunner11录制脚本

    1.打开LoadRunner11后界面如下: 2.点击"创建/编辑脚本",会打开一个新窗口,如下: 3.这里新建一个web/html格式的测试.点击"文件"-& ...

  6. JavaScript:操作符:逗号运算符

    逗号运算符,是极少见的运算符,我们看一下代码理解一下逗号运算符的功能: 先说结论,逗号运算符的优先级非常低,比赋值运算符=还要低: 同时,逗号隔开的几个表达式,都会各自进行计算,但是整体表达式只会返回 ...

  7. Linux基础第一章 概述

    第一章 概述 1.1 前言 本章讨论系统的概念,从硬件.操作系统角度更加深刻的理解计算机系统,并快速浏览Linux系统提供的服务. 1.2 系统组成     1.3 操作系统和应用程序 操作系统这个词 ...

  8. WCH网络授时芯片CH9126操作指导

    目前CH9126推荐在Win7操作系统的电脑上执行,暂不推荐在与Win10系统的电脑进行通讯. 一.重要引脚说明 设置及状态相关引脚: 引脚1:RSETE-一个控制CH9126工号的引脚,直接接18K ...

  9. 真正“搞”懂HTTP协议07之body的玩法(实践篇)

    我真没想到这篇文章竟然写了将近一个月,一方面我在写这篇文章的时候阳了,所以将近有两周没干活,另外一方面,我发现在写基于Node的HTTP的demo的时候,我不会Node,所以我又要一边学学Node,一 ...

  10. [WPF]C#调用C++代码(通过C++/CLI)

    用途 通过使用C++ + Opencv 编写算法,然后用WPF(C#)编写程序界面,实现交互 可以参考MSDN文档:https://docs.microsoft.com/en-us/cpp/windo ...