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.