ubantu18.04@Intel 82545EM 【安装文档】TRex流量分析仪保姆级安装指南--基于VMware虚拟机

前言既然你已经知道TRex并尝试搜索它的安装教程 , 这意味着你有一定的基础知识(至少知道自己需要什么) 。因此本文对于TRex的介绍部分会偏少
本次主要为TRex安装过程的一次记录(版本为v3.0.0),我会整理一些遇到的问题与解决思路 , 希望对各位有所帮助 。
简介Cisco开源的一个使用DPDK发包的高性能测试仪 。
主要的工作原理概括如下:

  1. 使用scapy来构建数据包模板;或者从pcap文件中读取数据包模板;
  2. 利用dpdk发送数据包;(重写指定变化的部分)
其兼具了python构建流的效率和dpdk发包的高性能 。
TRex安装TRex是一个Linux环境下的软件,安装环境无非两种:物理机和虚拟机
本文主要基于虚拟机介绍TRex的安装
而使用虚拟机又可以分为两种安装环境:
  • 本地虚拟机
    基于本地VMware构建的虚拟机环境
  • 远程服务器虚拟机
    基于VMware EXCI构建的远程虚拟机环境
两种方式最大的不同在网卡添加时,VMware EXCI需要使用ifcofig让系统识别出网卡,详见[7]
其余的流程差不多,本文着重介绍本地VMware基于ubantu18.04安装TRex的流程
如果你在VMware EXCI安装遇到了问题,也欢迎留言讨论
基于本地虚拟机的安装过程如何获得一个本地VMware虚拟机(包括换源等操作)请自行Google或参考[1]
我使用的VMware版本是VMwareWorkStation PRO16,虚拟机镜像为Ubantu18.04桌面版
虚拟机配置先列一下我使用的虚拟机配置(图挂了看表)
ubantu18.04@Intel 82545EM 【安装文档】TRex流量分析仪保姆级安装指南--基于VMware虚拟机

文章插图
设备摘要内存8 GB处理器4硬盘(SCSI)35 GBCD/DVD 2 (SATA)自动检测CD/DVD (SATA)自动检测软盘自动检测网络适配器NAT网络适配器2NAT网络适配器3NATUSB控制器存在声卡自动检测打印机存在显示器自动检测注:因为安装之后的测试需要用到多块网卡 , 故此处添加了3块网卡 , 一块作为Linux内核的主网卡 , 其余两块用于绑定uio驱动进行测试 。
虚拟机的网卡可以随时添加或删除,只要保证其模式始终为NAT即可
虚拟机配置完成后 , 推荐使用VScode连接并操作,因为之后涉及对配置文件的修改,会比较方便 。具体请看:https://www.cnblogs.com/DAYceng/p/16867325.html
当然也可以直接在VMware提供的界面中操作
获取TRex在你喜欢的目录下创建一个文件夹存放安装文件
mkdir trexcd trex下载TRex最新分支并解压
root@ubuntu:/root/trex# wget --no-check-certificate https://trex-tgn.cisco.com/trex/release/latestroot@ubuntu:/root/trex# tar -zxvf latest注:latest文件下载过程很慢,挂梯子也很慢,可以先在本地访问https://trex-tgn.cisco.com/trex/release/latest把文件下载下来再传到虚拟机上
得到以下目录
root@ubuntu:/root/trex# lslatestv3.00进入解压后的文件夹,使用脚本查看当前可用的网卡
root@ubuntu:/root/trex# cd v3.00root@ubuntu:/root/trex/v3.00#root@ubuntu:/root/trex/v3.00#sudo ./dpdk_setup_ports.py -sNetwork devices using DPDK-compatible driver============================================<none>Network devices using kernel driver===================================0000:02:01.0 '82545EM Gigabit Ethernet Controller (Copper)' if=ens33 drv=e1000 unused=igb_uio,vfio-pci,uio_pci_generic *Active*0000:02:06.0 '82545EM Gigabit Ethernet Controller (Copper)' drv=e1000 unused=igb_uio,vfio-pci,uio_pci_generic0000:02:07.0 '82545EM Gigabit Ethernet Controller (Copper)' drv=e1000 unused=igb_uio,vfio-pci,uio_pci_genericOther network devices=====================<none>root@ubuntu:/root/trex/v3.00#如果之前添加了网卡,这里就可以看见有3个网卡(没添加的现在再加也行),* Active *为Linux内核正在使用的网卡,另外两张是未启用的网卡(先不要启用),如果有需要请查看[7]
安装dpdk【ubantu18.04@Intel 82545EM 【安装文档】TRex流量分析仪保姆级安装指南--基于VMware虚拟机】实际上这部分和独立安装dpdk差别不大
前面的简介中有提到,TRex可以大致分为两部分,一部分是用来构造数据包的【基于scapy】,另一部分则是用来发送数据包【基于DPDK】
安装gcc环境现在我们先来安装DPDK部分,首先安装gcc环境
root@ubuntu:/root/trex/v3.00# sudo apt install build-essential sudo apt install make sudo apt-get install libnuma-dev下载dpdkroot@ubuntu:/root/trex/v3.00# wget http://fast.dpdk.org/rel/dpdk-18.11.9.tar.xzroot@ubuntu:/root/trex/v3.00# tar xvJf dpdk-18.11.9.tar.xzroot@ubuntu:/root/trex/v3.00# cd dpdk-stable-18.11.9/root@ubuntu:/root/trex/v3.00/dpdk-stable-18.11.9#

推荐阅读