[喵咪开源软件推荐(3)]全球IP库-GeoLite2-City

[喵咪开源软件推荐(3)]全球IP库-GeoLite2-City

#w-blog博客

哈喽大家好啊!喵咪开源软件推荐(3)终于和大家见面了,这次我们来说说什么呢?大家有没有遇到过这样一个场景,当你出国游玩的时候到了一个国家时你的手机就自动提示你在哪里是否需要切换时区,或者是地图定位时机器没有GPS芯片怎么通过网络定位获取经纬度等信息,这个时候我们能够获取到最好的属性就是IP地址,每一个国家都分配的有一批IP地址并且也有专门维护IP地址库的组织,看到这里大家也明白了对了我们今天就来推荐GenLite2这款IP数据库给到大家...

附上:

喵了个咪的博客:w-blog.cn

geolite2 下载地址 :http://dev.maxmind.com/geoip/geoip2/geolite2/

geoip2-golang 项目地址 :https://github.com/oschwald/geoip2-golang

1.GenLite2

1.1 简单介绍

GenLite2 是 Geoip2 的免费版本(Geoip2 是要收费提供专业服务,并且IP地址库对相对免费的更新频繁,有钱的老爷们可以购买支持),这款IP数据库是由 maxmind 进行维护的,

GenLite2 提供的IP数据库格式有两种一种是二进制DB文件,另外一种是csv文件,首先还是推荐使用DB文件,并且精准度有两个等级,一个是精确到国家(数据相对比较少1.2MB)另外一个就是精确到城市(30MB左右).

1.2 用什么东西来使用?

既然是数据库可以导入到MYSQL来使用? 虽然可以通过csv格式来进行处理,但是很麻烦很多格式基本是它独有的,那么我们要怎么使用呢?笔者在github找了一下几款可以使用到genip2的扩展库如下

maxmind/GeoIP2-php
oschwald/geoip2-golang
maxmind/GeoIP2-java
maxmind/GeoIP2-python

大部分都是官方maxmind提供的

2. 具体的IP数据库效果怎么样呢?

笔者通过Golang编写了一个简单API来提供IP地址信息查询,笔者找了一个湖南长沙的IP地址220.168.56.116 查询结果如下

{
    "City": {
        "GeoNameID": 1815577,
        "Names": {
            "de": "Changsha",
            "en": "Changsha",
            "es": "Changsha",
            "fr": "Changsha",
            "ja": "長沙市",
            "pt-BR": "Changsha",
            "ru": "Чанша",
            "zh-CN": "长沙市"
        }
    },
    "Continent": {
        "Code": "AS",
        "GeoNameID": 6255147,
        "Names": {
            "de": "Asien",
            "en": "Asia",
            "es": "Asia",
            "fr": "Asie",
            "ja": "アジア",
            "pt-BR": "Ásia",
            "ru": "Азия",
            "zh-CN": "亚洲"
        }
    },
    "Country": {
        "GeoNameID": 1814991,
        "IsoCode": "CN",
        "Names": {
            "de": "China",
            "en": "China",
            "es": "China",
            "fr": "Chine",
            "ja": "中国",
            "pt-BR": "China",
            "ru": "Китай",
            "zh-CN": "中国"
        }
    },
    "Location": {
        "AccuracyRadius": 50,
        "Latitude": 28.1792,
        "Longitude": 113.1136,
        "MetroCode": 0,
        "TimeZone": "Asia/Shanghai"
    },
    "Postal": {
        "Code": ""
    },
    "RegisteredCountry": {
        "GeoNameID": 1814991,
        "IsoCode": "CN",
        "Names": {
            "de": "China",
            "en": "China",
            "es": "China",
            "fr": "Chine",
            "ja": "中国",
            "pt-BR": "China",
            "ru": "Китай",
            "zh-CN": "中国"
        }
    },
    "RepresentedCountry": {
        "GeoNameID": 0,
        "IsoCode": "",
        "Names": null,
        "Type": ""
    },
    "Subdivisions": [
        {
            "GeoNameID": 1806691,
            "IsoCode": "43",
            "Names": {
                "en": "Hunan",
                "fr": "Province de Hunan",
                "zh-CN": "湖南"
            }
        }
    ],
    "Traits": {
        "IsAnonymousProxy": false,
        "IsSatelliteProvider": false
    }
}

