正在加载,请稍候…

IPv4 地址转换器:十进制、二进制、十六进制和整数

在点分十进制、二进制、十六进制和 32 位整数表示之间转换 IPv4 地址。

IPv4 地址转换器:十进制、二进制、十六进制和整数

理解 IPv4 地址表示

IPv4 地址是一个 32 位数字。人类通常以点分十进制(192.168.1.1)阅读,而计算机将其视为一个 32 位整数。不同场景需要不同的表示形式,因此 IP 地址转换工具对于网络工程师、安全专家和开发者来说至关重要。

IPv4 地址转换器:十进制、二进制、十六进制和整数 插图

IPv4 地址格式

点分十进制

最常见的格式:四个 8 位八位组以点分隔。每个八位组取值范围为 0 到 255,代表 8 个二进制位。

二进制表示

展示底层的 32 位结构,结合子网掩码可揭示网络/主机边界。将 192.168.1.1 转换为二进制得到:11000000.10101000.00000001.00000001

十六进制表示

基数为 16 的表示法,常见于编程和报文分析。192.168.1.1 变为 0xC0A80101。每个字节对应两个十六进制数字。

32 位整数(长整型)

IP 地址的原始数值。192.168.1.1 等于 3,232,235,777。计算方法是将点分十进制视为 4 字节大端数字。

IPv4 地址转换器:十进制、二进制、十六进制和整数 插图

IPv4 映射的 IPv6

IPv4 地址以 IPv6 格式表示:192.168.1.1 变为 ::ffff:192.168.1.1::ffff:c0a8:0101

为什么多种格式很重要

网络编程

套接字 API 通常使用整数表示。Python 的 socket.inet_aton() 和 C 的 inet_pton() 在字符串和二进制形式之间转换。在代码中将 IP 存储为整数可以实现高效的算术比较和范围检查。

数据库存储

将 IP 存储为整数更高效,并支持范围查询。整数比较比字符串比较快得多,子网成员的范围查询变为简单的数值比较。

报文分析

Wireshark 和十六进制转储工具以十六进制显示报文数据。网络工程师在分析报文捕获和网络追踪时需要在十六进制和点分十进制之间转换。

IPv4 地址转换器:十进制、二进制、十六进制和整数 插图

正则表达式和模式匹配

理解二进制结构有助于为安全规则和日志分析脚本编写精确的 IP 匹配模式。

IP 地址类别(历史)

在 CIDR 之前,IPv4 使用分类编址:

类别 范围 默认掩码 用途
A 0.0.0.0 - 127.255.255.255 /8 大型组织
B 128.0.0.0 - 191.255.255.255 /16 中型组织
C 192.0.0.0 - 223.255.255.255 /24 小型网络
D 224.0.0.0 - 239.255.255.255 组播
E 240.0.0.0 - 255.255.255.255 保留

A、B、C 类用于单播。分类编址已基本过时(被 CIDR 取代),但理解它有助于阅读旧文档和遗留网络配置。

特殊 IPv4 地址

关键特殊地址范围:

  • 0.0.0.0/8 — 未指定/本网络
  • 127.0.0.0/8 — 环回(localhost)
  • 10.0.0.0/8172.16.0.0/12192.168.0.0/16 — 私有(RFC 1918)
  • 169.254.0.0/16 — 链路本地(APIPA)
  • 192.0.2.0/24198.51.100.0/24203.0.113.0/24 — 文档/TEST-NET
  • 224.0.0.0/4 — 组播
  • 255.255.255.255/32 — 有限广播

格式转换

将点分十进制转换为整数:

  1. 按点分割为四个数字
  2. 计算:第一个 * 16777216 + 第二个 * 65536 + 第三个 * 256 + 第四个
  3. 结果即为 32 位整数

将整数转换为点分十进制:

  1. 除以 16777216 得到第一个八位组(取整数部分,保留余数)
  2. 余数除以 65536 得到第二个八位组
  3. 余数除以 256 得到第三个八位组
  4. 余数为第四个八位组

使用 IPv4 地址转换器

我们的转换工具支持:

  1. 输入任意格式 — 点分十进制、整数、十六进制或二进制
  2. 同时查看所有表示,布局清晰
  3. 子网信息 — 粘贴 CIDR 地址查看网络详情
  4. 一键复制任意格式
  5. 批量转换支持处理多个地址

适用于网络文档、需要 IP 算术的编程项目,以及排查不同工具使用不同 IP 表示的网络配置问题。