前言
在进行TCP/IP协议相关的开发工作中,经常需要发流,其中分两种情况:
- 重点在流量本身,具体的报文格式不甚关心。比如性能测试中,一般涉及的就是UDP或TCP报文;
- 重点在报文格式,如ICMP报文、IGMP报文等。
不同的需求,涉及的软件或工具不尽相同。
相关软件、工具
一、和特定硬件配套的软件
TestCenter、Veriwave、Octoscope等三个仪表
- 主要用于WIFI、路由器等的测试;
- 有配套的软硬件;
- 收费的,受Licence限制。
- 面向的是吞吐量、时延、丢包等专项测试。
二、纯软件类
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、科来
科来官网
- 科来网络分析系统是网络故障分析、数字安全取证、协议分析学习等使用场景的“利器”。
- 既可以用来发流,也可以用于抓包。
小结
不同的软件适用于不同场景,同时,依赖的软件环境也不同。
比如龙卷风软件,在win10等环境下,就有可能无法执行,估计是无人维护更新所致。
上述软件,基本上可满足日常的TCP/IP测试需求。
cs