首页 文章

如何根据JAVA中的起始IP和网络掩码长度计算该范围内的结束IP

提问于
浏览
0

我正在试验MaxMind GeoIP(Geo lite 2)DB .

在来自MaxMind网站的(GeoLite2-Country-CSV.zip)源文件GeoLite2-Country-Blocks.csv中,我有这一行:

:: FFFF:87.197.0.0,112,3057568,3057568 ,,,,, 0,0

我有一个起始IPv4 IP地址:: ffff:87.197.0.0,我有IPv6网络掩码长度112,如何计算JAVA范围内的最后一个IP?

原因是我将CSV格式的MaxMind Geo lite 2数据库导入PostgreSQL数据库,因此我需要将导入的起始IP地址导入一个DB列,将最后的IP地址导入另一个DB列 .

谢谢 .

伊万

1 回答

  • 0

    如果您使用的是Postgres,则应使用cidr or inet type . 使用这些类型,您可以以 ::ffff:87.197.0.0/112 (或非IPv6映射地址的 87.197.0.0/16 )格式插入数据 . 使用网络类型,您可以在执行查询时利用Pg的network functions .

相关问题