Nmap Mcpserver

Nmap Mcpserver

🚀 Nmap MCP 服务器

Nmap MCP 服务器基于模型控制协议(MCP)构建,为用户提供便捷访问 nmap 网络扫描功能的途径,可实现扫描操作、结果存储与分析等功能。

🚀 快速开始

Nmap MCP 服务器能让你轻松使用 nmap 进行网络扫描。你可以按照以下步骤快速开启使用:

  1. 完成安装步骤,确保系统满足运行要求。
  2. 按照使用方法启动服务器,并调用相应工具开展扫描工作。

✨ 主要特性

  • 可定制扫描:能在指定目标上运行 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": "", "focus": "安全"}

📚 详细文档

安全注意事项

⚠️ 重要提示

此服务器会在您的系统上执行 nmap 命令。请谨慎扫描您没有所有权或未获得许可的网络,因为未经授权的扫描在某些司法管辖区可能是非法的。

故障排除

若遇到与 nmap 未找到或执行错误相关的问题,可按以下步骤排查:

  1. 确保已安装 nmap 并且其在系统的 PATH 中可用。
  2. 检查日志以查看正在使用的 nmap 可执行文件。
  3. 服务器会尝试使用完整的 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 文件。

  • 0 关注
  • 0 收藏,7 浏览
  • system 提出于 2025-09-30 03:33

相似服务问题