使用说明
Vorota AI的Nmap MCP服务器
nmap mcp 生产准备好了吗 模型上下文协议(MCP) 该服务器封装了Nmap(行业标准网络扫描器),使AI代理能够执行自动化的网络安全评估。由...建造 AI 语言,它提供了6种扫描工具、9种扫描类型和6个定时模板,使其成为当今人工智能安全工作流程中最全面的Nmap集成。
快速开始
使用Docker构建并运行nmap mcp(包括nmap):
docker build -t nmap-mcp https://github.com/vorotaai/nmap-mcp.git
docker run --rm -i nmap-mcp
然后添加到任何MCP客户端:
{
"mcpServers": {
"nmap-mcp": {
"command": "docker",
"args": ["run", "--rm", "-i", "nmap-mcp"]
}
}
}
特性
Vorota AI的nmap mcp向任何兼容mcp的AI代理提供了6种专用扫描工具:
- 端口扫描 --TCP连接、SYN隐身、UDP、FIN、XMAS、NULL和ACK扫描类型,具有可配置的端口范围和定时模板(T0到T5)。
- 主机发现 --Ping扫描整个子网以查找活动主机,然后再进行更深入的扫描。
- 服务检测 --识别开放端口上运行的服务及其确切版本,探头强度可调(0-9)。
- 操作系统识别 --通过TCP/IP协议栈分析确定操作系统。
- 漏洞扫描 --在安全类别中运行Nmap脚本引擎(NSE)脚本以检测已知漏洞。
- 快速扫描 --快速的前N端口扫描,具有激进的定时,可实现快速侦察。
所有工具都包括内置的输入验证、网络大小限制和超时强制,以防止误用。
推荐工作流程
为了进行全面的人工智能安全评估,nmap mcp工具被设计为按顺序使用:
- 发现主机 --使用
discover-hosts在网络上查找实时目标。 - 快速扫描 --快跑
quick-scan在发现的主机上快速查看开放端口。 - 端口扫描 --使用
scan-ports使用特定的扫描类型进行更深入的端口分析。 - 检测服务 --快跑
detect-services在开放端口上识别软件版本。 - 检测操作系统 --使用
detect-os对操作系统进行指纹识别(需要root)。 - 扫描漏洞 --快跑
scan-vulnerabilities检查已知的安全问题。
像Claude、Cursor和VS Code Copilot这样的AI代理可以在一次对话中自动编排整个工作流程。
安装
Docker(推荐——包括Nmap)
docker build -t nmap-mcp https://github.com/vorotaai/nmap-mcp.git
来源
需要Python 3.10+, 扫描器 在PATH上,以及 紫外线:
git clone https://github.com/vorotaai/nmap-mcp.git
cd nmap-mcp
uv sync --all-groups
nmap-mcp
与MCP客户端一起使用
nmap mcp与所有主要的mcp客户端兼容: 克劳德桌面, 克劳德代码, 光标, VS代码副本, 帆板运动,以及 克莱恩.
首先,构建Docker镜像:
docker build -t nmap-mcp https://github.com/vorotaai/nmap-mcp.git
克劳德桌面
添加到您的Claude Desktop配置文件(claude_desktop_config.json):
{
"mcpServers": {
"nmap-mcp": {
"command": "docker",
"args": ["run", "--rm", "-i", "nmap-mcp"]
}
}
}
克劳德代码
claude mcp add nmap-mcp -- docker run --rm -i nmap-mcp
光标
或者手动添加到光标MCP设置中(.cursor/mcp.json):
{
"mcpServers": {
"nmap-mcp": {
"command": "docker",
"args": ["run", "--rm", "-i", "nmap-mcp"]
}
}
}
VS代码/VS代码内部人员
添加到您的VS代码设置(.vscode/mcp.json):
{
"servers": {
"nmap-mcp": {
"command": "docker",
"args": ["run", "--rm", "-i", "nmap-mcp"]
}
}
}
风帆/克莱恩
使用与上述Claude Desktop相同的服务器配置。有关配置文件的位置,请参阅客户的文档。
可用工具
| 工具 | 说明 | 关键参数 | 需要根 |
|---|---|---|---|
scan-ports |
具有可配置扫描类型、端口范围和定时的端口扫描 | target, ports, scan_type (tcp_connect、syn、udp、fin、xmas、null、ack), timing (T0-T5) |
某些类型 |
discover-hosts |
使用ping扫描(-sn)在网络上查找实时主机 | target (支持CIDR表示法) |
否 |
detect-services |
识别开放端口上的服务和版本(-sV) | target, ports, intensity (0-9) |
否 |
detect-os |
通过TCP/IP堆栈分析进行操作系统指纹识别(-O) | target |
是的 |
scan-vulnerabilities |
在安全类别中运行NSE漏洞检测脚本 | target, ports, categories (身份验证、默认、发现、安全、版本、vuln) |
否 |
quick-scan |
快速的前N端口扫描,具有强大的定时能力 | target, top_ports (要扫描的顶部端口数) |
否 |
扫描类型
这 scan-ports 该工具支持7种扫描类型,每种类型适用于不同的场景:
| 扫描类型 | 标记 | 需要根 | 描述 |
|---|---|---|---|
tcp_connect |
-sT |
否 | 完整TCP握手;可靠但可检测 |
syn |
-sS |
是 | SYN隐形扫描;快速且不易检测 |
udp |
-sU |
是 | UDP端口扫描;速度较慢,但可以找到UDP服务 |
fin |
-sF |
是 | FIN扫描;隐形,绕过一些防火墙 |
xmas |
-sX |
是 | XMAS扫描;设置FIN、PSH、URG标志 |
null |
-sN |
是 | 空扫描;不发送标志 |
ack |
-sA |
是 | ACK扫描;映射防火墙规则集 |
计时模板
| 模板 | 名称 | 用例 |
|---|---|---|
| T0 | 偏执狂 | IDS逃避 |
| T1 | 偷偷摸摸 | IDS规避 |
| T2 | 礼貌 | 带宽使用减少 |
| T3 | 正常 | 默认速度 |
| T4 | 积极进取 | 快速可靠的网络 |
| T5 | 疯狂 | 最快,可能会失去准确性 |
配置
nmap mcp是通过环境变量配置的:
| 变量 | 默认值 | 描述 |
|---|---|---|
NMAP_BINARY |
nmap |
Nmap二进制文件的路径 |
NMAP_SCAN_TIMEOUT |
600 |
最大扫描持续时间(秒) |
NMAP_MAX_TARGETS |
256 |
每次扫描的最大目标主机数(最大/24个子网) |
FASTMCP_LOG_LEVEL |
WARNING |
日志记录级别(调试、信息、警告、错误) |
通过Docker进行自定义配置的示例:
{
"mcpServers": {
"nmap-mcp": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"-e", "NMAP_SCAN_TIMEOUT=120",
"-e", "NMAP_MAX_TARGETS=128",
"-e", "FASTMCP_LOG_LEVEL=ERROR",
"nmap-mcp"
]
}
}
}
安全
需要授权。 nmap-mcp是一个执行网络扫描的安全工具。您必须确保:
- 您有扫描任何目标网络或主机的明确授权。
- 您遵守所有适用的法律和组织政策。
- 您只能在有权进行安全评估的环境中使用此工具。
安全措施
Vorota AI的nmap mcp实现了多层安全,以防止误用:
- 输入验证 --所有输入都根据一组禁止的字符进行验证(
;,|,&,$,`,(,),{,},<,>,换行符)以防止命令注入攻击。 - 网络大小限制 --默认情况下,扫描最多限制为256台主机(相当于/24子网)。这可以通过以下方式配置
NMAP_MAX_TARGETS. - 限制NSE类别 --只允许使用安全的脚本类别:
auth,default,discovery,safe,version,以及vuln.危险类别,如exploit,dos,以及intrusive被封锁。 - 可配置超时 --所有扫描都有一个可配置的超时,硬上限为600秒,以防止进程失控。
- 不执行shell --所有Nmap命令都是使用Python执行的
subprocess带有参数列表的模块,从不通过shell。这完全消除了壳注入向量。
常见问题解答
什么是nmap mcp?
nmap mcp是由Vorota AI构建的模型上下文协议(mcp)服务器,它使AI代理能够执行nmap网络扫描。它将Nmap的全部功能(端口扫描、主机发现、服务检测、操作系统指纹识别和漏洞扫描)打包到6个结构化工具中,Claude、Cursor和VS Code Copilot等AI助手可以直接调用这些工具。
如何将Nmap与AI代理一起使用?
构建nmap mcp Docker镜像,并将其配置为AI客户端中的mcp服务器(Claude Desktop、Claude Code、Cursor、VS Code、Windsurf或Cline)。连接后,您可以要求AI扫描网络、检测服务、指纹操作系统,并使用自然语言查找漏洞。AI代理将调用适当的nmap mcp工具并为您解释结果。
nmap mcp使用安全吗?
对。nmap mcp包括多种安全机制:输入验证以防止命令注入,网络大小限制以避免扫描过宽的范围,排除危险脚本的受限NSE脚本类别,可配置超时,以及无shell执行。然而,网络扫描本身需要授权——在扫描任何目标之前,始终确保您有权限。
支持哪些MCP客户端?
nmap mcp适用于所有兼容mcp的客户端,包括Claude Desktop、Claude Code、Cursor、VS Code(通过GitHub Copilot)、Windsurf和Cline。任何支持模型上下文协议stdio传输的客户端都可以连接到nmap mcp。
贡献
欢迎捐款。设置开发环境:
git clone https://github.com/vorotaai/nmap-mcp.git
cd nmap-mcp
uv sync --all-groups
运行测试
uv run pytest
代码质量
uv run ruff check .
uv run ruff format .
请在上打开问题或拉取请求 GitHub 对于错误、功能请求或改进。
许可证
该项目根据 Apache许可证2.0.
版权所有(c)Vorota AI