网络扫描服务

一个基于nmap的模型上下文协议(MCP)服务器,提供全面的网络扫描功能,适用于安全专业人员和渗透测试人员。

  • by schwarztim
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 schwarztim/sec-nmap-mcp

使用说明

nmap mcp

一种模型上下文协议(MCP)服务器,使用 扫描器该服务器专为安全专业人员和渗透测试人员设计,可以在本地或通过SSH在远程Kali Linux机器上执行扫描以实现安全隔离。

特性

  • 多种扫描类型端口扫描、服务检测、操作系统指纹识别、漏洞评估
  • NSE脚本支持:运行600多个Nmap脚本引擎脚本
  • 灵活执行:在本地或通过SSH运行到远程扫描主机
  • 结构化输出:解析的XML结果格式为可读的Markdown
  • 安全第一:输入验证以防止命令注入
  • 隐形选项:诱饵、碎片、规避扫描的时间控制

安装

# Clone the repository
git clone https://github.com/schwarztim/sec-nmap-mcp.git
cd sec-nmap-mcp

# Install dependencies
npm install

# Build
npm run build

配置

环境变量

变量 描述 默认值
NMAP_SSH_HOST 用于远程执行的SSH主机 kali
NMAP_SSH_USER SSH用户名(可选) 使用SSH配置默认值
NMAP_SSH_KEY SSH私钥路径(可选) 使用SSH配置默认值
NMAP_LOCAL 设置为 "true" 在本地运行nmap false

Claude桌面配置

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "nmap": {
      "command": "node",
      "args": ["/path/to/sec-nmap-mcp/dist/index.js"],
      "env": {
        "NMAP_SSH_HOST": "kali",
        "NMAP_LOCAL": "false"
      }
    }
  }
}

对于本地执行:

{
  "mcpServers": {
    "nmap": {
      "command": "node",
      "args": ["/path/to/sec-nmap-mcp/dist/index.js"],
      "env": {
        "NMAP_LOCAL": "true"
      }
    }
  }
}

可用工具

基本扫描

工具 说明
nmap_scan 具有可定制选项的基本端口扫描
nmap_quick_scan 快速扫描公共端口(-F)
nmap_ping_sweep 不进行端口扫描的主机发现(-sn)

高级扫描

工具 说明
nmap_service_scan 服务版本检测(-sV)
nmap_os_detect 操作系统指纹识别(-O)
nmap_comprehensive_scan 全扫描:SYN+版本+操作系统+脚本
nmap_stealth_scan 使用诱饵和碎片进行规避扫描

安全评估

工具 说明
nmap_script_scan 运行特定的NSE脚本
nmap_vuln_scan 漏洞评估脚本

效用

工具 说明
nmap_status 检查nmap可用性和配置
nmap_parse_output 解析现有nmap XML输出

使用示例

基本端口扫描

Scan target 192.168.1.1 for open ports

服务版本检测

Run a service scan on 10.0.0.0/24 ports 22,80,443

漏洞评估

Run a vulnerability scan on target.example.com

带诱饵的隐形扫描

Perform a stealth scan on 192.168.1.100 using random decoys

Ping扫描以查找主机

Find all live hosts on 192.168.1.0/24

NSE脚本扫描

Run the http-title and ssl-cert scripts on example.com port 443

安全考虑

远程执行(推荐)

通过SSH将nmap运行到专用的Kali Linux机器上可以提供:

  • 孤立:扫描源自受控环境
  • 权限管理:无需局部高程即可进行高级扫描的根访问
  • 审计跟踪:扫描主机上的集中登录
  • 网络分段:扫描流量与工作站分离

输入验证

服务器验证所有输入以防止命令注入:

  • 根据允许的字符模式验证目标
  • 危险外壳字符被阻止
  • 端口规格经过严格验证

责任的使用

此工具用于:

  • 经适当授权的安全评估
  • 网络库存和管理
  • 教育目的

在扫描任何网络或系统之前,始终确保您有适当的授权。

发展

# Watch mode for development
npm run dev

# Build for production
npm run build

# Run the server
npm start

需求

  • Node.js 18+
  • nmap已安装(本地或SSH目标上)
  • SSH访问远程主机(如果使用远程执行)

许可证

MIT许可证-请参阅 许可证 了解详情。

贡献

欢迎投稿!请随时提交拉取请求。

致谢