ip

ip 解析 IPv4/IPv6、判断地址范围、转换数值表示,并完全使用 PHP 计算 CIDR 网络边界。

网络版本 1.2.2稳定
lil-terminal

概览

需要在不发起网络请求的情况下进行确定性地址计算时使用 ip:转换 IPv4 表示、展开 IPv6、判断私有地址与回环地址范围,或根据前缀计算网络与地址区间。

单个地址与 CIDR 网络回答不同问题

没有前缀时,ip 描述一个地址;带 /prefix 时计算网络边界和范围。ip meip server 则从当前 HTTP 请求和主机环境读取地址。

语法

lil-terminal
ip <address|integer|hex|me|server>[/prefix]

参考

ip 192.168.1.1

检查 IPv4 地址、数值表示和地址范围属性

ip 3232235777

将无符号整数转换为 IPv4 并检查

ip 0xC0A80101

将十六进制值转换为 IPv4 并检查

ip 192.168.1.10/24

显示 IPv4 网络、掩码、wildcard、broadcast 和范围

ip 2001:db8::1

显示 IPv6 压缩/完整形式和地址范围属性

ip 2001:db8::1/64

显示 IPv6 网络、最后地址和范围

ip me

检查当前访问者地址

ip server

检查当前服务器地址

确定性表示

IPv4 可用点分十进制、无符号整数或十六进制输入。IPv6 会显示压缩与完整形式;带前缀时还会计算网络、范围和地址数量。me 与 server 取决于当前 HTTP 环境。

交互式 sandbox 预览

可直接在页面中运行预先准备的示例。结果已预先生成并在浏览器中显示;服务器不会执行任何终端命令。

比较服务器地址与访问者地址

安装与管理

安装当前兼容版本。完整功能请选择 Base,精简包请选择 Minimum;已安装模块的更新请使用 upgrade。

Base 与 Minimum 是同一当前模块版本的两个包。

Base 包

安装包含本地参考和全部已发布模式的完整包。

install ip
Minimum 包

安装精简包。该包不包含本地参考;help <cmd> -i 会打开当前服务器参考。

install ip -m
精确公开版本

安装这个确切的已发布版本。

install ip -v 1.2.2
检查或升级

让 upgrade 检查兼容性,仅在需要时替换已安装块。

upgrade ip
删除模块

删除扩展块,不影响核心和其他模块。

install ip -u

示例

示例可复制,但网站不会执行。请先检查路径、权限和破坏性选项。

比较服务器地址与访问者地址
ip server | ip me
地址  203.0.113.10
类型   IPv4
范围    documentation

地址  198.51.100.24
类型   IPv4
范围    documentation
将无符号整数转换为 IPv4 并检查
ip 3232235777
Address    192.168.1.1
Family     IPv4
Scope      private
Integer    3232235777
Hex        0xC0A80101
Bytes      192.168.1.1
将十六进制值转换为 IPv4 并检查
ip 0xC0A80101
Address    192.168.1.1
Family     IPv4
Scope      private
Integer    3232235777
Hex        0xC0A80101
Bytes      192.168.1.1
显示 IPv4 网络、掩码、wildcard、broadcast 和范围
ip 192.168.1.10/24
Address    192.168.1.10
Family     IPv4
Scope      private
Integer    3232235786
Hex        0xC0A8010A
Bytes      192.168.1.10
CIDR       192.168.1.0/24
Network    192.168.1.0
Netmask    255.255.255.0
Wildcard   0.0.0.255
Broadcast  192.168.1.255
Range      192.168.1.0 – 192.168.1.255
Addresses  256
显示 IPv6 压缩/完整形式和地址范围属性
ip 2001:db8::1
Address     2001:db8::1
Family      IPv6
Scope       documentation
Compressed  2001:db8::1
Expanded    2001:0db8:0000:0000:0000:0000:0000:0001
Hex         0x20010DB8000000000000000000000001
显示 IPv6 网络、最后地址和范围
ip 2001:db8::1/64
Address     2001:db8::1
Family      IPv6
Scope       documentation
Compressed  2001:db8::1
Expanded    2001:0db8:0000:0000:0000:0000:0000:0001
Hex         0x20010DB8000000000000000000000001
CIDR        2001:db8::/64
Network     2001:db8::
Last        2001:db8::ffff:ffff:ffff:ffff
Range       2001:db8:: – 2001:db8::ffff:ffff:ffff:ffff
Addresses   18446744073709551616
检查当前访问者地址
ip me
Address  198.51.100.24
Family   IPv4
Scope    documentation
(example: actual visitor address depends on the request)
检查当前服务器地址
ip server
Address  203.0.113.10
Family   IPv4
Scope    documentation
(example: actual server address depends on the host)
拒绝无效 IP 地址
ip 999.999.999.999
IP 地址无效

本示例使用的文件: sandbox/config/app.json

该示例使用受保护的 /sandbox/ 文档工作区中的文件或目录。

{
  "name": "lil-sandbox",
  "debug": true,
  "features": ["files", "code", "archives"],
  "limits": {
    "upload_mb": 2,
    "history": 25
  }
}

相关文档

当前公开版本

v1.2.22026-08-08

更清晰的 me/server 形式

将依赖当前请求的 me/server 与确定性的地址转换分开。