VPP抓包
前面我们部署了VPP(VPP基本安装),还通过DPDK纳管了网卡(DPDK网卡纳管),接下来我们看看VPP是如何抓包的。目前了解到抓包主要是两种。今天先来说说方法一:pcap trace
用法
pcap rx trace pcap rx trace [on|off] [max <nn>] [intfc <interface>|any] [file <name>] [status]pcap tx trace pcap tx trace [on|off] [max <nn>] [intfc <interface>|any] [file <name>] [status]
on|off:用于启动或停止抓包。
max <nn>:本地缓冲区的深度。一旦接收到' nn ' 个数据包,缓冲区就会刷新到文件中。一旦接收到另一个 ' nn ' 数量的数据包,缓冲区将刷新到文件,覆盖之前的写入。如果未输入,则值默认为 100。只有在抓包停止时才能更新。
intfc <interface>|any:用于指定接口,或使用“ any ”在所有接口上抓包。默认为any。
file <name>:用于指定输出文件名。该文件将放置在“ /tmp ”目录中,因此仅支持文件名,不支持输入目录。如果文件已经存在,文件将被覆盖。如果未提供文件名,将使用“ /tmp/vpe.pcap ”。仅当抓包停止时才能更新。
status:显示与抓包关联的当前状态和配置的属性。如果正在进行数据包捕获,“状态”还将返回当前在本地缓冲区中的数据包数量。在命令行中输入的带有“状态”的所有参数都将被忽略且不会应用。
案例
如下图:VPP添加缺省路由后,ping公网地址114.114.114.114:
对接口抓包分为发送和接收,先看看接口发包抓包:
在关闭时显示 tx 数据包捕获状态:pcap tx trace status
上图显示发包抓包未启动,启动 tx 抓包:
pcap tx trace on max 50 intfc eth0 file vppTest.pcap
显示正在进行的 tx 抓包状态:pcap tx trace status
Ping测试之后,显示抓到8个包,停止 tx 抓包:pcap tx trace off
ctrl+c退出vpp,下载抓包文件vppTest.pcap查看:
发现能抓到8个发出的包,不知道哪里又抓重复了。。
查看收包类似:
pcap rx trace statuspcap rx trace on max 50 intfc eth0 file vppTest.pcappcap rx trace off
下载抓包查看:
大概就是这样。个人感觉抓取发包不太准确,不知道你们有没有遇到过,之前在别的环境中也遇到过。
更多推荐
DPDK网卡纳管
VPP基本安装