本文目录
什么是 IP 地址校验?
IP 地址校验用于确认某个字符串是格式正确的 IPv4 或 IPv6 地址。由于互联网上有两种截然不同的格式在同时使用,因此在网络代码中使用任何 IP 地址之前,都有必要同时校验它的结构和取值范围。
IPv4 地址是 32 位的数字,写成四个由点号分隔的十进制字节(0-255):192.168.1.1。IPv6 地址是 128 位的数字,写成八组由冒号分隔的四位十六进制数字:2001:0db8:85a3:0000:0000:8a2e:0370:7334。
IP 地址校验的工作原理
校验器会检测 IP 的版本,并套用相应的格式规则。
- 版本检测 —— 判断输入属于 IPv4 还是 IPv6 格式
- IPv4 校验 —— 检查是否恰好为 4 个字节,每个字节的取值在 0-255 之间,且不含前导零
- IPv6 校验 —— 核实是否为 8 组各 1 到 4 位的十六进制数字,:: 压缩是否有效,以及有无非法字符
免费试用 —— 无需注册
校验 IP 地址 →何时使用 IP 校验
在网络配置、安全应用,以及任何处理网络地址的系统中,IP 地址校验都十分重要。
- 安全规则 —— 在应用之前,校验防火墙规则、白名单或黑名单中的 IP 地址
- 日志分析 —— 在将从日志文件中提取的 IP 用于查询或报表之前先行校验
- 网络配置 —— 校验服务器配置界面或 DevOps 工具中输入的 IP
常见问题
什么是私有 IP 地址,它能通过校验吗?
私有 IP 地址(10.x.x.x、172.16.x.x–172.31.x.x、192.168.x.x)保留供本地网络使用,无法在公网上路由。作为结构正确的 IPv4 地址,它们能够通过格式校验。至于是否适合你的使用场景,则要视具体情况而定。
什么是 CIDR 表示法,它是有效的 IP 地址吗?
CIDR 表示法(例如 192.168.1.0/24)通过在后面追加一个前缀长度来表示一段 IP 地址范围。它并不是单个 IP 地址,而是一种网络地址的表述。IP 校验器通常会拒绝 CIDR 表示法,因为它并不代表单个主机地址。
IPv6 地址的压缩是如何工作的?
IPv6 允许用 ::(双冒号)压缩连续的多组零,但每个地址中只能使用一次。例如,2001:0db8:0000:0000:0000:0000:0000:0001 可以写成 2001:db8::1。校验器必须正确处理这种压缩。