使用说明
MCP-Kali-Server(可翻译为):MCP-Kali 服务器
MCP-Kali-Server 是一个基于 Go 语言的服务器应用程序,它利用模型上下文协议(MCP)集成了各种 Kali Linux 工具。它提供了基于 HTTP 和 MCP 的接口,用于执行渗透测试和安全扫描所用的安全工具。
注这个项目是原Python实现版本的Go语言分支 https://github.com/Wh0am123/MCP-Kali-Server 翻译为中文是:“https://github.com/Wh0am123/MCP-Kali-服务器(或:MCP-Kali 服务端)”。不过,通常在中文语境中,我们可能会更简洁地表述为“GitHub上的MCP-Kali服务器项目(或:MCP-Kali服务端仓库)”,具体取决于上下文和表达习惯。
特点/特性
- MCP和HTTP服务器使用MCP服务器以MCP模式运行服务器,或使用Gin以HTTP模式运行服务器。
- 集成工具:
- Nmap(网络映射工具)
- Gobuster(一种用于目录和DNS枚举的工具)
- “Dirb”翻译成中文可以是“迪尔布”(注:这是一个音译,具体含义可能根据上下文或特定领域有所不同)。如果“Dirb”是某个特定名称、品牌或术语,在没有具体上下文的情况下,通常会采用音译的方式进行翻译。
- Nikto(注:此词在波兰语中意为“无人”,在其他语境下可能根据上下文有不同翻译,但直接翻译即为此)
- SQLmap
- 水螅(或译为水母的一种,具体根据上下文确定)
- “John the Ripper”翻译成中文是“密码破解者约翰”。不过,这个名称在中文语境下可能不太常见,因为“John the Ripper”通常指的是一个用于破解密码的工具或程序,其名称来源于历史上著名的密码破解者约翰·哈克尼斯(John the Ripper)。在中文中,这个工具或程序可能被直接称为“John the Ripper”或根据其功能被描述为“密码破解工具(John the Ripper)”
- WPScan
- Enum4linux
- Sublist3r(可译为“子列表查找器”或根据具体上下文意译为更贴切的名称)
项目结构
cmd/包含Kali和MCP服务器的主要可执行文件。pkg/tools/实现工具执行逻辑。pkg/handlers/定义工具和命令的处理程序。go.mod并且go.sum管理Go依赖项。
入门指南
先决条件
- Go 1.24.5 或更高版本
- MCP Go SDK(MCP Go软件开发工具包)
- 已安装Kali Linux工具
安装
git clone https://github.com/ba0f3/MCP-Kali-Server.git
cd MCP-Kali-Server
go mod tidy
运行服务器
MCP模式
go run ./cmd/mcp-server -debug
# With custom timeout (in seconds)
go run ./cmd/mcp-server -timeout=300
# With HTTP endpoint
go run ./cmd/mcp-server -http=:8080
HTTP 模式
SERVER_MODE=gin go run ./cmd/kali-server
# With custom timeout (in seconds)
go run ./cmd/kali-server -timeout=300
# With custom port
go run ./cmd/kali-server -port=8080
服务器默认在5000端口启动(可通过配置进行调整) -port 标志) 并为工具操作提供多个终端点。
命令行标志
Kali服务器
-port监听端口(默认:5000)-timeout命令执行超时时间(秒)(默认:180)
mcp-server 翻译成中文是“MCP服务器”
-debug启用调试日志记录(默认:false)-http要监听的HTTP地址,而不是标准输入输出(例如,":8080")-timeout命令执行超时时间(以秒为单位)(默认:180)
认证
HTTP服务器支持身份验证以保护您的终端节点。身份验证通过环境变量进行配置:
AUTH_SECRET用于身份验证的密钥/令牌(启用身份验证所必需)AUTH_TYPE认证方法——任选其一apikey(默认)或bearer
API密钥认证(默认)
设置密钥并在请求中包含它:
# Set the secret
export AUTH_SECRET=your-secret-key
# Include in header
curl -H "X-API-Key: your-secret-key" http://localhost:5000/api/tools/nmap -d '{...}'
# Or as query parameter
curl http://localhost:5000/api/tools/nmap?api_key=your-secret-key -d '{...}'
不记名令牌认证
# Set auth type and secret
export AUTH_TYPE=bearer
export AUTH_SECRET=your-bearer-token
# Include in Authorization header
curl -H "Authorization: Bearer your-bearer-token" http://localhost:5000/api/tools/nmap -d '{...}'
用法
示例命令
-
Nmap扫描:
curl -X POST http://localhost:5000/api/tools/nmap -d '{"target": "example.com", "scan_type": "-sS"}' -
WPScan分析:
curl -X POST http://localhost:5000/api/tools/wpscan -d '{"url": "http://example.com"}' -
Sublist3r 子域名枚举:
curl -X POST http://localhost:5000/api/tools/sublist3r -d '{"domain": "example.com", "bruteforce": false, "threads": 10}'
许可证
这个项目采用MIT许可证授权 - 详见 许可证 文件中有详细信息。