article
README
🚀 Nmap MCP 服务器
Nmap MCP 服务器基于模型控制协议(MCP)构建,为用户提供便捷访问 nmap 网络扫描功能的途径,可实现扫描操作、结果存储与分析等功能。
🚀 快速开始
Nmap MCP 服务器能让你轻松使用 nmap 进行网络扫描。你可以按照以下步骤快速开启使用:
- 完成安装步骤,确保系统满足运行要求。
- 按照使用方法启动服务器,并调用相应工具开展扫描工作。
✨ 主要特性
- 可定制扫描:能在指定目标上运行 nmap 扫描,且扫描选项可自定义。
- 结果管理:支持存储和检索扫描结果,方便后续查看与分析。
- AI 分析:借助 AI 提示对扫描结果进行分析,挖掘潜在信息。
📦 安装指南
安装要求
- Python 3.10 及以上版本。
- 安装
python-libnmap库。 - 系统中已安装 nmap。
安装命令
安装 python-libnmap:
pip install python-libnmap
安装 nmap:
# 在 Debian/Ubuntu 上
sudo apt-get install nmap
# 在 Fedora/CentOS 上
sudo dnf install nmap
💻 使用示例
启动服务器
从源代码启动
python -m src.nmap_mcp
安装包后启动
pip install -e .
nmap-mcp
可用工具
run-nmap-scan
- 功能:在指定目标上运行 nmap 扫描。
- 参数:
target:目标主机或网络(例如 192.168.1.1 或 192.168.1.0/24)。options:nmap 选项(例如 -sV -p 1-1000)。
get-scan-details
- 功能:获取特定扫描的详细信息。
- 参数:
scan_id:要检索的扫描 ID。
list-all-scans
- 功能:列出所有可用的扫描结果。
- 参数:无。
可用提示
analyze-scan
- 功能:分析 nmap 扫描结果。
- 参数:
scan_id:要分析的扫描 ID。focus:分析焦点(安全/服务/概述)。
资源
扫描结果以带有 nmap://scan/{scan_id} URI 方案的资源形式提供。
示例工作流程
1. 运行扫描
调用工具:run-nmap-scan
参数:{"target": "192.168.1.0/24", "options": "-sV -p 22,80,443"}
2. 获取扫描详细信息
调用工具:get-scan-details
参数:{"scan_id": "<上一步骤中的 scan_id>"}
3. 列出所有扫描
调用工具:list-all-scans
4. 分析扫描结果
获取提示:analyze-scan
参数:{"scan_id": "<scan_id>", "focus": "安全"}
📚 详细文档
安全注意事项
⚠️ 重要提示
此服务器会在您的系统上执行 nmap 命令。请谨慎扫描您没有所有权或未获得许可的网络,因为未经授权的扫描在某些司法管辖区可能是非法的。
故障排除
若遇到与 nmap 未找到或执行错误相关的问题,可按以下步骤排查:
- 确保已安装 nmap 并且其在系统的 PATH 中可用。
- 检查日志以查看正在使用的 nmap 可执行文件。
- 服务器会尝试使用完整的 nmap 路径以避免冲突。
Docker 使用
你可以将 MCP 服务器运行在 Docker 容器中,具体操作如下:
# 构建 Docker 镜像
docker build -t nmap-mcp-server .
# 运行 Docker 容器
docker run -it --rm nmap-mcp-server
与 Glama MCP 目录集成后,Docker 容器能让其他人无需担心安装依赖项即可轻松使用此 MCP 服务器。
📄 许可证
本项目采用 MIT 许可证,具体内容请参阅 LICENSE 文件。
微信扫一扫