SharkMCP是一个模型上下文协议(MCP)服务器,它通过集成Wireshark/tshark,提供网络数据包捕获和分析功能。该服务器专为AI助手进行网络安全分析、故障排除和数据包检查而设计。
该服务器适用于需要让代理调试发送请求的程序并验证数据包流量的场景,支持以下工作流程:
brew install wireshark
sudo apt update
sudo apt install tshark wireshark-common
git clone https://github.com/kriztalz/SharkMCP.git
cd SharkMCP
pnpm install
pnpm run build
pnpm start
⚠️ 重要提示
数据包信息可能非常庞大。请确保使用范围显示过滤器,以免使对话上下文过载。
git clone https://github.com/kriztalz/SharkMCP.git
cd SharkMCP
pnpm install
pnpm run build
pnpm start
接口: en0
捕获过滤器: port 443
超时时间: 30 秒
显示过滤器: tls.handshake.type == 1
输出格式: json
{
"name": "https-monitoring",
"description": "监控HTTPS流量",
"captureFilter": "port 443",
"displayFilter": "tls.handshake.type == 1",
"outputFormat": "json",
"timeout": 60,
"interface": "en0"
}
SharkMCP提供了一个简单的、专注于本地开发的架构:
┌─────────────────────────────────────────────────────────┐
│ SharkMCP Server │
├─────────────────────────────────────────────────────────┤
│ MCP协议层 │
│ ├─ start_capture_session │
│ ├─ stop_capture_session │
│ ├─ analyze_pcap_file │
│ └─ manage_config │
├─────────────────────────────────────────────────────────┤
│ tshark集成层 │
│ ├─ 跨平台可执行文件检测 │
│ ├─ 进程管理 │
│ └─ 输出解析 (JSON/字段/文本) │
├─────────────────────────────────────────────────────────┤
│ 主机系统集成 │
│ ├─ 本地tshark安装 │
│ ├─ 直接网络接口访问 │
│ └─ 原生文件系统操作 │
└─────────────────────────────────────────────────────────┘
{
"mcpServers": {
"sharkmcp": {
"command": "node",
"args": ["/path/to/SharkMCP/dist/index.js"]
}
}
}
要解密HTTPS流量,需导出 SSLKEYLOGFILE
环境变量:
export SSLKEYLOGFILE=/path/to/sslkeylog.log
然后配置应用程序将SSL密钥记录到该文件。当设置了环境变量时,许多应用程序会自动支持此功能。
最后,在 stop_capture_session
工具中将日志文件路径名传递给MCP服务器。
SharkMCP包含全面的集成测试,用于验证数据包捕获功能。
# 运行所有测试
pnpm test
SharkMCP/
├── src/
│ ├── index.ts # 主服务器设置
│ ├── types.ts # TypeScript接口
│ ├── utils.ts # 实用函数
│ └── tools/ # 单个工具实现
│ ├── start-capture-session.ts
│ ├── stop-capture-session.ts
│ ├── analyze-pcap-file.ts
│ └── manage-config.ts
├── test/ # 测试文件
│ └── integration.test.js # 集成测试
├── package.json
└── README.md
# 开发模式,自动重新加载
pnpm run dev
# 生产环境构建
pnpm run build
# 运行测试
pnpm run test
# 类型检查
pnpm run build
/tmp/
中创建。tshark -v
检查安装情况。wireshark
组或使用 sudo
运行。ip link
,macOS上使用 ifconfig
)。SharkMCP通过集成Wireshark/tshark实现网络数据包的捕获和分析。其架构分为MCP协议层、tshark集成层和主机系统集成层。MCP协议层提供了启动和停止捕获会话、分析PCAP文件以及管理配置等功能。tshark集成层负责跨平台可执行文件检测、进程管理和输出解析。主机系统集成层则处理本地tshark安装、直接网络接口访问和原生文件系统操作。通过这种分层架构,SharkMCP能够在不同的操作系统上稳定运行,并提供灵活的数据包分析功能。
本项目采用MIT许可证。
非常欢迎大家为项目做出贡献!贡献步骤如下:
如果您有任何问题或建议,请随时创建一个issue。