
WireMCP 是一个模型上下文协议(MCP)服务器,旨在赋予大型语言模型(LLMs)实时网络流量分析能力。通过利用基于 Wireshark 的 tshark 工具构建的功能,WireMCP 捕获并处理实时网络数据,为 LLM 提供结构化的上下文信息,以协助威胁狩猎、网络诊断和异常检测等任务。
WireMCP 向 MCP 客户端暴露以下工具,增强 LLM 对网络活动的理解:
capture_packets:捕获实时流量,并返回原始数据包数据作为 JSON 格式,使 LLM 能够分析数据包级别的详细信息(例如,IP 地址、端口、HTTP 方法)。get_summary_stats:提供协议层次统计信息,使 LLM 获得对流量组成的概览(例如,TCP 和 UDP 使用情况)。get_conversations:提供 TCP/UDP 对话统计信息,允许 LLM 追踪端点之间的通信流。check_threats:捕获 IP 并将其与 URLhaus 黑名单进行比较,为 LLM 提供威胁情报上下文,帮助识别恶意活动。check_ip_threats:针对特定 IP 地址执行定向威胁情报查询,对比多个威胁源,提供详细的声誉和威胁数据。analyze_pcap:分析 PCAP 文件,提供全面的数据包数据,格式为 JSON,使 LLM 能够进行详细的捕获后网络流量分析。extract_credentials:扫描 PCAP 文件,从各种协议(如 HTTP 基本认证、FTP、Telnet)中提取潜在凭证,有助于安全审计和取证分析。WireMCP 通过以下方式弥合了原始网络数据与 LLM 理解之间的差距:
tshark)克隆仓库:
git clone https://github.com/0xkoda/WireMCP.git
cd WireMCP
安装依赖项:
npm install
运行 MCP 服务器:
node index.js
注意:确保
tshark在您的 PATH 中。WireMCP 将自动检测它或回退到常见的安装位置(例如,在 macOS 上为/Applications/Wireshark.app/Contents/MacOS/tshark)。
WireMCP 可以与任何符合 MCP 规范的客户端一起工作。以下是流行客户端的一些示例:
编辑 Cursor -> 设置 -> MCP 中的 mcp.json:
{
"mcpServers": {
"wiremcp": {
"command": "node",
"args": [
"/ABSOLUTE_PATH_TO/WireMCP/index.js"
]
}
}
}
位置(macOS):/Users/YOUR_USER/Library/Application Support/Claude/claude_desktop_config.json
此 MCP 将很好地与其他客户端配合使用。在它们的 MCP 服务器设置中使用命令 node /path/to/WireMCP/index.js。
运行 check_threats 可能会得到:
捕获的 IP:
174.67.0.227
52.196.136.253
与 URLhaus 黑名单的威胁检查:
URLhaus 黑名单中未检测到威胁。
在捕获文件上运行 analyze_pcap:
{
"content": [{
"type": "text",
"text": "分析的 PCAP: ./capture.pcap\n\n唯一 IP:\n192.168.0.2\n192.168.0.1\n\n协议:\neth:ethertype:ip:tcp\neth:ethertype:ip:tcp:telnet\n\n数据包数据:\n[{\"layers\":{\"frame.number\":[\"1\"],\"ip.src\":[\"1192.168.0.2\"],\"ip.dst\":[\"192.168.0.1\"],\"tcp.srcport\":[\"1550\"],\"tcp.dstport\":[\"23\"]}}]"
}]
}
LLM 可以使用这些输出来:
欢迎贡献!请随时提交拉取请求。对于重大更改,请先打开一个问题讨论您想要更改的内容。