GeoLite City如何使用,如何获取startIpNum和endIpNum

Posted

技术标签:

【中文标题】GeoLite City如何使用,如何获取startIpNum和endIpNum【英文标题】:How to use GeoLite City, how to obtain startIpNum and endIpNum 【发布时间】:2015-05-15 12:22:15 【问题描述】:

好的,我从http://dev.maxmind.com/geoip/legacy/geolite/ GeoLite City 数据库下载。

值在GeoLiteCity-Blocks.csv

startIpNum,endIpNum,locId
"16777216","16777471","17"

但是我不知道如何将 ips 转换为这些 startIpNum 和 endIpNum 范围。我在他们的网站上找不到,他们链接到这里

ip v4转换成这个的算法是什么?

非常感谢

【问题讨论】:

【参考方案1】:

这取决于您使用哪种编程语言。

php中,你可以使用ip2long和long2ip来处理ips。

string long2ip ( string $proper_address )
The function long2ip() generates an Internet address in dotted format (i.e.: aaa.bbb.ccc.ddd) from the proper address representation.

http://php.net/manual/en/function.long2ip.php

您提供的 ips 示例:http://sandbox.onlinephpfunctions.com/code/3decd3d4818a02d65b9a80cf2dc1c70297b0d2d5

【讨论】:

【参考方案2】:

如果你使用 Python,你可以使用

>>> import socket, struct
>>> socket.inet_ntoa(struct.pack('!L', 16777216))
'1.0.0.0'

从整数转换为 IP 字符串。

【讨论】:

以上是关于GeoLite City如何使用,如何获取startIpNum和endIpNum的主要内容,如果未能解决你的问题,请参考以下文章

在 SQL Server 中查询 Maxmind GeoLite2 City Blocks csv 以获取 IPv6 和 IPv4 地址的 geoname_id

检查 GeoLite2 是不是有 IP 地址

如何在 Piwik 3.0.2(Motomo 旧版本)上安装 Geolite2?

MaxMind 免费 GeoLite City DB 不可靠?

geolite_city_bq_b2 数据集的准确性

maxmind GeoLite2-City accuracy_radius