librenms / ip-util
IPv4 和 IPv6 地址/网络解析实用程序类
1.5
2023-08-31 17:26 UTC
Requires
- php: >=5.6.4
Requires (Dev)
- phpunit/phpunit: >5.7
- squizlabs/php_codesniffer: >=2.9.1
README
IPUtil
IPv4 和 IPv6 地址/网络解析实用程序类
要求 PHP 5.6+
不需要 bcmath 或 gmp。
为在 LibreNMS - 网络监控软件 中使用而构建。
用法
创建一个新的 IP 实例
try { $ip = new IP('192.168.1.1'); // or $ip = IP::parse('192.168.1.1'); } catch (InvalidIpException $e) { // }
检查给定的字符串是否是有效的 IP
IP::isValid('192.168.1.333');
您可以通过直接使用这些类来特别要求 IPv4 或 IPv6
$ip = IPv4::parse('192.168.1.1'); $ip = IPv6::parse('2600::'); IPv4::isValid('192.168.1.1'); IPv6::isValid('2600::');
访问解析后的 IP
echo $ip; // print nicely formated IP with cidr/prefix echo $ip->address; // print just the address echo $ip->cidr; // print the prefix length echo $ip->compressed(); // Compresses IP addresses for easy reading echo $ip->uncompressed(); // Uncompresses IP addresses for easy parsing
处理网络操作
if ($ip->inNetwork('192.168.1.1/24')) { echo $ip->getNetwork(); }
从十六进制解析(对 SNMP 有用)
$ip = IP::fromHexString('c0a801fe');
许可证
版权 (C) 2017-2018 Tony Murray
本程序是自由软件:您可以在自由软件基金会发布的 GNU 通用公共许可证的条款下重新分发和/或修改它,许可证版本为 3,或(根据您的选择)任何更高版本。
本程序的分发是希望它会有用,但没有任何保证;甚至没有关于其商誉或特定用途适用性的暗示保证。有关详细信息,请参阅 GNU 通用公共许可证。
您应该已收到一份 GNU 通用公共许可证副本。如果没有,请参阅 https://gnu.ac.cn/licenses/。
LICENSE 包含完整的 GPLv3 许可证条件副本。