预计阅读时间:8 分钟
什么是Cisco Embedded Packet Capture (EPC)
Embedded Packet Capture 是一种嵌入式系统管理工具,可以用于跟踪和排查网络数据包。这个工具可以帮助网络管理员捕获Cisco设备流入流出的数据包。
这个工具可以配合ACL使用,通过ACL规则过滤出需要抓取的数据包,然后通过EPC工具进行特定的数据包抓取。抓取的数据包是存储在DRAM的buffer中,因此不会永久性保存,如果需要保存抓包数据,可以保存为PCAP文件,然后通过Wireshark等工具进行分析。
使用这个工具前需要先确认软件版本,目前只在以下版本中支持:
- Cisco IOS Release 12.4(20)T or later
- Cisco IOS XE Release 15.2(4)S - 3.7.0 or later
如何使用EPC抓包
抓包前准备工作
确认磁盘空间充足: dir
确认CPU负载: sh proc cpu
抓包配置步骤
基本EPC配置:
创建一个抓包配置:
# 关联ACL过滤规则,设置buffer大小,指定抓包接口,设置抓包速率限制,抓包时间
monitor capture test access-list capture buffer size 20 interface gi1/0/1 in limit pps 10000 duration 300
# 指定抓包文件存储路径
monitor capture test file location flash:test.pcap
确认当前抓包配置:
show capture monitor test
启动和停止抓包:
capture monitor test start
capture monitor test stop
抓包参数解析
核心命令结构
monitor capture <capture-name> [参数] [过滤条件] [限制条件]
主要参数详解
-
access-list
指定预定义的ACL过滤规则(需提前配置)
示例:access-list capture
表示引用名为"capture"的ACL规则建议:建议创建专门用于抓包的ACL,可定义协议类型、IP地址、端口号等过滤条件
-
buffer size
设置抓包缓存大小(单位:MB)
示例:buffer size 20
分配20MB内存作为抓包缓冲区注意:过小会导致数据包丢失,过大会消耗设备内存资源
-
interface
指定抓包接口及流量方向:interface gi1/0/1 in
捕获接口接收方向的流量out
捕获发送方向的流量both
双向捕获(需设备支持)
-
limit pps/bps
设置抓包速率限制:pps 10000
限制每秒捕获不超过10,000个数据包bps 100M
限制带宽为100Mbps(支持K/M/G单位)
注意:可防止高流量场景下设备资源耗尽
-
duration
设置自动停止时间(单位:秒)
示例:duration 300
表示持续抓包5分钟后自动停止 -
file location
指定抓包文件存储路径:flash:test.pcap
保存到设备闪存bootflash:
/usbflash:
其他存储设备路径
注意:确保目标存储有足够空间
其他常用参数
-
circular-buffer
启用循环缓冲区模式(当缓冲区满时覆盖旧数据包)
示例:buffer circular size 50
-
match
直接指定过滤条件(无需ACL)
示例:match ipv4 protocol tcp any any
-
stop-after
捕获指定数量数据包后自动停止
示例:stop-after 1000
抓满1000个包停止
参数配置建议
- 生产环境中建议组合使用
limit
和duration
参数,避免长期占用资源 - 存储路径推荐使用外部存储设备(如USB),避免占用系统闪存空间
- 调试场景可添加
no-limit
参数取消速率限制,但需谨慎使用 - 使用
show memory statistics
检查内存使用情况,合理设置buffer大小
怎么查看抓包
交换机直接查看
# 查看抓包缓冲区摘要信息
show monitor capture test buffer brief
# 显示前50个数据包的详细解码
show monitor capture test buffer detailed limit 50
# 十六进制原始格式查看(调试用)
show monitor capture test buffer dump
查看抓包统计信息
# 显示抓包运行状态
show monitor capture test status
# 查看已捕获数据包计数
show monitor capture test packet-number
下载抓包文件查看
文件传输方法
-
FTP/TFTP传输(推荐基础方法)
# 上传到FTP服务器 copy flash:test.pcap ftp://username:password@10.1.1.100/path/ # TFTP传输示例 copy flash:test.pcap tftp://10.1.1.100/
-
SCP传输(安全传输)
# 需要配置SSH服务器 copy flash:test.pcap scp://user@serverip:/path/
-
HTTP下载(NX-OS支持)
# 先启用HTTP服务 feature http # 通过浏览器访问 https://switch-ip/files/test.pcap
参考资料
https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/epc/configuration/xe-17/epc-xe-17-book/nm-packet-capture-xe.html
https://www.cisco.com/c/en/us/support/docs/ios-nx-os-software/ios-embedded-packet-capture/116045-productconfig-epc-00.html