
AI Assistant Chat with Nmap Tool Integration

2025.04.07
4
PythonAI 助手网络扫描文件系统访问开发效率其它
nmap-mcp-server 是一个集成了 Nmap 工具的 AI 助手聊天服务,提供基于 Gradio 的 Web 界面,用户可以通过 OpenAI API 与 AI 助手交互。该助手具备访问本地文件系统和执行网络扫描的能力,通过容器化的 Nmap 服务器实现。
View on GitHub
Overview
基本能力
产品定位
nmap-mcp-server 是一个结合 AI 助手和网络扫描工具的服务,旨在提供便捷的网络扫描和文件系统访问功能。
核心功能
- 基于 OpenAI 的 AI 助手,支持自然语言交互。
- 文件系统访问工具(仅限于应用目录)。
- 网络扫描工具(通过 Nmap 实现):
ping_host
:主机 ping 检测。scan_network
:扫描 Top 100 端口。all_scan_network
:全面扫描(-A 参数)。all_ports_scan_network
:扫描所有 65535 端口。smb_share_enum_scan
:SMB 共享枚举扫描。- 基于 Gradio 的 Web UI。
- 容器化的 Nmap 工具服务器(通过 Docker 实现)。
适用场景
- 网络管理员进行快速网络扫描和主机检测。
- 开发人员通过 AI 助手自动化执行网络扫描任务。
- 安全研究人员进行 SMB 共享枚举和端口扫描。
工具列表
- 文件系统访问工具:提供对应用目录的访问能力。
- Nmap 扫描工具:包括 ping 检测、端口扫描、全面扫描、SMB 共享枚举等。
常见问题解答
- Q: 如何设置 OpenAI API Key?
A: 通过环境变量
OPENAI_API_KEY
设置,具体命令见安装教程。 - Q: 如何启动 Nmap 服务器?
A: 使用
docker build -t nmap-mcp-server .
构建镜像,并通过docker run
启动。
使用教程
使用依赖
- Python: 3.9+。
- Docker: 最新版本并已运行。
- Node.js/npm: 用于运行文件系统 MCP 服务器。
- OpenAI API Key: 设置为环境变量
OPENAI_API_KEY
。
安装教程
- 克隆仓库:
bash git clone <your-repository-url> cd <your-repository-directory>
- 设置 OpenAI API Key:
- Linux/macOS:
bash export OPENAI_API_KEY='your_api_key_here'
- Windows (Command Prompt):
bash set OPENAI_API_KEY=your_api_key_here
- Windows (PowerShell):
bash $env:OPENAI_API_KEY='your_api_key_here'
- 构建 Nmap Docker 镜像:
bash docker build -t nmap-mcp-server .
- 安装 Python 依赖:
bash python -m venv venv source venv/bin/activate # Linux/macOS .\venv\Scripts\activate # Windows pip install -r requirements.txt
调试方式
- 确保 OpenAI API Key 已设置。
- 确保 Docker 正在运行。
- 在项目根目录下激活虚拟环境并运行:
bash python app.py