建立管理员将输入ip范围的监控工具 例如。
开始:192.168.1.3结束:192.168.1.30
输出:结构或数组
192.168.1.6 ......等等
OR
开始:192.168.1.50结束:192.169.1.12
输出:结构或数组
如何实现此结果。是否有可用的Java库?
答案 0 :(得分:3)
知道IP4地址是32位(4个元素中的每一个都是8位),您可以执行以下操作:
begin_int
迭代到end_int
(抱歉不给代码,但我的java知识有限)
更新(谷歌是你的朋友)(好吧,你也可以自己做!) 我的灵感来自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);
}