librenms/ip-util

IPv4 和 IPv6 地址/网络解析实用程序类

安装: 253

依赖项: 0

建议者: 0

安全: 0

星标: 6

关注者: 4

分支: 2

类型:项目

1.5 2023-08-31 17:26 UTC

This package is auto-updated.

Last update: 2024-08-30 01:38:08 UTC


README

CI

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 许可证条件副本。