在本文中,我们将看到如何在Cisco ISR 4000系列路由器上抓包并导出抓包文件。抓包文件是pcap文件格式,可以在Wireshark中轻松打开和分析。
本实验中使用的ISR 4331正在运行IOS XE 16.6.4。

步骤1 - 创建capture buffer

capture buffer是存储抓包数据的内存区域。有两种类型的缓冲区:
循环:一旦旧数据满就覆盖旧数据
线性:流量满后立即停止捕获流量
在这里我们创建一个capture buffer称为MYCAP,这是一个循环缓冲区,大小为10 KB:

R1#monitor capture MYCAP buffer circular size 10

步骤2(可选)- 定义要捕获的流量

我们创建一个ACL并将其附加到capture buffer,与ACL匹配的数据包将被抓包。此步骤是可选的,如果不配置此步骤,所有数据包都会被抓包。
在这里我们创建一个MYCAP-ACL的访问列表,以匹配所有SIP(端口UDP 5060)流量。

R1(config)#ip access-list extended MYCAP-ACL
R1(config-ext-nacl)#permit udp any any eq 5060

让ACL与capture buffer相关联:

R1#monitor capture MYCAP access-list MYCAP-ACL

步骤3 - 指定要抓包的接口

我们可以在该接口上定义流量方向:输入,输出或两者。在这里我们抓接口GE 0/0/0上的流入和流出流量:

R1#monitor capture MYCAP interface GigabitEthernet 0/0/0 both

步骤4 - 验证capture buffer

capture buffer配置未存储在running-config中,因此我们需要使用show命令来验证配置。该命令是:

R1#show monitor capture MYCAP

步骤5 - 开始和停止抓包

通过以下命令启动和停止抓包进程:

R1#monitor capture MYCAP start
R1#monitor capture MYCAP stop

运行第一个命令开始抓包,然后运行第二个命令中止抓包。所有抓包数据都存储在路由器的RAM中。

步骤6 - 查看抓包数据

现在是时候查看抓包数据了。其命令是:

R1#show monitor capture MYCAP buffer brief

另一种选择是使用dump关键字而不是brief,它会打印包内容。

步骤7 - 导出抓包数据到本地

可以通过TFTP协议将抓包数据导出到本地电脑中。这样就可以用Wireshark分析数据了。
在确保您的计算机上运行着TFTP服务器后,运行export命令:

R1#monitor capture MYCAP export tftp://tftp服务器地址/MYCAP.pcap

步骤8 - 清除capture buffer

如前所述,所有抓包数据都存储在路由器的RAM中。以下命令将清除抓包数据:

R1#monitor capture MYCAP clear