gaoyifan/china-operator-ip

Rust

中国运营商IPv4/IPv6地址库-每日更新

ipoperatorbgpasndailyipv6
Croissance des étoiles
Étoiles
3.6k
Forks
347
Croissance hebdomadaire
+9
Issues
3
1k2k3k
mars 2017mai 2020juil. 2023sept. 2026
Artefactscrates.io
README

中文 | Deutsch | English | Español | français | 日本語 | 한국어 | Português | Русский

中国运营商IP地址库

依据中国网络运营商分类的IP地址库

为什么要创建这个项目

国内在BGP/ASN数据分析和应用方面,目前主要有ipip.net等商业服务,其运营商IP库的准确度较高。

随着互联网的持续发展,边界网关协议(BGP)成为处理大规模路由数据不可或缺的基础协议之一。通过BGP,新的IP地址(或前缀)可以在全球互联网上对外通告,并被其他自治系统学习和访问。因此,BGP数据为分析归属和运营商IP分类提供了宝贵的数据基础。

不过,目前国内大部分IP库依赖WHOIS数据库作为数据源。WHOIS虽然能标明IP的注册机构,但无法体现实际使用情况,这会导致一些并非运营商亲自宣告的IP地址被分类不准确。像ipip.net这样较早开始结合BGP与ASN数据进行分析的公司,能够提供较为丰富和准确的数据服务,但其高质量数据部分需要付费。

在其他项目中我曾用到BGP数据,因此基于开源的想法整理和公布了这些相关代码,形成了本项目。该IP库可以灵活应用于多种场景,例如@ustclug利用它在权威DNS服务器中进行分域解析,或者作为按运营商出口分流的参考等。

受个人精力限制,本项目的IP覆盖率难以与商业服务商持平,特别是在部分骨干节点相关的地址上,可能会有遗漏,但这些情况一般对大多数用户影响较小。

如有建议或问题,欢迎通过issue反馈。

收录的运营商

  • 中国电信(chinanet)
  • 中国移动(cmcc)
  • 中国联通(unicom)
  • 中国铁通(tietong)<已废弃>
  • 教育网(cernet)
  • 科技网(cstnet)
  • 鹏博士(drpeng) <试验阶段>
  • 谷歌中国(googlecn) <试验阶段>

P.S. 由于移动与铁通已合并,铁通集合已废弃,详见issue #10

P.S. 鹏博士集团(包括:鹏博士数据、北京电信通、长城宽带、宽带通)的IP地址并非全都由独立的自治域做宣告,目前大部分地址仍由电信、联通、科技网代为宣告。故列表中的地址仅为鹏博士拥有的部分IP地址,且这些IP同时具有电信、联通两个上级出口。详见issue #2.

P.S. china 采用“可信国内 BGP 分类 + 未宣告 RIR-CN 登记兜底”的组合语义。如果只需要独立基于 RIR 分配数据生成的中国地址集合,可参考 chnroutes2 项目。

如何获取数据

方法1:使用预生成结果

IP列表(CIDR格式)保存在仓库的ip-lists分支中,GitHub Actions每日自动更新。

git clone -b ip-lists https://github.com/gaoyifan/china-operator-ip.git

亦可通过以下站点获取:

运营商 EdgeOne Pages GitHub Pages
中国 IPv4 | IPv6 | IPv4+IPv6 IPv4 | IPv6 | IPv4+IPv6
中国电信 IPv4 | IPv6 | IPv4+IPv6 IPv4 | IPv6 | IPv4+IPv6
中国移动 IPv4 | IPv6 | IPv4+IPv6 IPv4 | IPv6 | IPv4+IPv6
中国联通 IPv4 | IPv6 | IPv4+IPv6 IPv4 | IPv6 | IPv4+IPv6
教育网 IPv4 | IPv6 | IPv4+IPv6 IPv4 | IPv6 | IPv4+IPv6
科技网 IPv4 | IPv6 | IPv4+IPv6 IPv4 | IPv6 | IPv4+IPv6
鹏博士 IPv4 | IPv6 | IPv4+IPv6 IPv4 | IPv6 | IPv4+IPv6
谷歌中国 IPv4 | IPv6 | IPv4+IPv6 IPv4 | IPv6 | IPv4+IPv6
统计 stat stat

