这是一个基于模型上下文协议(MCP)的服务器,它为AI助手提供了直接访问Wireshark网络分析功能的能力。该工具通过一个安全、标准化的接口实现了AI驱动的网络故障排除、数据包分析和网络监控。
# 将用户添加到 wireshark 组
sudo usermod -aG wireshark $USER
# 或者在 dumpcap 上设置能力(推荐)
sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap
# 登出再登录以使组更改生效
# 确保用户具有管理员权限或使用 sudo 进行捕获
# Wireshark 安装程序通常会处理权限问题
pip install -r requirements.txt
tshark --version
找到你的 Claude Desktop 配置文件:
%APPDATA%\Claude\claude_desktop_config.json~/Library/Application Support/Claude/claude_desktop_config.json~/.config/Claude/claude_desktop_config.json添加 Wireshark MCP 服务器配置:
{
"mcpServers": {
"wireshark": {
"command": "python",
"args": ["/绝对路径/到/wireshark-mcp-server.py"],
"env": {
"PYTHONPATH": "/绝对路径/到/项目目录",
"MCP_LOG_LEVEL": "INFO"
}
}
}
}
重启 Claude Desktop 以加载新服务器
对于 VS Code 或 Cursor,在 IDE 的 MCP 设置中配置指向 wireshark-mcp-server.py 文件的 MCP 服务器。
get_network_interfaces()列出所有可用于数据包捕获的网络接口。
用法:
请列出可用的网络接口
capture_live_packets(interface, count, capture_filter, timeout)从指定接口捕获实时网络数据包。
参数:
interface: 网络接口名称(例如:"eth0","Wi-Fi")或编号(例如:"1")count: 要捕获的数据包数量(默认:50,最大:11000)capture_filter: BPF 捕获过滤表达式(可选)timeout: 捕获超时时间(秒,默认:30,最大:60)用法:
从接口 eth0 捕获 100 个数据包,并使用过滤器 "tcp port 80"
analyze_pcap_file(filepath, display_filter, max_packets)分析现有 PCAP/PCAPNG 文件,可选地进行过滤。
参数:
filepath: PCAP/PCAPNG 文件的路径display_filter: Wireshark 显示过滤表达式(可选)max_packets: 要分析的最大数据包数量(默认:100,最大:1000)用法:
分析文件 /路径/到/capture.pcap 并仅显示 HTTP 请求
get_protocol_statistics(filepath)从捕获文件生成协议层次结构和 IP 对话统计信息。
参数:
filepath: PCAP/PCAPNG 文件的路径用法:
为 /路径/到/capture.pcap 生成协议统计信息
get_capture_file_info(filepath)获取捕获文件的详细信息(大小、持续时间、数据包数量等)。
参数:
filepath: PCAP/PCAPNG 文件的路径用法:
获取捕获文件 /路径/到/capture.pcap 的信息
"tcp port 80" - HTTP 流量"host 192.168.1.1" - 到/来自特定主机的流量"net 10.0.0.0/8" - 在特定网络上的流量"tcp and port 443" - HTTPS 流量"icmp" - ICMP/ping 流量"http.request" - 仅 HTTP 请求"tcp.flags.syn == 1" - TCP SYN 数据包"dns.flags.response == 1" - DNS 响应"ip.addr == 192.168.1.1" - 到/来自特定 IP 的流量"tcp.analysis.retransmission" - TCP 重传AI 助手: "我需要排查网络连接问题"
用户: "从主网络接口捕获 200 个数据包并查找任何问题"
AI 助手: "让我分析一下你的网络流量"
用户: "在端口 80 和 443 上捕获 60 秒的流量,并显示访问最多的网站"
AI 助手: "正在分析可疑的网络活动"
用户: "检查这个 PCAP 文件中的任何异常连接或潜在的安全威胁"
AI 助手: "正在调查网络性能问题"
用户: "从这个捕获文件生成协议统计信息以识别带宽使用情况"
"未找到 TShark" 错误
tshark 在你的 PATH 中C:\Program Files\Wireshark\tshark.exe捕获数据包权限被拒绝
sudo 进行实时捕获"FastMCP 未安装" 错误
pip install -r requirements.txt找不到接口
get_network_interfaces() 查看可用接口通过设置环境变量启用调试日志:
export MCP_LOG_LEVEL=DEBUG
python wireshark-mcp-server.py
# 安装开发依赖项
pip install -r requirements.txt
# 直接测试服务器
python wireshark-mcp-server.py
# 使用调试日志运行
MCP_LOG_LEVEL=DEBUG python wireshark-mcp-server.py
该项目按原样提供用于教育和专业用途。请确保遵守您组织的安全和网络监控政策。
对于问题和疑问: