如何从IP地址列表中查找IP地址范围
问题描述:
我有大约20000个IP地址。我正在寻找这些IP地址的网络块范围。目的是提供信息在防火墙上留下空间,以便允许这些地址。我可以查看a.b.c.d/x位格式。可能有几个范围。如何从IP地址列表中查找IP地址范围
更新:我的IP地址已经在我的apache日志文件中,而不是创建新的。
答
您无法从地址中确定此项。你需要知道子网掩码。
答
你想以编程方式找到它们吗?如果你的答案是肯定的,我会用Java解决它。除非你改变originalIP变量为真正的IP
public static void main(String[] args) {
String originalIP = "a.b.c.d/x";
String[] ipParts = originalIP.split("[\\.\\/]");
boolean ipWithinBounds = true;
for (int i = 0; i < ipParts.length; i++) {
ipWithinBounds &= withinBounds(Integer.parseInt(ipParts[0]),
lowerBound, upperBound);
}
}
public static boolean withinBounds(int check, int lowerBound, int upperBound) {
if(check >= lowerBound && check <= upperBound)
{
return true;
}
else
{
return false;
}
}
这是行不通的。
IP地址不属于块。你能举一个你想要做什么的例子吗? – skaffman 2009-08-17 21:06:57
请参阅更新:我试图找出现有IP地址的范围。 – aartist 2009-08-17 21:35:56
是的,我们意识到这一点,但这并不会改变您无法从IP地址确定网络块的事实。 – skaffman 2009-08-18 21:19:14