前言 nginx geoip geoip2 模块,集成了最新的免费 maxmind geoip mmdb 数据,可以使用nginx去获取访问IP具体归属国家地区,或者根据地区去进行流量分发功能 部署教程 下载geoip2数据 git clone https://gitee.com/ZTfred/nginx-geoip2.git cd nginx-geoip2 tar -zxvf GeoLite2-City tengine_bak mv ngx_http_geoip2_module/ /usr/local/tengine/modules/ cd ~/tengine-2.3.3/ # 重新编译nginx,添加geoip2 修改nginx配置,使其生效 vim /usr/local/tengine/conf/nginx.conf # 增加配置信息 # geoip2 配置 geoip2 /usr/share country_code country iso_code; $geoip2_data_country_name country names en; } geoip2
GeoIP2 是一个强大的离线数据库,该数据库内定义并记录了目前所有主机的IP地址和所在位置,通过传入某个IP地址,即可精确的定位到主机的位置,再结合谷歌地图可完美的画出坐标。 IP地址精准识别: 通过wireshark抓取pcap数据包,然后使用geoip2模块实现对IP地址的精准解析。 github.com/maxmind/GeoIP2-python 离线数据库:https://www.maxmind.com/en/accounts/current/geoip/downloads GeoIP2 response.country.names["zh-CN"]),end="\n") except Exception: pass 生成Google地图文件: 通过geoip2
GeoIP2是一种IP地址定位库,它允许开发人员根据IP地址查找有关位置和地理位置的信息。它使用MaxMind公司的IP地址数据库,并提供一个方便的Python API。 GeoIP2可以用于许多不同的应用程序,例如网站分析、广告定位和身份验证。GeoIP2提供了许多不同的信息,例如国家、城市、邮政编码、经纬度、时区等等。它还可以使用IPv6地址进行查询。 maxmind/GeoIP2-python离线数据库:https://www.maxmind.com/en/accounts/current/geoip/downloads读者可自行执行pip install geoip2
通过GeoIP2分析访问者IP获取地理位置信息 MaxMind GeoIP2 服务能识别互联网用户的地点位置与其他特征,应用广泛,包括个性化定制内容、诈欺检测、广告定向、网站流量分析、执行规定、地理目标定位 服务器进行日志分析获取网站访问量地域分布状况 官方库 数据库下载:https://geolite.maxmind.com/download/geoip/database/GeoLite2-City.tar.gz 接口 GeoIP2 PHP API 安装 1composer require geoip2/geoip2 如何使用 1$ip = RedisLock::getRemoteIp(); 2$reader = new Reader
# 如只需要国家信息建议使用该库 geoip2 /usr/local/GeoIP2/GeoLite2-Country.mmdb { $geoip2_data_country "default=China geoip2 /usr/local/GeoIP2/GeoLite2-City.mmdb { $geoip2_data_country "default=中国" source=$remote_addr usr/local/GeoIP2/ 后的 GeoIP2 数据库 $ tree /usr/local/GeoIP2/ /usr/local/GeoIP2/ ├── GeoLite2-City.mmdb └ EOF ls -alh /usr/local/GeoIP2 # 手动更新前 geoipupdate --stack-trace ls -alh /usr/local/GeoIP2 # 手动更新后 auto_reload 7d; $geoip2_country_code country names en; } geoip2 /usr/local/GeoIP2/GeoLite2
免费的geoip库文件下载: https://git.io/GeoLite2-City.mmdb 优点:nginx 集成方便 缺点:依赖geoip库准确度,国内个别 IP 解析存在问题 构建支持geoip2 s/ .*$//').tar.gz \ && tar zxf nginx-*.tar.gz \ && rm nginx-*.tar.gz # Get and compile the GeoIP2 git clone https://github.com/leev/ngx_http_geoip2_module.git # Configure and compile Nginx with the GeoIP2 from=builder /nginx-*/objs/ngx_http_geoip2_module.so /usr/lib/nginx/modules/ # Create directory for GeoIP2 配置 geoip2 /etc/nginx/geoip/GeoLite2-City.mmdb { # 自动重新加载时间 # auto_reload 5m; auto_reload
nali目前支持的地址库有: 纯真 IPv4 离线数据库 ZX IPv6 离线数据库 Geoip2 城市数据库 (可选) IPIP 数据库 (可选) ip2region 数据库 (可选) DB-IP 数据库 'geoip', 'geoip2' Chunzhen 'chunzhen', 'qqwry' IPIP 'ipip' Ip2Region : export NALI_DB_IP4=qqwry export NALI_DB_IP6=geoip2 3.3 语言版本 通过设置变量NALI_LANG来指定语言,设置非中文语言时目前仅支持GeoIP2 放置后,则可以正常通过指定语言来输出IP归属地,比如下面这种临时写法: NALI_LANG=en NALI_DB_IP4=geoip2 nali 8.8.8.8 如果要永久生效,和上面一样通过export 设置即可: export NALI_LANG=en export NALI_DB_IP4=geoip2 3.4 交互式查询 交互式查询,直接执行nali,输入一个IP回车后即可返回IP地址: nali
解决方法: 官网提供了一个升级版GeoIP2。 GeoIP2有什么新的功能? MaxMind的GeoIP2 Precision服务和GeoIP2数据库是我们最初的GeoIP Web服务和数据库的演变,详细可见 官网说明 。 GeoIP2将数据库从GeoIP.dat换成 GeoLite2-Country.mmdb 。 问题2:我们使用的是docker的nginx镜像,如何在docker镜像中安装nginx插件。 解决方法: 1.搜索dockerhub,不过截至目前,dockerhub中能够搜到的官方nginx提供的是GeoIP的,非官方提供的GeoIP2 nginx,测试了一下,不可使用(也可能我测试方法不对 问题3:GeoIP2使用的nginx插件,在MaxMind官网提供的API提示“警告!MaxMind并 没有 提供对这些API的支持,并没有审查的代码,使用风险由您自己承担。”。
https://github.com/oschwald/geoip2-golang用来解析 [GeoLite2](http://dev.maxmind.com/geoip/geoip2/ geolite2/) and [GeoIP2](http://www.maxmind.com/en/geolocation_landing)数据库的一个工具包。 类似于nginx的https://github.com/leev/ngx_http_geoip2_module GeoIP2数据库有什么用呢? 比如我们常用的网络工具https://github.com/zu1k/nali 其实就用到了geoip2-golang这个包来解析GeoIP2数据。 比如城市信息: // The City struct corresponds to the data in the GeoIP2/GeoLite2 City // databases. type City
后来基于 GoLang 重写了这款工具,在原有功能的基础之上增加了对 IPv6 的支持,并且增加了 Geoip2 数据库。 1. nali 的特征 支持多种数据库 纯真 IPv4 离线数据库 ZX IPv6 离线数据库 Geoip2 城市数据库 (可选) IPIP 数据库 (可选) ip2region 数据库 (可选) CDN 目前所支持的变量内容: Geoip2 ['geoip', 'geoip2', 'geo'] Chunzhen ['chunzhen', 'qqip', 'qqwry'] IPIP ['ipip', 'ipipfree
主要更新内容如下: 客户端汉化 文件浏览器功能增强以及大量优化,适配 CrossC2 插件 进程浏览功能增强 对话框描述自适应行数 更换纯真 IP 库为 Geoip2 IP 库 beacon 右键信息查看 更换 IP 库为 Geoip2 IP 库 由于纯真 IP 库缺少最新的 IP 库,使用较旧的 IP 库识别不够准确,因此将 IP 库由纯真 IP 库换成了 Geoip2 IP 库: 对比两家的 IP 库的特点如下 Geoip2 IP 库:可直接从官网下载到最新的 IP 数据源,IP 库比较大(60 MB),加载迅速(1-2秒),国家省级别识别精确。 可以看出纯真 IP 库属于牺牲时间获取空间,Geoip2 IP 库属于牺牲空间换取时间的类型,Geoip2 IP 库用了一段时间感觉小范围精确到市的可能没纯真 IP 库准确但是也够用了,而且 Geoip2
verbose_name_plural = verbose_name def __str__(self): return str(self.day) 使用 geoip2 实现 IP 转换成现实地理位置 安装 geoip2 库 pip install geoip2 下载 Maxmind 网站的 IP 信息库 地址:http://dev.maxmind.com/geoip /geoip2/geolite2 下载完之后,解压,将解压包中的 mmdb 文件复制到项目的应用程序中 下载个GeoLite2 City使用。
附上: 喵了个咪的博客: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 是要收费提供专业服务
local/openresty/nginx/conf/lua/ip_limitlist.lua; content_by_lua 'ngx.say("hello,lua")'; } 3.验证lua geoIp2 需要lua支持geoIp2调用需要安装桥接依赖: /usr/local/openresty/bin/opm get anjia0532/lua-resty-maxminddb 执行安装命令报错,缺少 Digest/MD5依赖,安装即可: yum -y install perl-Digest-MD5 安装成功后,继续执行前边的安装桥接命令: GeoIP2 lua库依赖动态库安装,lua库依赖libmaxminddb /GeoLite2-Country_20230203.tar.gz root@xxx:/opt/tools/geoIp2 解压得到目录/opt/tools/geoIp2/GeoLite2-Country ip = ngx.var.remote_addr local isPh = false if not geo.initted() then geo.init("/opt/tools/geoIp2
场景说明 当云服务器位于公网时,并开放了SSH端口,会经常受到SSH暴力破解攻击 通过rsyslog转发云服务器系统日志到GrayLog进行日志分析系统安全日志,结合GeoIP2地址数据库就可以获取SSH Pack https://github.com/xkill/graylog_4.1_ssh (图片可点击放大查看) (图片可点击放大查看) (图片可点击放大查看) (图片可点击放大查看) 2、GeoIP2
1.https://chaipip.com chaipip,采用三角定位和调用IPIP,Google,qqzeng,纯真IP,IP2Region,GeoIp2,埃文科技等多家IP库来实现定位。
33:54 UTC] PHP Fatal error: Interface 'JsonSerializable' not found in /var/www/html/includes/vendor/geoip2 /geoip2/src/Model/AbstractModel.php on line 8 三、解决 试着安装一下php-json yum -y install php-json 再次使用外网
安装 geoip2 扩展依赖 [root@fxkj ~]# yum install libmaxminddb-devel -y 下载 ngx_http_geoip2_module 模块 [root@fxkj nginx/conf/nginx.conf-bak [root@fxkj ~]# vim /usr/local/nginx/conf/nginx.conf 在 http 中添加 几行,定义数据库文件位置 geoip2
iptables -D INPUT -m set --match-set cnip src -j ACCEPT#查看封禁列表iptables -L | grep match-set 六、Nginx安装geoip2 模块说明:此方法来自网络,geoip2模块受ip地址数据库影响,也有可能存在信息同步不及时以及误判等情况,仅参考使用6.1 下载nginx安装 ngx_http_geoip2 模块至少需要nginx 1.18 nginx.conf /usr/local/nginx/conf/nginx.conf-bak # vim /usr/local/nginx/conf/nginx.conf在http 中添加几行代码,定义数据库文件位置geoip2
GeoIP2 Precision Insights服务提供IP地址所在地点Maxmind所掌握的最准确信息,可以将其精确定位到邮政编码层面。 GeoIP2 Precision Insights 现在可以提供人均收入(美元)以及每平方公里的人口数量(仅限美国)。