端口扫描服务

Masscan MCP Server 是一个为AI助手提供的标准化网络端口扫描服务,适用于安全评估、网络发现和渗透测试工作流。

  • by schwarztim
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 schwarztim/sec-masscan-mcp

使用说明

Masscan MCP服务器

一种模型上下文协议(MCP)服务器 masscan -世界上最快的端口扫描仪,能够在6分钟内扫描整个互联网。

概述

此MCP服务器为AI助手使用masscan执行网络端口扫描提供了一个标准化的接口。它通过SSH在远程Kali Linux主机上执行命令,使其成为安全评估、网络发现和渗透测试工作流程的理想选择。

特性

工具 说明
masscan_scan 具有全面选项的全功能端口扫描
masscan_quick_scan 常见场景的基于预设的快速扫描
masscan_resume 从paused.conf恢复中断的扫描
masscan_echo_config 生成可重用的配置文件
masscan_version 验证masscan安装
masscan_help 按主题显示帮助

安装

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

# Install dependencies
npm install

# Build
npm run build

配置

MCP客户端配置

添加到您的Claude桌面配置(~/.claude/user-mcps.json 或同等):

{
  "mcpServers": {
    "masscan": {
      "command": "node",
      "args": ["/path/to/sec-masscan-mcp/dist/index.js"],
      "env": {
        "KALI_HOST": "kali"
      }
    }
  }
}

环境变量

变量 描述 默认值
KALI_HOST Kali Linux的SSH主机名/别名 kali

SSH设置

确保对Kali主机的无密码SSH访问:

# Generate SSH key if needed
ssh-keygen -t ed25519

# Copy to Kali host
ssh-copy-id kali

# Verify connection
ssh kali "masscan --version"

使用示例

基本端口扫描

{
  "tool": "masscan_scan",
  "arguments": {
    "targets": "192.168.1.0/24",
    "ports": "80,443,8080"
  }
}

带横幅抓取的高速扫描

{
  "tool": "masscan_scan",
  "arguments": {
    "targets": "10.0.0.0/8",
    "ports": "22,80,443",
    "rate": 10000,
    "banners": true
  }
}

快速Web服务扫描

{
  "tool": "masscan_quick_scan",
  "arguments": {
    "targets": "192.168.1.0/24",
    "preset": "web",
    "banners": true
  }
}

全端口扫描

{
  "tool": "masscan_quick_scan",
  "arguments": {
    "targets": "192.168.1.1",
    "preset": "full",
    "rate": 10000
  }
}

分布式扫描(分片)

{
  "tool": "masscan_scan",
  "arguments": {
    "targets": "10.0.0.0/8",
    "ports": "80,443",
    "shard": "1/3"
  }
}

恢复中断的扫描

{
  "tool": "masscan_resume",
  "arguments": {
    "configFile": "/tmp/paused.conf"
  }
}

端口预设

预设 端口 用例
web 80、443、8080、8443、8000、8888、3000、5000 Web服务器
common 21、22、23、25、53、80、110、111、135、139、143、443、445、993、995、1723、3306、3389、5432、5900、8080 共同事务
full 0-65535 完成端口扫描
ssh 22222222 SSH服务
database 3306、5432、1433、1521、27017、6379、5984、9200、9300、11211、28015 数据库服务器

输出格式

格式 描述
json JSON输出(默认)-自动解析
list 简单主机:端口列表
xml 用于工具集成的XML格式
grepable Nmap风格的可恢复输出
binary 用于大规模扫描的二进制格式

高级选项

这 masscan_scan 该工具支持所有主要的masscan选项:

  • 码率控制: rate -每秒数据包数(高达25M)
  • 横幅抓取: banners -执行完整的TCP握手
  • 除外条款: excludeTargets, excludeFile
  • 网络优化: adapter, adapterIp, adapterMac, routerMac
  • 时机: wait, retries, connectionTimeout
  • 协议: ttl, sourcePort
  • 分布式: seed, shard
  • 输出: outputFormat, outputFile, openOnly

需求

  • Node.js 18岁或以上
  • SSH访问 安装了masscan的Kali Linux主机
  • Root/sudo Kali上的高速扫描访问

安全考虑

  • 仅扫描您有权测试的网络
  • 高扫描速率会触发IDS/IPS警报
  • 横幅抓取建立完整的TCP连接
  • 考虑对敏感主机使用排除列表

参考文献

许可证

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