在网络流量分析中,Mellanox网卡的抓包方法至关重要,它能帮助我们深入了解网络数据的传输情况,快速定位网络问题。以下为您详细介绍几种常用的Mellanox网卡抓包方法。
tcpdump抓包方法
低版本MLNX_OFED抓包:如果您使用的是低于5.1的MLNX_OFED版本,在Linux系统中,可以使用命令tcpdump -i ens785f0 -s 65535 -w rdma_traffic.pcap
进行抓包。其中,-i
指定了监听的网口为ens785f0,-s 65535
表示抓取数据包的长度为65535字节,确保能完整抓取大的数据包,-w
则将抓取的数据包保存到名为rdma_traffic.pcap的文件中。
高版本MLNX_OFED抓包:对于MLNX_OFED v5.1及更高版本,需要确保安装了libpcap库v1.9或更高版本。抓包命令为tcpdump -i mlx5_1 -s 65535 -w rdma_traffic.pcap
,这里监听的是mlx5_1接口。
ibdump抓包方法
基本使用:ibdump
主要用于dump Mellanox Technologies ConnectX网卡的InfiniBand数据包。例如,要使用默认的第一个IB设备的端口1进行抓包,并将结果保存到文件sniffer.pcap中,命令为ibdump -d mlx5_0 -i 1 -w sniffer.pcap
。
特殊需求设置:如果需要解封装端口镜像的headers,用于捕获RSPAN流量时,要添加--decap
选项,如ibdump -d mlx5_0 -i 1 -w sniffer.pcap --decap
。
mlxtool抓包方法(Windows系统)
开启功能:首先需要通过注册表开启功能。在注册表中找到路径HKLM\System\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002BE10318}<nn>\RSS Monitoring Enabled,将其值设置为1来启用。
获取网卡名称:使用命令mlxtool.exe show ports
获取Mellanox适配器的名称。
开始抓包:可以使用命令mlxtool.exe dbg non rss - capture "Mellanox Adapter Name" start
来开始抓包,其中