mcp窃听器
社区维护的MCP服务器 Wireshark /tshark。与Wireshark或Anthropic无关。 让您的AI助手直接访问数据包捕获。让克劳德总结一下.pcap,跟踪TCP流,过滤特定协议,或捕获实时流量——所有这些都不需要离开聊天室。
alt text
](https://badge.fury.io/py/mcp-wireshark)   
______________________________________________________________________
快速开始使用Claude Code
pip install mcp-wireshark
claude mcp add --transport stdio --scope user mcp-wireshark -- mcp-wireshark就是这样。打开Claude Code并尝试:
“总结./capture.pcap,告诉我哪些IP最受欢迎。”
--scope user 使服务器在每个Claude Code项目中都可用。放下该标志,仅为当前项目安装它。看 claude mcp 文档 更多。
验证安装
claude mcp list你应该看到 mcp-wireshark 上市的。在克劳德代码中,问:
“运行check_installation。”
如果 tshark 在你的 PATH,它返回版本。如果没有,请参阅 故障排除.
______________________________________________________________________
工具
服务器公开了10个工具,在 阅读工具 (安全,无副作用)和 书写工具 (捕获流量或写入文件)。两组都用标准MCP注释 readOnlyHint 因此,任何合规的客户端都可以看到这种区别。
阅读工具
可以自由拨打电话——他们只检查州。
| 工具 | 它做什么 |
|---|---|
check_installation | 验证tshark是否已安装并显示版本 |
list_interfaces | 列出可从中捕获的网络接口 |
read_pcap | 从…读取数据包 .pcap / .pcapng 文件(预览+总计数) |
display_filter | 将Wireshark显示过滤器应用于pcap |
summarize_pcap | 高级摘要:I/O统计数据、协议层次结构、顶级演讲者 |
stats_by_proto | 协议层次结构统计 |
follow_tcp | 重新组装TCP流并返回其有效负载 |
follow_udp | 重新组装UDP流并返回其有效负载 |
编写工具
这些创建文件或捕获实时流量。合规的客户端可能会在调用前提示。
| 工具 | 它做什么 |
|---|---|
live_capture | 从接口捕获实时流量(上限为5分钟/10k数据包) |
export_json | 将数据包从pcap导出到所选路径的JSON文件 |
______________________________________________________________________
示例提示
将这些内容按原样放入Claude Code中:
List my network interfaces.
Summarize ./traffic.pcap.
From ./traffic.pcap, show me only HTTP requests.
Follow TCP stream 0 in ./traffic.pcap and tell me what protocol is in it.
Capture 30 seconds of traffic on Wi-Fi filtered to tcp.port == 443.
Export every DNS packet from ./traffic.pcap to ./dns.json.有用的显示过滤器
| 筛选器 | 匹配项 |
|---|---|
tcp.port == 80 | HTTP |
tcp.port == 443 | HTTPS |
dns | 所有DNS |
http.request | 仅限HTTP请求 |
ip.addr == 10.0.0.1 | 进出特定主机的流量 |
tcp.flags.syn == 1 && tcp.flags.ack == 0 | 仅TCP SYN数据包 |
对于分析IEC 61850流量的变电站工程师:
| 筛选器 | 匹配项 |
|---|---|
goose | 所有GOOSE消息 |
goose.stNum > 0 | 带有状态更改的GOOSE消息 |
mms | 所有彩信流量 |
sv | 采样值 |
______________________________________________________________________
其他客户
任何能说MCP的东西都有效。该软件包安装了 mcp-wireshark 二进制开启 PATH.
Claude Desktop
编辑 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)或 %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"wireshark": {
"command": "mcp-wireshark"
}
}
}VS Code (Copilot / GitHub Copilot Chat)
创建 .vscode/mcp.json 在您的工作空间中:
{
"servers": {
"wireshark": {
"command": "mcp-wireshark"
}
}
}Cursor / Windsurf / others
使用相同的stdio调用: command: mcp-wireshark.没有运输标志。
______________________________________________________________________
先决条件
- python 3.10+
- Wireshark 安装;
tshark可达PATH
安装时使用 pip 或 uv:
pip install mcp-wireshark
# or
uvx mcp-wireshark______________________________________________________________________
故障排除
tshark not found on Windows
将Wireshark添加到您的 系统 PATH:
- 按
Win+R→ runsysdm.cpl→ 高级 → 环境变量 - 编辑
Path→ addC:\Program Files\Wireshark - 重新启动终端和Claude Code,然后重新运行
check_installation
(避免超车 PATH 通过 claude mcp add --env --值是从字面上理解的,不是 %PATH% 扩张。)
Permission denied capturing on Linux
将自己添加到 wireshark 组,然后注销并重新登录:
sudo usermod -aG wireshark $USER"No packets captured" from live_capture
- 确认接口名称
list_interfaces(Wireshark使用的名称与ifconfig/ip) - 在macOS上,您可能需要安装ChmodBPF(Wireshark附带
.dmg) - 检查是否没有显示过滤器排除所有内容
______________________________________________________________________
发展
git clone https://github.com/khuynh22/mcp-wireshark.git
cd mcp-wireshark
python -m venv venv && source venv/bin/activate # Windows: venv\Scripts\activate
pip install -e ".[dev]"
pytest # tests
black src tests # format
ruff check src tests # lint
mypy src # type check代码库的组织方式是,新工具可以放在两个范围明确的文件之一中:
src/mcp_wireshark/read_tools.py--任何只检查国家的东西src/mcp_wireshark/write_tools.py--任何捕获流量或写入文件的东西
server.py 仅包含路由。看 CLAUDE.md 和 贡献.md.
安全
每个文件路径都经过验证(.. 拒绝,列出延期允许)。检查每个显示过滤器的shell元字符。tshark总是通过以下方式调用 asyncio.create_subprocess_exec,从来没有 shell=True硬上限:每次通话10k个数据包,每次实时捕获5分钟。看 安全.md.
许可证
麻省理工学院——见 许可证.
