使用说明
Wireshark MCP服务器
通过tshark进行网络捕获和分析,作为 模型上下文协议 (MCP)服务器。让像克劳德这样的人工智能助手完全访问Wireshark的分析功能。
20工具 (15个离散的+5个复合工作流)。便携式——在安装了tshark的任何主机上运行。Windows、Linux、macOS。
是什么让这与众不同
大多数Wireshark MCP服务器为您提供4-8个基本工具(捕获、读取、统计)。这包括 复合工作流工具 将多个分析链接到一个调用中:
wireshark_recon--完整的网络调查:协议、顶级演讲者、带有供应商标识的设备清单、DNS统计数据。一个电话。wireshark_identify_devices--通过MAC/OUI解析、主机名提取(DNS/mDNS/NBNS)和基于端口的角色分类发现设备。wireshark_traffic_profile--深入了解单个IP:使用的协议、顶级对等体、字节输入/输出、活动端口、DNS查询、随时间变化的活动。wireshark_security_audit--检查明文凭据(HTTP基本身份验证、FTP、telnet)、未加密协议、DNS异常、ARP异常、广播风暴。通过URLhaus提供可选威胁情报。wireshark_compare_captures--区分两个捕获:新的/消失的设备、协议分布变化、流量增量。
加上捆绑 是的,数据库 (~1500个供应商前缀),无需外部查找即可即时解析MAC到供应商。
快速开始
先决条件
- Python 3.11+
- Wireshark 已安装(包括tshark)
- 在Linux上:捕获权限(
sudo setcap cap_net_raw+ep $(which tshark)或以root身份运行)
安装
git clone https://github.com/wgthomas/wireshark-mcp.git
cd wireshark-mcp
pip install -r requirements.txt
配置克劳德代码/克劳德桌面
添加到MCP配置(~/.claude.json 或克劳德桌面设置):
{
"mcpServers": {
"wireshark": {
"command": "python",
"args": ["/path/to/wireshark-mcp/wireshark_mcp.py"],
"env": {}
}
}
}
tshark是自动检测的。如果它不在您的PATH中,请设置 WIRESHARK_TSHARK_PATH:
"env": {
"WIRESHARK_TSHARK_PATH": "/usr/bin/tshark"
}
工具
离散工具(15)
| 工具 | 说明 |
|---|---|
wireshark_list_interfaces |
可用的捕获接口 |
wireshark_check_permissions |
验证标记和捕获权限 |
wireshark_capture |
实时捕获到pcapng文件 |
wireshark_list_captures |
已保存的捕获文件 |
wireshark_protocol_hierarchy |
协议分发树 |
wireshark_conversations |
谁在和谁说话(按字节排列的前N位) |
wireshark_endpoints |
具有流量的独特端点 |
wireshark_dns_analysis |
DNS查询类型、响应代码、响应时间 |
wireshark_io_stats |
不同时间间隔的交通量 |
wireshark_http_analysis |
HTTP方法和响应代码 |
wireshark_expert_info |
Wireshark警告、错误和注释 |
wireshark_extract_fields |
自定义tshark字段提取 |
wireshark_packet_list |
前N个数据包摘要 |
wireshark_resolve_oui |
MAC地址供应商查找 |
wireshark_version |
tshark版本和路径 |
工作流工具(5)
| 工具 | 说明 |
|---|---|
wireshark_recon |
全网侦察 |
wireshark_identify_devices |
设备发现和分类 |
wireshark_traffic_profile |
单IP深潜 |
wireshark_security_audit |
以安全为重点的分析 |
wireshark_compare_captures |
区分两个捕获文件 |
所有工作流工具都接受 pcap_file 路径或 interface 现场捕捉。
配置
所有设置均通过环境变量进行 WIRESHARK_ 前缀:
| 变量 | 默认值 | 描述 |
|---|---|---|
WIRESHARK_TSHARK_PATH |
自动检测 | tshark二进制文件的路径 |
WIRESHARK_CAPTURE_DIR |
./captures |
在哪里保存捕获 |
WIRESHARK_DEFAULT_DURATION |
120 |
捕获持续时间(秒) |
WIRESHARK_MAX_PACKETS |
100000 |
每次捕获的最大数据包数 |
WIRESHARK_DEFAULT_TOP_N |
20 |
排名结果的默认限制 |
令牌优化
所有工具都返回结构化JSON,从不返回原始tshark文本。输出是聚合摘要,上限约为4000个令牌。使用 wireshark_extract_fields 当您需要特定的数据包数据时,进行有针对性的深度挖掘。
安全
- 无外壳=真 --所有tshark命令都使用
subprocess带参数列表 - 输入净化 --根据注射字符验证显示过滤器和参数
- 仅捕获文件 --服务器读取/写入pcap文件,从不执行任意命令
测试
# Basic tests (no capture file needed)
python test_quick.py
# Full tests with a capture file
python test_quick.py path/to/capture.pcapng
# Workflow tests
python test_workflows.py path/to/capture.pcapng [target_ip]
许可证
麻省理工学院
