Sanexxxx777/vpn-whitelist-tools

GitHub: Sanexxxx777/vpn-whitelist-tools

CIDR 子网连通性扫描器,用于在 IP 白名单受限的移动网络中批量探测可达子网并与云托管提供商 ASN 范围交叉比对。

Stars: 0 | Forks: 0

# vpn-whitelist-tools CIDR 子网连通性扫描器,用于在移动网络上进行 split-routing / allowlist 测试。 ## 功能 某些移动网络将数据访问限制在固定的 IP 子网白名单内(例如少数几个已批准的服务),而其他所有内容均无法访问。此工具集可帮助您: 1. 获取一份 CIDR 子网列表(白名单),并测试在您当前的网络连接下,哪些子网是实际可达的。 2. 将可达的子网与已知的云/托管提供商的 ASN 范围进行交叉比对,从而您可以识别出哪些托管提供商恰好拥有白名单内的 IP 空间。 3. 快速检查特定 IP(例如新配置的 VM)是否位于先前发现的可达子网内——当提供商从庞大且不可预测的地址池中分配地址,而您需要找到一个可用地址时,这非常有用。 它是一款用于 split-tunnel / allowlist-only 网络环境的通用网络诊断工具——不绑定于任何特定的提供商或服务。 ## 文件 - `scan_whitelist.py` — 扫描 CIDR 列表,通过 TCP(443/80,ICMP 备选)测试连通性,并可选择通过 WHOIS/ASN 查询解析子网所有者 - `check_ip.py` — 检查单个 IP 地址是否位于先前发现的可达子网内 - `cidrwhitelist.txt` — 示例输入:公共 CIDR 白名单 ([来源](https://github.com/hxehex/russia-mobile-internet-whitelist)) - `reachable_all.json` — 完整扫描运行的示例输出 ## 用法 需要 Python 3(仅使用标准库,无外部依赖)。 ``` # 对 cidrwhitelist.txt 中的所有子网进行完整扫描(多线程,30k 个子网大约需要 3-7 分钟) python3 scan_whitelist.py --full-test # 仅对已知的托管提供商 ASN 范围进行快速扫描 python3 scan_whitelist.py --fast python3 scan_whitelist.py --test # 基于 WHOIS 的扫描以解析子网所有者 python3 scan_whitelist.py --full # 检查特定 IP 是否属于可到达的子网 python3 check_ip.py ``` ## 工作原理 `scan_whitelist.py` 读取 CIDR 范围列表,启动一个线程池,并通过 TCP 连接(端口 443,备选 80)和 ICMP ping 对每个子网的一台主机进行探测。可达的子网将按 /16 前缀分组并写入 `reachable_all.json`。伴随的步骤可以通过公共 WHOIS 查询将子网映射到已知的云/托管 ASN(Yandex Cloud、VK Cloud、Selectel、Hetzner、DigitalOcean 等),以便您查看哪些提供商拥有可达的 IP 空间。 `check_ip.py` 是针对已保存扫描结果的轻量级查询——给定一个 IP,它会报告该 IP 属于哪个可达子网(如果有)。 ## 作者 Aleksandr Shulgin ([@Sanexxxx777](https://github.com/Sanexxxx777)) (@Aleksandr_NFA) ## 许可证 MIT — 详见 [LICENSE](LICENSE)。 ## На русском (кратко) Сканер доступности CIDR-подсетей для split-routing / allowlist-тестирования на мобильных сетях, где доступ ограничен фиксированным списком разрешённых подсетей. `scan_whitelist.py` проверяет, какие подсети из списка реально доступны (TCP 443/80 + ICMP), сопоставляет их с диапазонами известных хостинг-провайдеров (Yandex Cloud, VK Cloud, Selectel, Hetzner, DigitalOcean и др.) и сохраняет результат в `reachable_all.json`. `check_ip.py` проверяет, попадает ли конкретный IP в уже найденную доступную подсеть. Только своя сеть/устройства — не для сканирования чужих сетей без разрешения.
标签:CIDR, Python, 情报分析, 扫描器, 无后门, 白名单, 移动网络, 网络诊断, 路由测试, 逆向工具