我正在寻找一个类似于Net_IPv4和Net_IPv6但是为Java编写的包.它需要能够执行以下操作:
如果它还可以:它会很棒:
我可能会写一个包来做这一切,但如果有人已经经历了麻烦并且很可能做得更好,我就是在使用它.有人知道这样的一个或多个包可以做到这一切吗?我们正在扩展到IPv6,因此如果可能,它需要同时适用于IPv4和IPv6.
我感谢任何帮助.
我们正在使用GeoLite2数据库来实现IP - >国家/地区查找.出于性能原因,我们要导入CSV并将其转换为我们自己的格式.
CSV表示如下:
5.39.40.96/27,3017382,3017382,,0,0
5.39.40.128/28,3017382,3017382,,0,0
5.39.40.144/28,2635167,3017382,,0,0
5.39.40.160/27,3017382,3017382,,0,0
5.39.40.192/26,3017382,3017382,,0,0
5.39.41.0/25,3017382,3017382,,0,0
5.39.41.128/26,3017382,3017382,,0,0
5.39.41.192/26,2635167,3017382,,0,0
5.39.42.0/24,3017382,3017382,,0,0
5.39.43.0/25,3017382,3017382,,0,0
Run Code Online (Sandbox Code Playgroud)
所以我们需要将CIDR表示法(例如5.39.40.96/27 :)转换为IP地址范围.(从IP到IP)
如何在C#中完成?
注意:这不是这个问题的重复,因为我问的是C#实现而不是Java.
我发现在python(lib ipaddress)中.这是蟒蛇的例子.
ip="1.232.12.3"
net="1.232.12.0/20"
ip in net
Run Code Online (Sandbox Code Playgroud)
结果 true
我能用Java找到这个吗?
如何在java中将cidr转换为ip范围?我已经使用了apache SubnetUtils但忽略了该范围的第一个和最后一个值.
例如,对于CIDR 192.168.1.0/16,输出应为192.168.0.0至192.168.255.255.但我得到192.168.0.1到192.168.255.254.
请帮忙
我需要在 Java 中将 IP 子网掩码转换为 24 到 255.255.255.0 或 23 到 255.255.254.0。有没有我可以使用的 API?
谢谢。