Darshan0412-k/detcap
GitHub: Darshan0412-k/detcap
一款 AI 驱动的网络扫描与安全分析工具,将端口扫描、服务检测、CVE 映射与本地大语言模型分析整合在一起,自动生成可操作的安全报告。
Stars: 0 | Forks: 0
# DETCAP
## 什么是 DETCAP?
**DETCAP** 是一款 AI 驱动的网络扫描和安全分析工具。它将传统的端口扫描(如 Nmap)与本地 **Ollama** LLM 驱动的 AI 分析相结合,不仅能提供原始扫描数据,还能给出智能安全洞察、CVE 映射以及可操作的防御建议——这一切都集成在一个工具中。
## 功能
| 功能 | 描述 |
|---|---|
| 🔍 **TCP 端口扫描** | 可配置端口范围的多线程 connect 扫描 |
| 🥷 **SYN 隐蔽扫描** | 原始数据包 SYN 扫描(由 Scapy 驱动,支持多线程) |
| 🧠 **操作系统指纹识别** | 基于 TTL + TCP 窗口的操作系统检测,并附带置信度评分 |
| 🛰️ **服务检测** | Banner 抓取以及服务/版本识别 |
| ⚠️ **CVE 映射** | 针对本地 CVE 数据库的自动化漏洞查询 |
| 🤖 **AI 分析** | Ollama LLM 负责解释发现的问题并建议修复措施 |
| 📄 **HTML 报告** | 保存在本地的带有专业样式的安全报告 |
| 📦 **JSON 导出** | 用于集成(`--json` 标志)的机器可读输出 |
| ⚡ **CLI + 交互模式** | 完整的 `argparse` CLI 用于脚本编写,或提供引导式交互模式 |
## 安装
```
git clone https://github.com/Darshan0412-k/detcap.git
cd detcap
pip install -r requirements.txt
```
### 前置条件
- Python 3.8+
- 已安装并在本地运行 [Ollama](https://ollama.ai)(用于 AI 分析)
- 隐蔽(SYN)扫描模式需要管理员/root 权限
拉取用于 AI 分析的模型:
```
ollama pull llama3
```
## 使用方法
### 交互模式
```
python detcap.py
```
### CLI 模式
```
# 基础扫描
python detcap.py -t 192.168.1.1
# 全量扫描,启用 stealth mode 并导出 JSON
python detcap.py -t 192.168.1.1 -p full -m stealth --json
# 快速扫描,跳过 AI 分析
python detcap.py -t 192.168.1.1 -p fast --no-ai
```
### CLI 参数
| 参数 | 短选项 | 描述 | 默认值 |
|---|---|---|---|
| `--target` | `-t` | 目标 IP 或主机名 | *(提示输入)* |
| `--profile` | `-p` | `fast` / `balanced` / `full` | `balanced` |
| `--mode` | `-m` | `normal` / `stealth` | `normal` |
| `--json` | | 同时导出 JSON 报告 | `False` |
| `--no-ai` | | 跳过 AI 分析 | `False` |
## 扫描配置
| 配置 | 端口范围 | 线程数 | 超时时间 |
|---|---|---|---|
| `fast` | 1–200 | 100 | 1s |
| `balanced` | 1–1024 | 80 | 2s |
| `full` | 1–65535 | 120 | 2s |
## 扫描模式
- **normal** — 使用 Python 套接字的标准 TCP connect 扫描(无需 root 权限)
- **stealth** — 使用 Scapy 的原始 SYN 数据包扫描(需要 root/管理员权限)。速度更快,更难被检测,并使用多线程来提升速度
## AI 分析 (Ollama)
DETCAP 使用本地运行的 [Ollama](https://ollama.ai) 实例进行所有 AI 分析。**任何数据都不会离开您的设备。** AI 模型接收扫描结果并生成一份自然语言的安全报告,其中包括风险评估、漏洞利用上下文和修复步骤。
支持的模型:`llama3`、`mistral`、`gemma3` 或任何与 Ollama 兼容的模型。
在 `analysis/ai_explainer.py` 中配置您首选的模型:
```
MODEL = "llama3" # Change to your preferred Ollama model
```
## 输出
### HTML 报告
带有深色主题的样式报告会自动保存到 `reports/` 目录下:
```
reports/detcap_192_168_1_1_20250501_143022.html
```
### JSON 导出 (使用 `--json`)
```
{
"meta": { "version": "1.0.1", "target": "...", "timestamp": "..." },
"os": { "os": "Linux", "confidence": 80 },
"services": [ { "port": 22, "service": "SSH", "version": "OpenSSH 8.9" } ],
"cves": [ { "cve": "CVE-2023-XXXX", "severity": "HIGH", "description": "..." } ],
"attack_insights": [ ... ],
"ai_report": "..."
}
```
## 项目结构
```
detcap/
├── detcap.py # Main entry point
├── stealth_scan.py # SYN stealth scanner (threaded)
├── report_generator.py # HTML report engine
├── requirements.txt
├── core/
│ ├── scanner.py # TCP connect scanner
│ └── service_detector.py
├── analysis/
│ ├── ai_explainer.py # Ollama AI integration
│ ├── attack_advisor.py
│ ├── cve_mapper.py
│ └── fingerprint.py
├── data/ # CVE and service databases
├── utils/
└── reports/ # Generated reports (auto-created)
```
## 更新日志
### v1.0.1
- ✅ 修复了 ANSI 转义码剥离的正则表达式 Bug
- ✅ 增加了 IP/主机名输入验证
- ✅ 增加了完整的 `argparse` CLI,支持 `-t`、`-p`、`-m`、`--json`、`--no-ai`
- ✅ 隐蔽扫描器现已支持多线程(大幅提升速度)
- ✅ 采用深色赛博朋克主题的样式化 HTML 报告、统计卡片、严重性徽章
- ✅ JSON 导出选项
- ✅ 隐蔽扫描带有 Rich 进度条
- ✅ 终端 CVE 表格中的严重性颜色编码
### v1.0.0
- 初始版本
## 免责声明
## 作者
**Darshan G** — [GitHub](https://github.com/Darshan0412-k)
## 许可证
MIT — 请参阅 [LICENSE](LICENSE)
标签:AI安全, AI风险缓解, AI驱动, C2, Chat Copilot, CVE映射, DLL 劫持, HTML报告, JSON导出, LLM, LLM评估, Maven构建, Nmap替代, Ollama, Python, Scapy, SYN隐身扫描, TCP扫描, The Commit Crew, Unmanaged PE, URL短链接分析, 云存储安全, 交互式工具, 大语言模型, 安全报告, 插件系统, 操作系统指纹识别, 数据统计, 无后门, 无线安全, 服务探测, 漏洞赏金平台, 端口扫描, 网络发现, 网络安全, 网络扫描, 逆向工具, 防御建议, 隐私保护