一种模型上下文协议服务器,为大型语言模型提供实时网络流量分析能力,通过Wireshark的tshark实现威胁狩猎、网络诊断和异常检测等任务。
464 查看 · 2026-07-07 更新
简介
一种模型上下文协议服务器,为大型语言模型提供实时网络流量分析能力,通过Wireshark的tshark实现威胁狩猎、网络诊断和异常检测等任务。
简介
一种模型上下文协议服务器,为大型语言模型提供实时网络流量分析能力,通过Wireshark的tshark实现威胁狩猎、网络诊断和异常检测等任务。

WireMCP
WireMCP 是一个模型上下文协议(MCP)服务器,旨在为大型语言模型(LLMs)提供实时网络流量分析能力。通过利用基于 Wireshark 的 tshark 构建的工具,WireMCP 捕获并处理实时网络数据,为 LLMs 提供结构化的上下文信息,以帮助执行威胁狩猎、网络诊断和异常检测等任务。
功能
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 格式提供全面的数据包数据,支持详细的事后捕获网络流量分析。extract_credentials: 扫描 PCAP 文件中来自各种协议(如 HTTP 基本认证、FTP、Telnet)的潜在凭证,辅助安全审计和取证分析。
如何帮助 LLMs
WireMCP 通过以下方式弥合了原始网络数据与 LLM 理解之间的差距:
- 流量上下文化:将实时数据包捕获转换为结构化输出(JSON、统计数据),使 LLM 可以解析和推理。
- 威胁检测:集成 IOCs(目前是 URLhaus)来标记可疑 IP,增强 LLM 驱动的安全分析。
- 诊断:提供详细的流量洞察,使 LLM 能够协助故障排除或识别异常。
- 叙述生成:LLM 可以将复杂的数据包捕获转化为连贯的故事,使得网络分析对于非技术人员来说更加易于理解。
安装
先决条件
- Mac / Windows / Linux
- Wireshark(已安装
tshark并且可以在 PATH 中访问) - Node.js(推荐 v16+)
- npm(用于依赖项安装)
设置
-
克隆仓库:
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)。
与 MCP 客户端一起使用
WireMCP 可以与任何符合 MCP 标准的客户端一起使用。以下是一些流行客户端的示例:
示例 1: Cursor
在 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 可能会得到:
Captured IPs: 174.67.0.227 52.196.136.253 Threat check against URLhaus blacklist: No threats detected in URLhaus blacklist.
对捕获文件运行 analyze_pcap:
{ "content": [{ "type": "text", "text": "Analyzed PCAP: ./capture.pcap\n\nUnique IPs:\n192.168.0.2\n192.168.0.1\n\nProtocols:\neth:ethertype:ip:tcp\neth:ethertype:ip:tcp:telnet\n\nPacket Data:\n[{\"layers\":{\"frame.number\":[\"1\"],\"ip.src\":[\"192.168.0.2\"],\"ip.dst\":[\"192.168.0.1\"],\"tcp.srcport\":[\"1550\"],\"tcp.dstport\":[\"23\"]}}]" }] }
LLMs 可以使用这些输出来:
- 提供网络活动的自然语言解释
- 识别模式和潜在的安全问题
- 提供上下文感知的建议
- 生成人类可读的报告
路线图
- 扩展 IOC 提供者:当前使用 URLhaus 进行威胁检查。未来的更新将集成其他来源(例如 IPsum、Emerging Threats)以扩大覆盖范围。
贡献
欢迎贡献!请随时提交 Pull Request。对于重大更改,请先打开一个 issue 来讨论您想要进行的更改。
许可证
致谢
- Wireshark/tshark 团队提供了出色的包分析工具
- Model Context Protocol 社区提供了框架和规范
- URLhaus 提供了威胁情报数据
服务配置
[{'mcpServers': {'wiremcp': {'args': ['/ABSOLUTE_PATH_TO/WireMCP/index.js'], 'command': 'node'}}}]
来源
- 来源:github
- 链接:https://github.com/0xKoda/WireMCP