WireMCP 是一款模型上下文协议(MCP)服务器,主要用于增强大规模语言模型(LLMs)在实时网络流量分析方面的能力。它借助基于 Wireshark 的 tshark 工具构建实用工具,可捕捉并处理实时网络数据,为 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 文件,并生成结构化输出,供 LLM 解释网络活动。generate_report:根据输入数据生成自然语言报告。LLMs 可利用这些输出:
tshark 工具。git clone https://github.com/your-repository/wire-mcp.git
cd wire-mcp
npm install
node index.js
config.json# 示例命令
curl -X POST http://localhost:3000/api/capture-packets -d '{"interface":"eth0","duration":60}'
{
"packets": [
{
"timestamp": "12:34:56.789",
"source_ip": "192.168.1.1",
"destination_ip": "192.168.1.2",
"protocol": "TCP",
"src_port": 1550,
"dst_port": 23
}
]
}
{
"summary": {
"total_packets": 1000,
"unique_hosts": 5,
"traffic_volume": "1.2 MB"
},
"threats": [],
"diagnostics": {
"highest_bandwidth_usage": "192.168.1.3:80 (HTTP)",
"inactive_interfaces": []
}
}
欢迎贡献!请随时提交 Pull Request。对于重大更改,请先打开问题讨论您想修改的内容。
MIT