准确的解析出了中国湖南长沙并且还有多国语言的称呼,笔者在试了试通过手机移动网来进行的解析,笔者在上海市杨浦区获得的经纬度是 31.0456,121.3997,但是具体经纬度结果还是相差甚远

3 总结

GeoLite2可以解决通过IP对城市级别的定位问题,但是解析出来的经纬度有比较大的偏差笔者在杨浦区经纬度解析到了闵行区,感兴趣的大家也可以下载下来体验一下,今后喵咪会给大家带来更多有趣的开源软件,多谢大家的支持下周再见.

注:笔者能力有限有说的不对的地方希望大家能够指出,也希望多多交流!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

使用ESP8266模块进行Deauth攻击及其他WiFi hacks

著名的无线黑客Samy Kamkar曾建议我们多去关注低成本的hacking/exploitation工具,NodeMCU就是这样的一款工具,一块基于LUA固件...

4534
来自专栏DeveWork

使用无觅相关文章插件一定要删除的代码

无觅相关文章插件许多博主都在使用,这个插件的确是不错,图文模式的排版美观(虽然文章相关性一直不够),无论是读者还是博主,浏览体验都很好。对无觅本身来说,这一个小...

27610
来自专栏域名资讯

Xdun.com11.5万元被终端收购?

四声母.com域名常见到在行情价几千块的情况下,因为遇到终端或者含义的原因,能够卖到五位数甚至六位数。

800
来自专栏域名资讯

好米抢手 叠拼jinjin.com拍出30万高价

临近2017年年底了,但是米市显然呈现一幅越来越热闹的场景,不断有域名卖出好价格的交易消息传出。而近日就有两枚不错的域名结拍:jinjin.com...

2130
来自专栏域名资讯

免费域名与收费域名的差别有哪些?

企业建设网站是企业宣传和推广自己的一个重要方式,而域名是建站的必要因素。目前域名已经成为互联网的品牌、网上商标保护必备的产品之一,接下来就来说说域...

86610
来自专栏HBStream流媒体与音视频技术

免费猪八戒网站软件任务小助手--小八戒更新版本1.5

3106
来自专栏即时通讯技术

解密“达达-京东到家”的订单即时派发技术原理和实践1、前言2、关于作者3、订单即时派发架构的演进5、订单派发方案的具体实现6、结语附录:更多相关技术文章

达达-京东到家作为优秀的即时配送物流平台,实现了多渠道的订单配送,包括外卖平台的餐饮订单、新零售的生鲜订单、知名商户的优质订单等。为了提升平台的用户粘性,我们需...

1162
来自专栏FreeBuf

网络钓鱼攻击:Paypal用户很不幸的又中枪

近期有不少网购用户收到一封来自Paypal的电子邮件,里面包含了购买商品的订单详情,并附着一个友情提示链接,其实它就是一钓鱼链接。 收到邮件的用户都应该知道,邮...

20510
来自专栏鹅厂网事

透过MH370看网络自动化监控

引子 MH370已经消失4个月了,这个严重的灾难也被蒙上了神秘的面纱,找不到消失的任何记录。也意味着,马航无法确保这种事情不会再次发生,人类生活在恐惧...

2189
来自专栏SAP最佳业务实践

SAP最佳业务实践:FI–现金管理(160)-27现金集中-FF.D生成付款请求

4.8.2 FF.D生成付款请求 通过集中建议创建付款通知后,需要从付款通知中创建相应付款请求。付款请求在下一步通过付款程序读取并用于执行付款和创建付款文件。 ...

3097

扫码关注云+社区

领取腾讯云代金券