镜像说明:

  • EdgeOne Pages: 中国大陆境内完整镜像
  • GitHub Pages: 海外完整镜像

方法2:从BGP数据生成

安装依赖

生成IP列表

just

注:执行 just --list 查看所有可用的命令。

对于 china 集合,operators.yaml 中的 trusted_transit_operators 定义可信的国内运营商。目前包括电信、移动、联通、科技网和教育网。教育网使用完整的 cernet 名称匹配集合,其中已经包含 AS4538、AS23910,无需再单独配置骨干 ASN。

生成时会从每条 AS_PATH 的 origin 端向上检查连续的 CN 后缀。对于每个 origin ASN,只要至少一条观测路径的连续 CN 后缀中包含可信运营商 ASN,该 ASN 宣告的前缀就会进入 china 集合;遇到第一个非 CN 或国家未知的 ASN 后立即停止,不能跨过境外 transit 再寻找国内运营商。

原有 exclude_asn 中可由该规则自然排除的项目已经移除,只保留仍有可信国内路径、但宣告已知境外地址段的 AS142111。

china 集合还会读取 AFRINIC、APNIC、ARIN、LACNIC 和 RIPE NCC 的 extended delegated statistics,自动补充登记给中国组织、但所有 RIB 均未观测到具体宣告的 IPv4/IPv6 地址。任意 ASN 一旦宣告其中的地址,BGP 分类会自动接管;登记国家不能证明具体接入运营商,因此该机制不用于 chinanetcmcc 等运营商集合。规范化登记输入会保存为隐藏的 .china.registered.txt 供审计。设计和数据语义见 Issue #45 实现说明

可以用下面的命令查看生成的可信 ASN 集合:

just trusted_transit_asn china

BGP 分类程序的 Rust 源码位于仓库顶层的 src/,执行 just dependency 会在当前仓库构建。它直接读取本地 rib-* 快照,与生成规则在同一个提交和 CI 中同步修改、验证。

社区关联项目

Acknowledgments

License

MIT License

Dépôts similaires
jason5ng32/MyIP

The best IP Toolbox. Check your IP address & geolocation, test IP for WebRTC and DNS IP leaks, run an IP quality check, browser fingerprint check, website availability check, network speed test, global latency test, MTR test, Whois search, and more.

JavaScriptnpmappMIT Licensednsip
ipcheck.ing
11.8k1.2k
zu1k/nali

An offline tool for querying IP geographic information and CDN provider. 一个查询IP地理信息和CDN服务提供商的离线终端工具.

GoGo ModulescliMIT Licensenalinali-cli
github.com/zu1k/nali
4.1k369
snooppr/snoop

Snoop — инструмент разведки на основе открытых данных (OSINT world)

PythonPyPIOtherosinttermux
github.com/snooppr/snoop/releases
4k460
hxehex/russia-mobile-internet-whitelist

a list of domains and ips that stay live in russia when the mobile internet gets restricted

MIT Licenseroskomnadzorrussia
3.7k107
justjavac/google-ips

Google 全球 IP 地址库,按国家/地区整理并提供 npm 查询 API Google IP address list grouped by country with JSON data and query helpers.

TypeScriptnpmlibrarygooglegfw
3.5k1.1k
justjavac/Google-IPs

:us: Google 全球 IP 地址库

googlegfw
3.5k1.1k
feross/SpoofMAC

:briefcase: Change your MAC address for debugging

PythonPyPIclispoofmacmac-address
feross.org/spoofmac/
3.2k276
m0rtem/CloudFail

Utilize misconfigured DNS and old database records to find hidden IP's behind the CloudFlare network

PythonPyPIMIT Licensecloudflaretor
2.7k517
dekrypted/discord-image-logger

IP Logger that uses discord's "Open Original" feature to steal IP's.

PythonPyPIThe Unlicensediscord-image-grabberdiscord-image-logger
2.2k753
n0a/telegram-get-remote-ip

Get IP address on other side audio call in Telegram.

PythonPyPIclitelegramip
1.9k219
GoodCoder666/GoogleTranslate_IPFinder

谷歌翻译API服务器的IP扫描、测速工具。

PythonPyPIcliGNU General Public License v3.0google-translatehosts
1.8k138
mrh0wl/Cloudmare

Cloudflare, Sucuri, Incapsula real IP tracker.

PythonPyPIOthercloudflareip
1.8k237