NAME

PDK::Utils::Ip - IP地址和掩码处理工具类

VERSION

版本 1.0

SYNOPSIS

use PDK::Utils::Ip;

my $ip_utils = PDK::Utils::Ip->new();

# 从IP范围获取整数范围
my ($min, $max) = $ip_utils->getRangeFromIpRange('192.168.1.1', '192.168.1.10');

# 从IP和掩码获取范围
my $set = $ip_utils->getRangeFromIpMask('192.168.1.1', 24);

# 获取网络IP
my $net_ip = $ip_utils->getNetIpFromIpMask('192.168.1.1', 24);

METHODS

getRangeFromIpRange($ipMin, $ipMax)

从IP范围获取整数范围。

参数:

  • $ipMin - 最小IP地址

  • $ipMax - 最大IP地址

返回值:

标量上下文:PDK::Utils::Set对象

列表上下文:(最小值, 最大值)

getRangeFromIpMask($ip, $mask)

从IP和掩码获取范围。

参数:

  • $ip - IP地址或IP范围

  • $mask - 掩码(可选,默认为32)

返回值:

标量上下文:PDK::Utils::Set对象

列表上下文:(最小值, 最大值)

getNetIpFromIpMask($ip, $mask)

从IP和掩码获取网络IP。

参数:

  • $ip - IP地址

  • $mask - 掩码(可选,默认为32)

返回值:

网络IP地址

changeIntToIp($num)

将整数转换为IP地址。

参数:

  • $num - 整数形式的IP

返回值:

点分十进制形式的IP地址

changeIpToInt($ip)

将IP地址转换为整数。

参数:

  • $ip - 点分十进制形式的IP地址

返回值:

整数形式的IP

异常:

如果IP格式非法,抛出异常。

changeMaskToNumForm($mask)

将掩码转换为数字形式。

参数:

  • $mask - 掩码(可以是点分十进制或数字形式)

返回值:

数字形式的掩码(0-32)

异常:

如果掩码格式非法或值超出范围,抛出异常。

changeWildcardToMaskForm($wildcard)

将反掩码转换为掩码形式。

参数:

  • $wildcard - 反掩码

返回值:

掩码形式,如果转换失败则返回undef

changeMaskToIpForm($mask)

将数字形式的掩码转换为IP形式。

参数:

  • $mask - 掩码(数字形式或IP形式)

返回值:

IP形式的掩码

异常:

如果掩码格式非法或值超出范围,抛出异常。

getIpMaskFromRange($min, $max)

从IP范围获取IP/掩码表示。

参数:

  • $min - 最小IP(整数形式)

  • $max - 最大IP(整数形式)

返回值:

IP/掩码表示或IP范围

异常:

如果$max未定义,抛出异常。

getRangeFromService($service)

从服务描述获取范围。

参数:

  • $service - 服务描述(格式:协议/端口)

返回值:

标量上下文:PDK::Utils::Set对象

列表上下文:(最小值, 最大值)

AUTHOR

WENWU YAN <968828@gmail.com>

COPYRIGHT AND LICENSE

Copyright (C) 2024 WENWU YAN. All rights reserved.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.