前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >[喵咪开源软件推荐(3)]全球IP库-GeoLite2-City

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

作者头像
喵了个咪233
发布于 2018-03-02 06:54:03
发布于 2018-03-02 06:54:03
5.6K00
代码可运行
举报
运行总次数:0
代码可运行

[喵咪开源软件推荐(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的扩展库如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
maxmind/GeoIP2-php
oschwald/geoip2-golang
maxmind/GeoIP2-java
maxmind/GeoIP2-python

大部分都是官方maxmind提供的

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
    "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对城市级别的定位问题,但是解析出来的经纬度有比较大的偏差笔者在杨浦区经纬度解析到了闵行区,感兴趣的大家也可以下载下来体验一下,今后喵咪会给大家带来更多有趣的开源软件,多谢大家的支持下周再见.

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
全网的 IP 归属地显示,带你5分钟加上,就是这么简单!
最近,继新浪微博之后,今日头条、腾讯、抖音、知乎、快手、小红书、百家号等各大平台陆陆续续都上线了"网络用户IP地址显示功能",境外用户显示的是国家,国内的用户显示的省份,而且此项显示无法关闭,归属地强制显示;
一行Java
2022/05/17
2.4K0
全网的 IP 归属地显示,带你5分钟加上,就是这么简单!
一文教你识别IP地址所属国家和城市
在网关的应用中,有时会有限制服务在指定的国家和城市进行开放,目前主流的方案有使用付费的在线API和使用离线的IP数据库。接下来将介绍这两种方案的实际应用。
码之有理
2024/05/13
1.5K0
9.Nginx实践之使用MaxMind的GeoIP2实现处理不同国家或城市的访问最佳实践指南
描述: 为了实现根据访问者访问我们的网站时根据其IP显示其所属地,也为获取不同地区访问者的IP地址等相关信息为目的,所以在搜索引擎中查找解决方案,在网络上查询到如下几种方案Nginx+GeoIP2、使用收费 IP 识别接口、DNS 根据地域解析,然后经过多方面考究,最终还是使用Nginx+GeoIP2解决方案。
全栈工程师修炼指南
2022/09/29
6.3K0
9.Nginx实践之使用MaxMind的GeoIP2实现处理不同国家或城市的访问最佳实践指南
小课堂 | 根据ip获取城市名
到目前为止,很多开放接口,如淘宝、新浪、腾讯、百度等开放接口或失效或需要key。很多接口已不再免费调用,本文提供3种方式:
孟君
2021/11/16
4.2K0
小课堂 | 根据ip获取城市名
[喵咪软件推荐(1)]全球国家信息库
哈喽大家好啊!今天又来刨坑了,这次给大家带来的是软件推荐系列,主要是把一些特别好用的一些软件推荐给大家并且分析使用场景以及用法,今天要给大家介绍的一个类软件呢,主要是解决全球化地址这类问题,那么话不多说进入今天的正片环节.
喵了个咪233
2018/03/02
1.5K0
[喵咪软件推荐(1)]全球国家信息库
这个恶意软件“奇葩”的反虚拟机技巧
最近,我分析到一个行为异常的恶意软件样本。由于很难发现该恶意软件的真实行为,所以我花了很多时间去调试分析。然而在分析过程中,又有多种因素会导致运行崩溃和异常。在此,我就发表了对该恶意软件反虚拟机的一些
FB客服
2018/02/08
1.3K0
这个恶意软件“奇葩”的反虚拟机技巧
通过GeoIP2分析访问者IP地理位置
MaxMind GeoIP2 服务能识别互联网用户的地点位置与其他特征,应用广泛,包括个性化定制内容、诈欺检测、广告定向、网站流量分析、执行规定、地理目标定位、地理围栏定位 (geo-fencing)以及数字版权管理。目前使用 GeoIP 更多是配合Nginx或Apache服务器进行日志分析获取网站访问量地域分布状况
Tinywan
2019/07/15
2.7K0
利用Wireshark与Geolite地址库进行IP定位、地图分布可视化及特征报文深入分析
网络扫描和DDoS攻击等行为频繁出现,对网络安全构成严重威胁。为了更好地应对这些安全挑战,我们需要对网络流量来源分布和行为进行深入分析,从而识别潜在的威胁。本文将介绍如何使用MaxMind地址库(包括GeoLite2 ASN、GeoLite2 City和GeoLite2 Country)结合Wireshark进行IP地理位置信息的解析与分析,以及通过Wireshark内置的26个Geo相关字段如何精准过滤我们想要的特征报文,并让它们呈现在地图分布上。
RokasYang
2024/08/09
1.7K4
利用Wireshark与Geolite地址库进行IP定位、地图分布可视化及特征报文深入分析
将ip转换为地理位置存入elasticsearch
有些需要将一些数据基于地址位置进行分析,比如哪些区域比较活跃,在什么时间范围内活跃,但是后端仅能获取ip地址,因此需要将ip地址转换为地理位置,幸运的是我们有开源的工具可以使用,maxmind/GeoIP2-java使用GeoLite2-City.mmdb库就可以由ip分析得到对应的经纬度,下面给出具体操作步骤:
johnhuster的分享
2022/03/29
1.1K0
将ip转换为地理位置存入elasticsearch
基于 Elasticsearch + kibana 实现 IP 地址分布地图可视化
两个已知知识点一整合不就是基于 Elasticsearch + Kibana 的可视化展示方案吗?
铭毅天下
2021/03/04
2.9K0
使用.NET查询日出日落时间
在WPF中,通过资源文件实现主题切换是个常见的功能,有不少文章介绍了如何实现手动切换主题。那如何实现自动切换主题呢?通常有两种机制:一是跟随系统明暗主题切换,二是像手机操作系统那样根据日出日落时间自动切换。本文将以终为始,采用倒推法一步步介绍如何使用.NET免费获取日出日落时间。
czwy
2024/05/10
5030
Python 运用GeoIP2离线数据库定位
GeoIP2 是一个强大的离线数据库,该数据库内定义并记录了目前所有主机的IP地址和所在位置,通过传入某个IP地址,即可精确的定位到主机的位置,再结合谷歌地图可完美的画出坐标。
王 瑞
2022/12/28
1.3K0
CentOS Apache服务器安装与配置
一、安装Apache程序,一般有三种安装方式: 1.直接网络安装; 2.下载rpm包,上传至服务器进行安装; 3.通过原代码编译安装;
星哥玩云
2022/06/29
1.2K0
21.4 Python 使用GeoIP2地图定位
GeoIP2是一种IP地址定位库,它允许开发人员根据IP地址查找有关位置和地理位置的信息。它使用MaxMind公司的IP地址数据库,并提供一个方便的Python API。GeoIP2可以用于许多不同的应用程序,例如网站分析、广告定位和身份验证。GeoIP2提供了许多不同的信息,例如国家、城市、邮政编码、经纬度、时区等等。它还可以使用IPv6地址进行查询。
王 瑞
2023/10/24
8180
21.4 Python 使用GeoIP2地图定位
graylog日志分析系统上手教程
日志分析系统可以实时收集、分析、监控日志并报警,当然也可以非实时的分析日志。splunk是功能强大且用起来最省心的,但是要收费,免费版有每天500M的限制,超过500M的日志就没法处理了。ELK系统是最常见的,缺点是配置麻烦一些,比较重量级。graylog是开源免费的,配置上要比ELK系统简单。综上,本文尝试容器方式搭建一套graylog系统,不做实时收集日志和报警的配置,只完成非实时被动接收网站日志,分析日志各项指标的功能。 docker官方镜像国内速度我觉得慢,改成国内镜像。新建文件daemon.json如下
震八方紫面昆仑侠
2020/09/01
8.5K1
graylog日志分析系统上手教程
Python 运用Dpkt库解析数据包
dpkt项目是一个python模块,用于快速、简单的数据包解析,并定义了基本TCP/IP协议,使用该库可以快速解析通过各类抓包工具抓到的数据包,从而提取分析包内的参数。
王 瑞
2022/12/28
2K0
[喵咪开源软件推荐(5)]开源DNS服务-bind
[喵咪开源软件推荐(5)]开源DNS服务-bind 哈喽大家好呀!~~ 今天又为大家带来了一个有趣的东西就是DNS服务器,稍微了解网络的童鞋都知道我们在使用域名访问一个网站的时候是通过公共DNS服务器
喵了个咪233
2018/03/02
4.5K1
[喵咪开源软件推荐(5)]开源DNS服务-bind
golang源码分析之geoip2-golang
https://github.com/oschwald/geoip2-golang用来解析
golangLeetcode
2022/08/02
8110
Django实现统计网站访问次数、访问 ip 、受访页面
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
菲宇
2019/10/22
7.7K1
[喵咪软件推荐(2)]全球服务器测速工具speedtest-cli
[喵咪软件推荐(2)]全球服务器测速工具speedtest-cli w-blog博客 前言 在上一篇章中给大家介绍了全球国家信息国旗区号等一些全球国家新的库,今天也给大家介绍一个和全球化有关的软件,它
喵了个咪233
2018/03/02
5.2K1
[喵咪软件推荐(2)]全球服务器测速工具speedtest-cli
推荐阅读
相关推荐
全网的 IP 归属地显示,带你5分钟加上,就是这么简单!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档