前言
在进行TCP/IP协议相关的开发工作中,经常需要发流,其中分两种情况:
- 重点在流量本身,具体的报文格式不甚关心。比如性能测试中,一般涉及的就是UDP或TCP报文;
- 重点在报文格式,如ICMP报文、IGMP报文等。
不同的需求,涉及的软件或工具不尽相同。
相关软件、工具
一、和特定硬件配套的软件
TestCenter、Veriwave、Octoscope等(非国产)
- 主要用于WIFI、路由器等的测试;
- 有配套的软硬件;
- 收费的,受Licence限制。
- 面向的是吞吐量、时延、丢包等专项测试。
Renix(国产)
- 信而泰推出的适用于研发测试场景的数通一体化测试软件,该软件配合适当的信而泰机箱和接口卡,可对 DUT(被测设备)执行流量测试、协议仿真和性能测试。适用于复杂网络设备在研发阶段的测试,如交换机、路由器、防火墙等。
二、纯软件类
1、xcap
- 支持构造常见的以太网报文,包括arp、rarp、ipv4、ipv6、icmpv4、icmpv6、igmp、udp、tcp、pim、ospf、rip、snmp、ppp、pppoe、ipsec(ah/esp)等等,以及一些不常用的报文,如果802.3、STP等等
- 可编辑报文体的内容,且几乎所有的字段都可以修改。
2、龙卷风SVlanFrame
- 支持ARP、PING、UDP、DHCP、PPPOE、IGMP等协议;
- 可修改主要的关键参数。
3、iperf
特点:
- 命令行使用,仅可修改相关参数(如IP、传输层协议、Port、速率等参数);
- 主要用于测试吞吐量;
4、IxChariot
IXChariot是一个应用层性能测试工具,通过端对端的方法,对不同参数下的吞吐量、时延、丢包等性能参数进行评估。
特点:
- 仅可修改IP、四层协议等参数;
- 可查看速率的实时图;
- 可同时发送多条流;
- 支持wifi测试发流。
5、华为IP工具IPOP 4.1
网络测试工具中的瑞士军刀,特点如下:
- 麻雀虽小,五脏俱全;
- 不光可用于发包,也可用于抓包;
- 支持发送二层、三层、IGMP、ARP等报文,仅可修改几个关键参数。
6、小兵以太网测试仪
主要特点:
- 各种常见报文(包括arp ip icmp udp tcp等)的编辑与发送;
- 发包速率控制;
- 抓包;
- 对抓到的包进行修改编辑及发送。
7、VLC
比较单纯,主要用于组播功能的测试:
- 发送组播协议报文;
- 接收组播数据流。
优点:操作比较简单,填上协议和组播源即可测试组播;
缺点:无法构造报文,只能填写组播组相关参数。
8、pktgen
- 一个位于linux内核层的高性能网络测试工具;
- 主要用来测试网络驱动与网卡设备,支持多线程,能够产生随机mac地址、IP地址、UDP端口号的数据包;
- 可控制 UDP, TCP, ARP, ICMP, GRE, MPLS and Queue-in-Queue等包;
- pktgen的配置与统计信息查看,都使用/proc文件系统完成。
8、科来
- 科来网络分析系统是网络故障分析、数字安全取证、协议分析学习等使用场景的“利器”。
- 既可以用来发流,也可以用于抓包。
9、网络测试仪MiniSMB
- 复刻smartbits的IP网络性能测试工具,是一款专门用于测试智能路由器,网络交换机的性能和稳定性的软硬件相结合的工具。可以通过此以太网测试工具测试任何IP网络设备的端口吞吐率,带宽,并发连接数和最大连接数等诸多参数指标。
- 与软件Iperf,netperf, dpdk trafficgen相比较,minismb属于专业硬件网络发包测试仪, 具备精准测试速率,高吞吐率,可模拟千万级连接数等特点。类似于Spirent思博伦smartbits,Ixia,北京信而泰网络IP性能测试仪。
10、dperf
- dperf是一个百度开源软件,基于DPDK开发,具有千万级HTTP CPS,几十亿并发,几百Gbps带宽的开源压力测试;
- 官方网站:https://github.com/baidu/dperf
小结
不同的软件适用于不同场景,同时,依赖的软件环境也不同。
比如龙卷风软件,在win10等环境下,就有可能无法执行,估计是无人维护更新所致。
上述软件,基本上可满足日常的TCP/IP测试需求。