Coldfusion 获取给定 IP4 地址范围内的所有 IP 地址
Coldfusion Get all IP addresses from a given IP4 address range
建立管理员输入ip范围的监控工具
例如。
开始:192.168.1.3 结束:192.168.1.30
输出:结构或数组
- 192.168.1.4
- 192.168.1.5
192.168.1.6...等等
或
开始:192.168.1.50 End:192.169.1.12
输出:结构或数组
- 192.168.1.50
- 192.168.1.51...
- 192.169.1.3
我怎样才能做到这一点 result.Is 有可用的 java 库吗?
知道 IP4 地址是 32 位(4 个元素中的每一个都是 8 位),您可以执行以下操作:
- 将两个 IP 地址都转换为 32 位整数
- 创建一个从
begin_int
迭代到 end_int
的循环
- 将循环索引转换回 IP4 地址
(抱歉没给代码,我java知识有限)
更新(google是你的朋友)(好吧,你也可以自己做!)
我的灵感来自 here。正如我所说:不能保证这有效!
import java.net.InetAddress;
import java.nio.ByteBuffer;
// Convert from an IPv4 address to an integer
InetAddress from_inet = InetAddress.getByName("192.168.1.50");
int from_address = ByteBuffer.wrap(from_inet.getAddress()).getInt();
// Convert from an IPv4 address to an integer
InetAddress to_inet = InetAddress.getByName("192.169.1.12");
int to_address = ByteBuffer.wrap(to_inet.getAddress()).getInt();
for(int i = from_address; i < to_address; i++) {
// Convert from integer to an IPv4 address
InetAddress foo = InetAddress.getByName(i);
String address = foo.getHostAddress();
System.out.println(address);
}
建立管理员输入ip范围的监控工具 例如。
开始:192.168.1.3 结束:192.168.1.30
输出:结构或数组
- 192.168.1.4
- 192.168.1.5
192.168.1.6...等等
或
开始:192.168.1.50 End:192.169.1.12
输出:结构或数组
- 192.168.1.50
- 192.168.1.51...
- 192.169.1.3
我怎样才能做到这一点 result.Is 有可用的 java 库吗?
知道 IP4 地址是 32 位(4 个元素中的每一个都是 8 位),您可以执行以下操作:
- 将两个 IP 地址都转换为 32 位整数
- 创建一个从
begin_int
迭代到end_int
的循环
- 将循环索引转换回 IP4 地址
(抱歉没给代码,我java知识有限)
更新(google是你的朋友)(好吧,你也可以自己做!) 我的灵感来自 here。正如我所说:不能保证这有效!
import java.net.InetAddress;
import java.nio.ByteBuffer;
// Convert from an IPv4 address to an integer
InetAddress from_inet = InetAddress.getByName("192.168.1.50");
int from_address = ByteBuffer.wrap(from_inet.getAddress()).getInt();
// Convert from an IPv4 address to an integer
InetAddress to_inet = InetAddress.getByName("192.169.1.12");
int to_address = ByteBuffer.wrap(to_inet.getAddress()).getInt();
for(int i = from_address; i < to_address; i++) {
// Convert from integer to an IPv4 address
InetAddress foo = InetAddress.getByName(i);
String address = foo.getHostAddress();
System.out.println(address);
}