网络安全扫描工具

一款集成了多种扫描工具的综合性网络安全侦察应用,提供实时进度跟踪、高级风险评估和交互式可视化报告功能。

  • by bhemanth1
  • HTML
  • 本地部署
  • 更新于
在 GitHub 查看 bhemanth1/MCP-Server

使用说明

起源/主要

MCP安全扫描器

多工具网络安全侦察

一个全面的、现代化的网络安全侦察应用程序,将多种扫描工具集成到一个统一的、用户友好的界面中,并具有高级可视化和报告功能。


特性

核心能力

  • 多工具扫描:Nmap、Subfinder、Nikto、Gobuster、NSLookup DNS、Traceroute、Wappalyzer
  • 实时进度跟踪:实时更新每个工具的状态监控
  • 高级风险评估:基于多种因素的自动风险评分(0-10)
  • 交互式可视化:端口、子域、漏洞的Plotly.js图表
  • 综合报告:HTML、PDF、JSON和CSV导出选项
  • 扫描历史记录:通过搜索和过滤完成审计跟踪
  • 现代用户界面:采用Framer Motion和玻璃形态设计的精美动画

安全与法律

  • 本地处理:所有扫描都在本地运行,没有数据离开您的计算机
  • 授权提醒:内置警告,仅扫描授权目标
  • 安全存储:带加密元数据选项的SQLite数据库
  • 输入消毒:对扫描目标进行强有力的验证和消毒

建筑

高级设计


                   ┌────────────────────────────────────────────┐
                   │          Frontend (React + Electron)        │
                   │────────────────────────────────────────────│
                   │ • Dashboard UI                              │
                   │ • Real-time progress tracking               │
                   │ • Interactive visualizations                │
                   └───────────────────────┬────────────────────┘
                                           │
                                   (HTTP / JSON API)
                                           │
                   ┌───────────────────────▼────────────────────┐
                   │              Backend (FastAPI)              │
                   │────────────────────────────────────────────│
                   │ • REST API endpoints                        │
                   │ • Worker orchestration                      │
                   │ • Tool execution management                 │
                   └───────────────────────┬────────────────────┘
                                           │
                                   (Subprocess Calls)
                                           │
                   ┌───────────────────────▼────────────────────┐
                   │              Scanner Tools                  │
                   │────────────────────────────────────────────│
                   │ • nmap, subfinder, nikto, etc.              │
                   └────────────────────────────────────────────┘



技术栈

后端:

  • Python 3.11+
  • FastAPI(REST API)
  • SQLite(本地数据库)
  • Jinja2(报告模板)
  • 剧作家(PDF生成)
  • 并发未来(并行执行)

前端:

  • 在前端,有大量文件。因此,我在下面添加了URL。浏览并下载zip文件,然后将其放置在MCP-APP中。(根据项目结构) Zip文件URL(驱动程序链接):https://drive.google.com/file/d/1jtAWLnNkM2GQK7ORVJ8c7Rmd0h7RJ0KP/view?usp=sharing
  • 反应18
  • 电子(桌面包装)
  • 帧运动(动画)
  • Plotly.js(图表)
  • Lucide React(图标)
  • Axios(HTTP客户端)

快速开始

先决条件

  1. Python 3.11+ 安装
  2. Node.js 18+ 安装
  3. 扫描工具 已安装并在PATH中:
    • nmap --网络映射器
    • subfinder --子域发现
    • nikto --Web漏洞扫描程序
    • gobuster --目录暴力破解器
    • nslookup --DNS查找(通常预装)
    • traceroute / tracert --网络路径跟踪(通常预装)
    • wappalyzer --识别CDN、安全和其他技术栈(以及版本)

工具安装(Nmap、Subfinder、Gobuster、Nikto)

Windows(PowerShell)

# Optional: Install Chocolatey
Set-ExecutionPolicy Bypass -Scope Process -Force
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

# Install Nmap and Go
choco install nmap golang -y

# Install Go-based tools (ensure %USERPROFILE%\go\bin is in PATH)
$env:Path += ";$env:USERPROFILE\go\bin"
go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
go install github.com/OJ/gobuster/v3@latest

# Nikto (best via WSL) or download from GitHub

Linux(Debian/Ubuntu)

sudo apt-get update
sudo apt-get install -y nmap nikto dnsutils traceroute golang-go
go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
go install github.com/OJ/gobuster/v3@latest
echo 'export PATH=$PATH:~/go/bin' >> ~/.bashrc && source ~/.bashrc

macOS(自制)

brew install nmap nikto go
go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
go install github.com/OJ/gobuster/v3@latest
echo 'export PATH=$PATH:~/go/bin' >> ~/.zshrc && source ~/.zshrc

验证工具:

nmap --version
subfinder -version
nikto -Version
gobuster -h

安装

  1. 克隆或导航到项目:

    cd MCP-APP
    
  2. 设置后端:

    cd backend
    pip install -r requirements.txt
    playwright install chromium
    
  3. 设置前端:

    cd frontend
    npm install
    

运行应用程序

