frangelbarrera/Network-Scanner
GitHub: frangelbarrera/Network-Scanner
一个将传统渗透测试工具与 AI 智能分析相结合的开源网络安全扫描平台,提供自动化侦察、漏洞评估和专业报告生成功能。
Stars: 16 | Forks: 0
# 网络 Scanner
**AI 辅助的漏洞评估与渗透测试工具**
Network Scanner 是一个开源安全扫描平台,它将传统的渗透测试工具与人工智能相结合,以提供全面的漏洞评估。该工具专为初学者、研究人员和安全专业人士设计,提供自动化侦察、智能分析和详细报告功能。
[](https://www.python.org/downloads/)
[](https://reactjs.org/)
## 功能
| 类别 | 功能 |
|----------|----------|
| **侦察** | 子域名查找、WHOIS 查询、端口扫描、DNS 枚举 |
| **AI 助手** | 解读扫描结果、建议后续步骤、解释发现 |
| **自动化** | 通过 CLI 或 Web 界面进行自动化全面扫描 |
| **报告** | 生成专业的 PDF 和 HTML 报告 |
| **多用户** | 支持团队协作,提供项目管理和审计日志 |
| **学习模式** | 为学生和初学者提供教育性解释 |
| **API 就绪** | 提供用于集成和自动化的 RESTful API |
| **安全性** | 速率限制、身份验证和安全配置 |
## 快速开始
### 前置条件
- Python 3.8+ 和 pip
- Node.js 16+ 和 npm
- nmap、dnsutils、whois(自动安装)
### 安装说明
```
# Clone the repository
git clone https://github.com/frangelbarrera/Network-Scanner.git
cd Network-Scanner
# 运行 installation script (Ubuntu/Debian)
chmod +x scripts/install.sh
./scripts/install.sh
# 或者手动安装:
# Backend 设置
cd backend
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# Frontend 设置
cd ../frontend
npm install
# CLI 设置
cd ../cli
pip3 install -r requirements.txt
chmod +x network_scanner_cli.py
```
### 配置
```
# 复制并编辑 environment file
cp .env.example .env
# 使用你的设置编辑 .env (API keys, database config, 等)
```
### 运行 Network Scanner
**启动后端 API:**
```
cd backend
source venv/bin/activate
python app.py
# API 可用地址 http://localhost:5000
```
**启动前端(新终端):**
```
cd frontend
npm start
# Web 界面地址 http://localhost:3000
```
**使用 CLI:**
```
# 添加到 PATH 或直接使用
./cli/network_scanner_cli.py --help
# 示例扫描
network-scanner-cli subdomain example.com
network-scanner-cli port 192.168.1.1 --port-range 1-1000
network-scanner-cli vuln https://example.com --scan-type web
```
## 使用示例
### Web 界面
1. **仪表板**:查看扫描统计信息、最近的结果和快捷操作
2. **扫描器**:配置并运行不同类型的安全扫描
3. **结果**:利用 AI 洞察分析发现的问题
4. **报告**:生成专业的安全评估报告
5. **AI 助手**:与 AI 聊天以获取安全建议和解释
### 命令行界面
```
# 全面的子域名枚举
network-scanner-cli subdomain target.com --output results.json
# 使用自定义范围的端口扫描
network-scanner-cli port 10.0.0.1 --port-range 1-65535
# Web 应用漏洞评估
network-scanner-cli vuln https://target.com --scan-type comprehensive
# DNS 侦察
network-scanner-cli dns target.com
# 生成专业报告
network-scanner-cli report results.json --format pdf
```
### API 用法
```
import requests
# 启动子域名扫描
response = requests.post('http://localhost:5000/api/scan/subdomain',
json={'domain': 'example.com'})
result = response.json()
# 获取 AI 分析
ai_response = requests.post('http://localhost:5000/api/ai/chat',
json={'message': 'Explain this vulnerability',
'context': result})
```
## 架构
Network Scanner 采用模块化架构:
```
Network-Scanner/
├── backend/ # Python Flask API server
│ ├── app.py # Main application
│ ├── modules/ # Scanning and AI modules
│ └── models/ # Database models
├── frontend/ # React web interface
│ ├── src/
│ └── components/
├── cli/ # Command-line interface
├── reports/ # Generated reports
├── docs/ # Documentation
└── scripts/ # Installation and utility scripts
```
### 核心组件
- **侦察模块**:子域名枚举、端口扫描、DNS/WHOIS 查询
- **AI 助手**:集成 OpenAI 以提供智能分析和建议
- **漏洞扫描器**:Web 应用和网络服务安全评估
- **报告生成器**:创建专业的 PDF/HTML 报告
- **多用户系统**:身份验证、项目和审计日志
## 扫描类型
### 1. 子域名枚举
- 暴力破解常见子域名
- 证书透明度日志搜索
- DNS 区域传送尝试
- 对发现的子域名进行 AI 分析
### 2. 端口扫描
- TCP/UDP 端口发现
- 服务版本检测
- 操作系统指纹识别
- 开放服务的风险评估
### 3. 漏洞评估
- Web 应用安全测试
- 网络服务漏洞检测
- SSL/TLS 配置分析
- 安全标头验证
### 4. DNS 枚举
- 收集 A、AAAA、MX、NS、TXT 记录
- DNS 区域信息收集
- 邮件服务器发现
- 基础设施映射
### 5. WHOIS 查询
- 域名注册信息
- 所有者和联系方式
- 域名服务器识别
- 到期日期监控
## AI 功能
Network Scanner 集成了 AI 以增强安全评估:
- **智能分析**:自动解读扫描结果
- **风险评估**:按严重程度和影响排列发现的问题
- **修复指导**:提供具体的修复建议
- **学习模式**:出于教育目的解释相关技术
- **上下文对话**:用于解答安全问题的交互式 AI 助手
## 报告
生成多种格式的专业安全报告:
- **HTML 报告**:带有图表的交互式 Web 报告
- **PDF 报告**:提供给利益相关者的专业文档
- **JSON 导出**:用于集成的机器可读数据
- **执行摘要**:提供给管理层的高级别发现
## 安全注意事项
**重要提示**:Network Scanner 仅专为授权的安全测试设计。
- 仅扫描您拥有或获得明确测试许可的系统
- 部分扫描可能会被安全系统检测到
- 遵循负责任的漏洞披露实践
- 尊重速率限制和目标系统资源
- 在测试前查阅当地法律法规
### 开发环境配置
```
# Clone 并设置开发环境
git clone https://github.com/frangelbarrera/Network-Scanner.git
cd Network-Scanner
# 安装开发依赖项
pip install -r backend/requirements-dev.txt
npm install --dev --prefix frontend
# 运行测试
pytest backend/tests/
npm test --prefix frontend
```
## 支持
- **文档**:[Wiki](https://github.com/frangelbarrera/Network-Scanner/wiki)
- **Bug 报告**:[Issues](https://github.com/frangelbarrera/Network-Scanner/issues)
- **讨论**:[GitHub Discussions](https://github.com/frangelbarrera/Network-Scanner/discussions)
## 免责声明
Network Scanner 仅用于教育和授权测试目的。用户在扫描任何系统之前,有责任遵守适用的法律并获得适当的授权。对于滥用此工具,开发者不承担任何责任。
**为网络安全社区倾心 ❤️ 打造**
标签:GitHub, MITM代理, Petitpotam, Python, React, Syscalls, 人工智能, 实时处理, 密码管理, 无后门, 用户模式Hook绕过, 网络安全, 自定义脚本, 逆向工具, 隐私保护