用途:在 GNS3 项目的链路上启动和停止数据包捕获,抓取网络流量用于分析与排障。适用场景包括实验环境中排查连通性问题、用 Wireshark 分析流量、验证 OSPF/BGP 等路由协议交互、调试应用流量、学习网络协议、验证 QoS 或安全策略。
主要能力:通过 MCP 服务器提供三个工具。gns3_start_capture(参数 project_id、link_id、可选 capture_file_name)在链路上开始抓包;gns3_stop_capture(project_id、link_id)停止抓包并完成 PCAP 文件;gns3_get_capture(project_id、link_id)返回抓包文件路径与流地址。输出为标准 libpcap 格式,兼容 Wireshark,文件存放在 GNS3 服务器上,抓包进行中可获取 stream_url 实时查看。
使用方式:MCP 服务器命令为 python3 -u mcp-servers/gns3-mcp-server/gns3_mcp_server.py(stdio 传输),需要环境变量 GNS3_URL、GNS3_USER、GNS3_PASSWORD。典型流程:先用 gns3_list_links 找到目标链路 ID,再启动抓包,产生流量后停止抓包,最后获取 PCAP 文件位置。可指定自定义文件名,如 ospf_adjacency.pcap。可与其他技能配合:gns3-link-management 列出链路、gns3-node-operations 确保节点运行、packet-analysis 做深度分析。
限制:链路 ID 为 gns3_list_links 返回的 UUID;每条链路同一时间只能有一个抓包;必须停止抓包才能确保 PCAP 文件完整。错误处理:GNS3_NOT_FOUND 表示链路不存在,需用 gns3_list_links 查找有效 ID;GNS3_CONFLICT 表示已有抓包在运行,需先停止。所有操作记录到 GAIT 审计轨迹。