选项1:开发模式

终端1–后端:

cd backend
python mcp_server.py

继续运行 http://127.0.0.1:8000

2号航站楼——前端:

cd frontend
npm start

继续运行 http://localhost:3000

选项2:一键启动(Windows)

# Backend
backend\start_backend.bat

# Frontend (new terminal)
frontend\start_frontend.bat

使用指南

开始扫描

  1. 导航至 “新扫描” 标签
  2. 输入目标(域或URL)
  3. 选择工具
  4. 点击 “启动安全扫描”

监控进度

  • 检查 “进展” 实时状态选项卡
  • 每个工具显示其单独的进度和完成情况

查看结果

  • 报告选项卡:详细的图表和结果
  • “历史记录”选项卡:过去的扫描,可搜索和过滤
  • 导出选项:PDF、JSON、CSV、HTML

风险评分计算

风险指数(0-10)考虑了:

  • 漏洞的数量和严重程度
  • 高风险发现
  • 开放端口
  • 子域名计数

项目结构

MCP-APP/
├── backend/
│   ├── mcp_server.py
│   ├── requirements.txt
│   ├── scanners/
│   │   ├── nmap.py
│   │   ├── subfinder.py
│   │   ├── nikto.py
│   │   ├── gobuster.py
│   │   ├── nslookupdns.py
│   │   └── traceroute.py
│   └── scans/
│       ├── mcp.db
│       └── {scan_id}/
│           ├── raw/
│           └── report.pdf
│
├── frontend/
│   ├── src/
│   │   ├── components/
│   │   │   ├── Dashboard.js
│   │   │   ├── ScanForm.js
│   │   │   ├── ScanProgress.js
│   │   │   ├── ScanHistory.js
│   │   │   └── ScanReport.js
│   │   ├── App.js
│   │   ├── App.css
│   │   └── index.js
│   └── package.json
│
└── README.md

API终点

🔹 扫描管理

  • POST /start_scan –开始新的扫描
  • GET /status/{scan_id} –获取扫描状态
  • GET /scans –列出所有扫描

🔹 报告和导出

  • GET /report/{scan_id} –HTML报告
  • GET /report_pdf/{scan_id} –PDF导出
  • GET /export/{scan_id}/json –JSON导出
  • GET /export/{scan_id}/csv –CSV导出

🔹 公用事业

  • GET /tools –列出可用的扫描工具

详细功能

实时进度跟踪

  • 每2秒实时更新一次
  • 动态进度指标
  • 工具完成通知

高级可视化

  • 港口分布图
  • 子域名列表
  • 风险度量
  • 漏洞热图

导出选项

  • PDF、JSON、CSV、HTML

法律和道德准则

重要: 仅扫描您拥有或具有明确测试权限的域。 未经授权的扫描可能 非法的.

最佳实践:

  • 始终获得书面授权
  • 遵守费率限制
  • 对结果保密

开发指南

添加新工具

在中创建扫描仪模块 backend/scanners/:

def run_and_parse(target: str, raw_dir: str) -> dict:
    # Your scanning logic
    return {
        "success": True,
        "findings": [...],
        "count": 0
    }

在中注册 mcp_server.py.

自定义用户界面

  • 编辑 frontend/src/App.css 对于样式
  • 修改中的组件 frontend/src/components/
  • 更新Framer Motion动画

构建桌面应用程序

cd frontend
npm run build
npm run electron

或者创建安装程序:

npm run build && electron-builder

故障排除

未找到工具

确保工具已安装并处于PATH中。 示例检查:

nmap --version
subfinder -version
nikto -Version
gobuster -h

后端连接错误

  • 验证后端是否正在运行(http://127.0.0.1:8000/docs)
  • 检查CORS配置
  • 必要时暂时禁用防火墙

PDF导出失败

playwright install chromium

快速运行命令

要快速启动项目,请执行以下操作:

# Backend
cd backend
python .\mcp_server.py
# Frontend
cd frontend
npm start

许可证和信用证

免责声明: 此工具仅用于授权的安全测试。负责任地使用。

构建方式:

  • 快速API
  • 反应
  • 帧运动
  • Plotly.js
  • 电子

版本历史记录

v2.0.0(当前)

  • 使用动画重新设计UI
  • 实时跟踪
  • 增强风险评分
  • 导出格式:PDF、JSON、CSV
  • 使用搜索/筛选功能扫描历史记录

v1.0.0

  • 初始版本
  • 基本扫描
  • 简单的HTML报告

贡献

欢迎投稿! 拜托:

  1. 遵循代码样式约定
  2. 为新功能添加测试
  3. 更新文档
  4. 尊重安全最佳实践

支持

关于问题或建议:

  • 检查GitHub问题
  • 查看故障排除
  • 确保安装了必备组件

在建造时考虑到了安全性。负责任地使用。


团队成员(由Woxsen初级学者开发的项目)

  1. 班迪·赫曼斯(22WU0106028)
  2. Vamsi。P(22WU0106013)
  3. 拉胡尔·萨米尼尼(22WU0106023)