GeoIP,或称IP地理定位技术,是一种通过分析互联网用户的IP地址来确定其大致地理位置的技术。这种技术依赖于一个庞大、不断更新的数据库,记录了各个IP地址与地理位置之间的对应关系。知名服务商如 MaxMind、DB-IP 和 ipinfo 等提供这种数据库的访问和查询服务。
-
市场策略和内容定制
- 企业和网站管理员可以了解用户的地理分布,制定更加针对性的市场策略和内容。
- 例如,在线零售商可以根据用户位置展示相应的货币和语言,甚至推荐特定区域的产品。
-
网络安全
- 通过识别来自特定地区的流量,有效防范来自高风险地区的潜在网络攻击。
- 例如,拒绝来自某些国家的访问请求。
-
合规性监管
- 特别是内容分发和版权受限的媒体服务,需要根据用户所在地的法律法规调整内容提供。
- 例如,确保视频或音乐服务遵守各地的版权法规。
GeoIP技术对于提升用户体验、保障网络安全以及确保法律合规性等方面具有重要意义。随着全球互联网的发展,这种技术的应用将更加广泛和深入。
GeoIP数据库提供商,如MaxMind、DB-IP等,通常提供多种格式的数据库。这些格式包括但不限于以下几种:
- 描述:逗号分隔值(CSV)格式,是一种简单的文本格式,用于存储表格数据。
- 优点:易于阅读和编辑,可以使用任何文本编辑器或表格处理软件(如Microsoft Excel)打开。
- 缺点:文件大小通常较大,处理速度可能不如其他格式快。
2. MMDB格式 Specification
- 描述:MaxMind首先设计的GeoIP数据库格式,用于GeoIP数据库。
- 优点:为快速查询而优化,体积相对较小,查询速度快。
- 缺点:需要专门的解析库或工具来读取,不如CSV格式通用。
- 数据结构:使用嵌套数据格式,可能使查询复杂。
- 数据量:每行数据包含多个翻译,导致数据行较大。
- 数据结构:扁平和表格化,提高查询效率。
- 数据库种类:提供ASN、隐私检测和托管域名等特色数据库。
- 数据格式:更简单、直接的输出。
- 定制化:根据客户需求提供定制数据库版本。
- 描述:JavaScript对象表示法(JSON)是一种轻量级的数据交换格式。
- 优点:格式清晰,易于人类阅读和编写,同时也易于机器解析和生成。
- 缺点:文件大小可能较大,解析速度可能不如二进制格式快。
- 描述:扩展标记语言(XML)是一种标记语言,用于存储和传输数据。
- 优点:结构清晰,可扩展性强,被广泛支持。
- 缺点:文件较大,解析复杂度高,性能较JSON和二进制格式差。
- 描述:专为速度和效率优化的格式,通常为提供商定制。
- 优点:查询速度快,文件体积小。
- 缺点:不易于阅读和编辑,需要特定的工具来处理。
- 范例: https://github.com/rabuchaim/geoip2fast
这些格式各有优劣,选择哪种格式取决于特定应用的需求。例如,需要高速查询的应用可能会倾向于使用MMDB或其他二进制格式,而需要人工编辑或查看数据的场景可能更适合CSV或JSON格式。
-
MaxMind 提供广泛使用的GeoIP数据库和服务。
- 提供Lite、Commercial许可的离线数据库
- 需要注册使用API key方式下载
- Lite 两周更新频率
- Lite许可:CC BY 4.0
-
IPinfo 以其API服务和定制数据库而知名。
- 提供Free、Commercial许可的离线数据库
- Free 版:
IP to ASN
、IP to Country
、IP to Country + IP to ASN
- 可以申请API Key,便于使用URL方式直接访问
- 或者访问cnartlu/geoip2 自动化下载ipinfo.io的免费版数据文件,执行时间段为每日的 3.30 11.30 19.30
-
DB-IP 提供IP地址数据库和相关服务。
- 提供Lite、Commercial许可的离线数据库
- Lite 月度更新频率
- 不需要注册,需要手动点击checkbox接受协议,才可以下载
- 或访问 MaurUppi/Downloader for DB-IP.com Databases, 可以直接下载,自动检查频率为 每日的 1:00,DP-IP有更新就有Release
- Lite许可:CC BY 4.0
-
IP2Location 另一家提供GeoIP服务和数据的公司。
- Is an open source geolocation database with limited accuracy.
- Lite 版入口
- Lite 版提供
IP2Location Database
,IP2Proxy Database
,ASN Database
- Lite
IP2Location Database
能够提供到的最详细版本: IP-COUNTRY-REGION-CITY-LATITUDE-LONGITUDE-ZIPCODE-TIMEZONE
-
ip-api.com 仅提供web接口
- 提供Free、Pro、Enterprise的服务/数据级别
- Free不需要API Key即可访问,但是限制每分钟45次访问
-
其它公开服务 仅提供部分的公开信息
- OpenGeoFeed
- RouteViews: AS number from ipv4 address [Update: every 2 hours]
- IPtoASN [Update: Hourly]
- ip-location-db [资源整合]
- IPFire Firewall maintains a geoip database in a custom format, which notably includes IP categorization, such as is-anycast.
-
- 提供IP地址的地理位置、运营商信息等商用服务。
- 社区版:china_ip_list
- 社区版 一般每季度更新一次
- 社区版 许可:CC BY 4.0
-
- 提供IP地址查询服务,包括地理位置和运营商信息。
- 提供商用服务,也有社区离线版
-
百度地图API
- 提供IP定位服务,适用于网站和移动应用。
-
高德地图API
- 提供IP定位功能,适用于多种应用场景。
-
腾讯位置服务
- 提供基于IP的位置服务,支持多种开发平台。
-
苍狼山庄 不是服务商,但是知名的社区。 第一手数据,每日更新
- ISP IP地址
- 每日更新的电信IP段,联通IP段,移动IP段,铁通IP段,教育网IP段,长城宽带/鹏博士IP段,ISP IP
- 自动生成脚本下载地址:https://soft.clang.cn/ispip/
-
IP 地址库 第一手数据,每周更新
- IP CIDRs List / IP 地址列表
- 数据基于 纯真社区版
离线数据库
分类 - 每周 metowolf/qqwry.ipdb 版本随 metowolf/qqwry.dat 上游同步更新
- 多被使用的资源:中国 (CN) IPv4
-
中国运营商IP地址库 第一手数据,每日更新
- 中国运营商IPv4/IPv6地址库-每日更新 统计信息
-
在国内,BGP/ASN数据分析的商业服务只有一个ipip.net,是目前运营商IP库准确度最高的服务商,我认为没有之一
- IP列表(CIDR格式)
- 多被使用的资源:china.txt IPv4, china6.txt IPv6
-
其它我没太搞明白的,但应该也是第一手数据
- chnroutes2, 每小时更新
- nchnroutes <-- 最近更新是三年前
- Similar to chnroutes, but instead generates routes that are not originating from Mainland China and generates result in BIRD static route format
- Both IPv4 and IPv6 are supported.
-
MaxMind Official resources
-
GeoIP2 Reader for Go 其它语言的实现版本不一一列举了。
- 支持MaxMind、DB-IP的mmdb格式,Lite及Commercial版本
- func getDBType
-
- 输入格式:CSV
- 输出格式:MMDB
- config-example.yml
- Earlier entries are overwritten by later entries.
-
- ip to location database by ASN, GeoFeed, Whois, iptoasn.com, db-ip lite, GeoLite2
- CSV 格式
-
- IP Geolocation DBs automatically built into the mmdb format daily
- mmdb 格式
-
- 这个是Openclash的GeoIP更新功能,内置的数据源之一
- 输入:
china_ip_list
、纯真CN
、Clang.CN
和ali AS37963
发布的中国IP列表- 还有 blackmatrix7/ios_rule_script/CloudCN.list
- 包含 IPv4、IPv6(Clang)
- 叠加到 MaxMind官方Lite(社区版)
Country.mmdb
数据库。
- 输出:MaxMind
Country.mmdb
、Country.mmdb lite
-
- 估计不少这个应该用人不少
- 输入:
IPIP.net 社区版
、中国运营商IP地址库(gaoyifan/china-operator-ip)
包含 IPv4、IPv6gstatic IPv4/v6
、fastly IPv4/v6
、cloudfront IPv4/v6
、cloudflare IPv4/v6
、telegram IPv4/v6
、netflix
CIDRs,来源代码- MaxMind官方Lite(社区版)
GeoLite2-Country-Locations-en.csv
、GeoLite2-Country-Blocks-IPv4.csv
、GeoLite2-Country-Blocks-IPv6.csv
数据库。
- 输出:MaxMind
Country.mmdb
以及 V2Ray datgeoip.dat
geoip:netflix(GEOIP,NETFLIX)
、geoip:twitter(GEOIP,TWITTER)
对应的CIDRs是怎么来的,还没有搞懂。
-
- 上游是[Loyalsoldier/geoip]
- 替换MaxMind
GeoLite2-Country.mmdb
为 IPInfo.io 的Free IP to Country
数据库 - 注意 ipinfo的mmdb和MaxMind的mmdb有差异,Johnny做了改动的。
-
- 利用 China IP address list (chnroutes.txt) 为 RouterOS 生成类似
GeoIP:CN
的列表。
- 利用 China IP address list (chnroutes.txt) 为 RouterOS 生成类似
-
- 利用 Chnroutes rules 生成符合 routers、Shadowrocket、Quantumult、acl、v2rayNG、v2rayN、pac、Qv2ray、SagerNet、v2rayA、RouterOS、sing-box、v2ray config file.的可用信息
- 数据源也是 IPIP.net 社区版 china_ip_list、中国运营商IP地址库
-
自己从零构建
- 这没啥好说,原材料都给你了,你各自捣鼓就好。
-
复用MaxMind、DB-IP、IPINFO等官方资源
- 这也没啥好说的,上边都列给你了。
-
资源整合方案用哪个
-
这个恐怕得根据你用到什么地方,例如Clash、Surge、V2ray还是其它例如RouterOS
-
但基于最近的研究与使用体验,我的意见
类型 数据库 文件大小 Country level 我倾向使用ipinfo.io数据源 MaxMind GeoLite2-Country_20231222.mmdb 6.02 MB (6,320,117 bytes) IPINFO.io Free IP to Country.mmdb Jan 05, 2024 31.7 MB (33,267,411 bytes) DB-IP.com dbip-country-lite-2023-12.mmdb 7.44 MB (7,811,137 bytes) City level 我推荐DB-IP.com MaxMind GeoLite2-City.mmdb 66.3 MB (69,591,332 bytes) DB-IP.com dbip-city-lite-2023-12.mmdb 93.0 MB (97,576,399 bytes)
-
-
City Level 信息准确度的对比
- City Level的整合版
- dp-ip city-lite 作为海外数据源
- 国内数据整合
- xiangyuecn/AreaCity-JsSpider-StatsGov
- 提供城市中心经纬度
- IP 地址库 - 市级 IP 段
- 提供城市级别 IP 段
- xiangyuecn/AreaCity-JsSpider-StatsGov