N4rr34n6/IP2Domain
GitHub: N4rr34n6/IP2Domain
一款集成Tor匿名代理的大规模IP段Web服务侦察工具,能够批量扫描CIDR网段并将发现的Web服务器信息及地理位置数据存入SQLite以便后续分析。
Stars: 2 | Forks: 1
# IP2Domain - 高级网络侦察工具
## 概述
IP2Domain 是一款专为网络安全专业人员、威胁研究人员和系统管理员设计的高级网络侦察工具。其目的是实现对大规模网络的深入、高效分析,重点在于发现 Web 服务器和分析 IP 地址,同时始终保护用户的隐私和安全。
IP2Domain 提供的功能以其强大的技术稳健性脱颖而出,允许对 IP 地址进行大规模扫描,将数据存储在 SQLite 数据库中,并通过与 Tor 网络的集成确保完全匿名。它是一个集速度、可扩展性和匿名性于一身的解决方案,非常适合用于安全任务和网络基础设施评估。
## 突出特性
- **并行进程的性能优化**:该实现采用并发方法同时处理多个 IP 地址,通过结合并行进程和线程最大化系统资源利用率。这确保了大规模操作中的更高效率。
- **对网络错误的弹性处理**:结合 `backoff` 库和受控异常来处理常见的网络错误(如重定向、SSL 故障和连接错误),确保脚本即使在恶劣条件下也能继续运行,提高了其健壮性并最大程度地减少了意外中断。
- **对不同数据源的适应性**:该工具允许处理单个 CIDR 文件以及包含多个文件的目录,在动态环境中处理不同数据集时提供了更大的灵活性。
- **与 Tor 的完整交互**:通过使用 SOCKS5 代理与 Tor 网络进行原生集成,确保所有连接都是安全且匿名的,允许在为用户提供额外保护层的同时分析隐藏服务。
- **地理和 ISP 信息提取**:通过使用如 GeoLite2 和 DBIP ASN 等外部数据库,脚本能获取有关 IP 地理位置及其 ISP 的高级信息,提供更详细和有价值的分析。
- **智能 User-Agent 处理**:自动化的 User-Agent 循环有助于避免在限制重复请求的服务器上遭遇阻挡,使得抓取更加高效且不易被检测。
- **全面的元数据记录**:脚本将所分析 IP 的所有相关元数据存储在详细的 SQLite 数据库中,例如标题、页面描述、安全策略等,便于后期分析和数据驱动的决策。
## 附加优势
- **支持大型网络**:得益于能够同时处理大量 IP 地址的能力,此代码非常适合需要在大型网络或分布式环境中执行安全审计的人员。
- **自动化和可定制的配置**:通过使用命令行参数和用于配置计时器、User-Agent 和协议的选项,使该工具具有高度可配置性,能够适应各种用例。
- **高效的资源管理**:该代码经过优化,可利用所有可用的 CPU 核心,允许在多处理器系统上进行更快的处理,显著缩短执行时间。
## 新增部分:道德使用与法律考量
本项目专为授权活动而设计。用户有责任确保在扫描任何希望分析的网络或系统时已获得明确许可。未经授权使用此工具可能会违反地方和国际法律法规。其使用必须严格遵守道德和法律规范。
## 主要功能
- **大规模 IP 扫描**:能够使用 CIDR 表示法扫描大范围的 IP 地址,便于进行大规模评估。
- **优化的性能**:采用多线程和多进程实现,以最大化性能并最小化扫描时间。
- **详细的信息提取**:从 Web 服务器 (HTTP/HTTPS) 收集全面的数据,包括 HTTP 标头、HTML 内容和服务器元数据。
- **精确定位**:集成 GeoLite2 和 DBIP ASN 数据库,提供被扫描 IP 的详细地理位置信息。
- **SQLite 数据库**:收集的数据存储在 SQLite 数据库中,便于后续查询、组织和分析。
- **有保障的匿名性**:所有网络请求均通过 Tor 网络路由,确保匿名保护并降低被检测的风险。
- **User-Agent 轮换**:实施随机 User-Agent 轮换,以避免被自动化防御机制检测到。
- **自适应请求控制**:动态管理请求之间的等待时间,以防止服务器过载并降低被封锁的风险。
## 安装说明
要安装 IP2Domain,请按照以下步骤操作:
```
git clone https://github.com/N4rr34n6/IP2Domain.git
cd IP2Domain
pip3 install -r requirements.txt
```
## 前置条件
- Python 3.x
- Tor(已安装并运行)
- requirements.txt 中指定的 Python 库
- 来自 MaxMind 的 GeoLite2 和 DBIP ASN 数据库
## 运行说明
要开始使用 IP2Domain 进行扫描,请使用以下命令:
```
python3 IP2Domain.py
```
## 附加配置
- 可以通过修改脚本中的列表来自定义 User-Agent 轮换。
- `delay_range` 值允许您调整请求之间的间隔,以避免过载或被检测到。
## 技术细节
- **IP 范围生成**:使用 `ipaddress` 模块从 CIDR 表示法范围生成 IP 地址,优化了大型网络中的分析。
- **HTTP/HTTPS 扫描**:通过 HTTP 和 HTTPS 协议建立与 Web 服务器的连接,最大化对活动服务器的检测和分析。
- **数据收集**:提取 HTTP 标头、HTML 内容和服务器元数据,以提供有关检测到的服务器的全面信息。
- **地理定位**:集成地理定位数据库,使用 GeoLite2 和 DBIP ASN 数据库提供准确的位置数据。
- **完全匿名**:通过 Tor 网络重定向所有请求,保护隐私并确保扫描来源保持隐藏。
- **SQLite 存储**:所有收集的数据都存储在 SQLite 数据库中,便于后期分析和高效的信息管理。
- **错误处理**:实施健壮的机制来处理网络、SSL 和其他技术错误,确保扫描的连续性。
## 道德使用与法律考量
IP2Domain 的使用严格限于授权活动。在未经适当同意的任何网络或系统上使用可能是非法的,并可能导致严重的法律后果。在使用此工具之前,请确保您已获得您计划扫描的网络和服务器所有者的明确授权。
用户应遵守以下建议:
- **明确授权**:仅在您已获得所有者或管理员明确许可的网络和系统上使用 IP2Domain。
- **合法合规**:确保遵守所有地方和国际法律法规。未经授权使用此工具可能违反网络安全法律,例如 CFAA (Computer Fraud and Abuse Act) 或 GDPR (General Data Protection Regulation)。
- **尊重隐私**:避免任何损害个人或实体隐私的行为。
不当使用 IP2Domain 可能会导致法律后果,例如民事诉讼或刑事指控。使用风险由用户自行承担,用户必须确保遵守相关法律。
## 法律声明
IP2Domain 按“原样”提供,不对功能性、安全性或结果的准确性作任何明示或暗示的保证。作者和贡献者不对该工具的滥用或非法使用承担责任。用户承担其使用的所有责任,包括遵守适用的法律和道德规范。
## 许可证
本脚本依据 GNU Affero General Public License v3.0 提供。您可以在 [LICENSE](LICENSE) 文件中找到完整的许可证文本。
标签:CIDR, GitHub, IP2Domain, IP地址分析, Python网络安全工具, SOCKS5代理, SQLite, SYN扫描, Tor网络, Web服务器发现, 匿名扫描, 域名解析, 大规模网络分析, 威胁情报, 并行处理, 开发者工具, 插件系统, 检测规则, 系统管理员工具, 网络基础设施评估, 网络安全, 网络资产发现, 资产测绘, 逆向工具, 错误重试机制, 隐私保护, 高并发扫描, 黑帽SEO