Yashrevive/IP_Threat_Tracker

GitHub: Yashrevive/IP_Threat_Tracker

一款 Python 命令行工具,通过整合 IP-API 和 AbuseIPDB 帮助用户快速查询 IP 地址的地理定位信息与威胁信誉评分。

Stars: 0 | Forks: 0

# IP 威胁追踪器 ## 描述 IP Threat Tracker 是一款使用 Python 编写的命令行网络安全工具,旨在帮助用户调查 IP 地址,并基于公开可用的威胁情报数据评估其信誉。 该程序接受 IP 地址和时间范围作为命令行参数。它首先使用 Python 内置的 `ipaddress` 模块验证提供的 IP 地址。验证通过后,它会使用 IP-API 服务收集地理定位和网络信息。接着,它会查询 AbuseIPDB 以确定该 IP 地址是否因恶意活动被举报过,并根据滥用置信度分数计算其威胁等级。 该工具为用户提供了有关 IP 地址的重要信息,包括其位置、互联网服务提供商 (ISP)、自治系统编号 (ASN)、滥用置信度分数、举报历史以及最近一次滥用举报的日期。 本项目是作为 CS50 的 Introduction to Programming with Python 的结业课题而开发的,展示了命令行参数、API 集成、异常处理、环境变量、JSON 处理和模块化程序设计等概念。 ## 功能 * 验证 IPv4 和 IPv6 地址 * 获取 IP 地址的地理定位信息 * 显示 ISP 和 ASN 详情 * 使用 AbuseIPDB 检查 IP 信誉 * 将 IP 地址分类为安全、可疑或恶意 * 显示滥用举报统计数据 * 处理无效输入和网络相关错误 * 使用环境变量保护 API 凭据 ## 使用技术 * Python 3 * Requests * Python-dotenv * IP-API * AbuseIPDB ## 安装说明 克隆代码仓库: ``` git clone cd ``` 安装所需的依赖项: ``` pip install -r requirements.txt ``` 在项目目录中创建一个 `.env` 文件: ``` my_abuseipdb_key=YOUR_API_KEY_HERE ``` 将 `YOUR_API_KEY_HERE` 替换为你的 AbuseIPDB API 密钥。 ## 用法 使用以下命令运行程序: ``` python ip_tracker.py ``` 示例: ``` python ip_tracker.py 8.8.8.8 30 ``` ### 参数 | 参数 | 描述 | | --------------- | ------------------------------------------------------ | | IP_ADDRESS | 要调查的 IP 地址 | | MAX_AGE_IN_DAYS | 要分析的 AbuseIPDB 举报天数 (1–365) | ## 示例输出 ``` IP: 8.8.8.8 Location: Mountain View, California, United States Internet Service Provider: Google LLC Autonomous System Number: AS15169 Abuse Score = 0/100 (Safe) ``` 如果某个 IP 地址之前被举报过: ``` Abuse Score = 82/100 (Malicious) Total number of reports = 145 Last reported date = 2026-05-12 ``` ## 项目结构 ``` . ├── ip_tracker.py ├── README.md ├── requirements.txt ├── .env └── test_project.py ``` **注意:** `.env` 文件被有意排除在代码仓库之外,因为它包含私有的 API 凭据。 ## 设计选择 关键的设计决策之一是使用 Python 的 `ipaddress` 模块而不是正则表达式来进行 IP 验证。这种方法更可靠,并且同时支持 IPv4 和 IPv6 地址。 本项目通过 `python-dotenv` 包使用环境变量来安全地存储 API 凭据。这可以防止敏感信息被硬编码到源代码中或上传到 GitHub。 选择两个独立的 API 是为了提供互补的信息。IP-API 提供地理定位和网络详情,而 AbuseIPDB 提供威胁情报和滥用举报数据。结合这些来源,用户可以通过单条命令获取有关 IP 地址的技术和安全相关信息。 ## 未来改进 当前版本的 IP Threat Tracker 侧重于收集有关 IP 地址的威胁情报和信誉信息。未来版本可能包含以下附加功能: * 将扫描结果导出为 JSON 或 CSV 文件 * 支持同时扫描多个 IP 地址 * 添加颜色编码的终端输出 * 集成更多威胁情报源 * 构建图形用户界面 (GUI) * 生成自动化威胁报告 * 添加直接从应用程序内部向 AbuseIPDB 举报恶意 IP 地址的功能 * 为之前扫描过的 IP 地址添加信誉历史追踪功能 ## 作者 **Yash Kumar Kriplani** IP Threat Tracker 是我独立开发的第一个网络安全项目。该项目的目标是将 IP 情报收集和威胁信誉分析结合到一个简单的命令行工具中,帮助用户快速调查潜在的可疑 IP 地址。
标签:API集成, IP查询, Python, 可观测性, 威胁情报, 字符串匹配, 实时处理, 开发者工具, 无后门