
一个用于分析PCAP文件的模块化Python MCP(模型上下文协议)服务器。mcpcap允许LLMs读取并分析网络数据包捕获,使用特定于协议的分析工具,这些工具接受本地文件路径或远程URL作为参数(无需上传文件 - 提供您的PCAP文件的路径或URL)。
mcpcap采用模块化架构来分析PCAP文件中的不同网络协议。每个模块提供专门的分析工具,可以独立调用以分析任何PCAP文件,使其非常适合与Claude Desktop和其他MCP客户端集成。
mcpcap需要Python 3.10或更高版本。
pip install mcpcap
uv add mcpcap
uvx mcpcap
作为无状态MCP服务器启动mcpcap:
# 默认:启动DNS、DHCP和ICMP模块
mcpcap
# 仅启动特定模块
mcpcap --modules dns
# 带有数据包分析限制
mcpcap --max-packets 1000
配置您的MCP客户端(如Claude Desktop)连接到mcpcap服务器:
{
"mcpServers": {
"mcpcap": {
"command": "mcpcap",
"args": []
}
}
}
通过提供文件路径或URL(而非文件上传),使用分析工具分析任何PCAP文件:
DNS分析:
analyze_dns_packets("/path/to/dns.pcap")
analyze_dns_packets("https://example.com/remote.pcap")
DHCP分析:
analyze_dhcp_packets("/path/to/dhcp.pcap")
analyze_dhcp_packets("https://example.com/dhcp-capture.pcap")
ICMP分析:
analyze_icmp_packets("/path/to/icmp.pcap")
analyze_icmp_packets("https://example.com/ping-capture.pcap")
CapInfos分析:
analyze_capinfos("/path/to/any.pcap")
analyze_capinfos("https://example.com/capture.pcap")
analyze_dns_packets(pcap_file):完整的DNS流量分析
analyze_dhcp_packets(pcap_file):完整的DHCP流量分析
analyze_icmp_packets(pcap_file):完整的ICMP流量分析
analyze_capinfos(pcap_file):PCAP文件元数据和统计信息
mcpcap提供了专门的分析提示来引导LLM分析:
security_analysis - 关注威胁检测、DGA域名、DNS隧道network_troubleshooting - 识别DNS性能和配置问题forensic_investigation - 时间线重建和证据收集dhcp_network_analysis - 网络管理和IP管理dhcp_security_analysis - 安全威胁和流氓DHCP检测dhcp_forensic_investigation - DHCP事务的取证分析icmp_network_diagnostics - 网络连通性和路径分析icmp_security_analysis - 基于ICMP的攻击和侦察检测icmp_forensic_investigation - 时间线重建和网络映射# 加载特定模块
mcpcap --modules dns # 仅DNS分析
mcpcap --modules dhcp # 仅DHCP分析
mcpcap --modules icmp # 仅ICMP分析
mcpcap --modules dns,dhcp,icmp,capinfos # 所有模块(默认)
# 对大型文件限制数据包分析
mcpcap --max-packets 1000
mcpcap --modules dns,dhcp,icmp,capinfos --max-packets 500
mcpcap [--modules MODULES] [--max-packets N]
选项:
--modules MODULES:逗号分隔的加载模块(默认:dns,dhcp,icmp,capinfos)
dns,dhcp,icmp,capinfos--max-packets N:每个文件的最大分析数据包数(默认:不限)示例:
# 启动所有模块
mcpcap
# 仅DNS分析
mcpcap --modules dns
# 对大型文件进行数据包限制
mcpcap --max-packets 1000
示例PCAP文件包含在examples/目录中:
dns.pcap - 测试DNS分析的DNS流量dhcp.pcap - DHCP四次握手捕获icmp.pcap - ICMP ping和traceroute流量npm install -g @modelcontextprotocol/inspector
npx @modelcontextprotocol/inspector mcpcap
然后测试工具:
// 在MCP Inspector Web界面中
analyze_dns_packets("./examples/dns.pcap")
analyze_dhcp_packets("./examples/dhcp.pcap")
analyze_icmp_packets("./examples/icmp.pcap")
analyze_capinfos("./examples/dns.pcap")
mcpcap的模块化设计支持轻松扩展:
MCP客户端请求 → analyze_*_packets(pcap_file)
→ BaseModule.analyze_packets()
→ Module._analyze_protocol_file()
→ 结构化的JSON响应
创建新的协议模块通过:
BaseModule_analyze_protocol_file(pcap_file)未来模块可能包括:
分析工具接受通过HTTP/HTTPS URL的远程PCAP文件:
# 远程分析示例
analyze_dns_packets("https://wiki.wireshark.org/uploads/dns.cap")
analyze_dhcp_packets("https://example.com/network-capture.pcap")
analyze_icmp_packets("https://example.com/ping-test.pcap")
analyze_capinfos("https://example.com/network-metadata.pcap")
特性:
.pcap、.pcapng和.cap文件分析PCAP文件时:
欢迎贡献!贡献领域包括:
MIT
对于问题、问题或功能请求,请在GitHub上打开一个issue。