我常用的网络测试工具

摘自:http://blog.sina.com.cn/s/blog_702b398b0100nv5i.html

首先感谢伟大的互联网提供给我寻找资料的源泉~~
再感谢伟大的我的公司,提供我学习的动力和机会~~
还要感谢KC同学对我的指导~~

最近学习了一些网络测试方面的东西,先做个小结,也算给自己理清一下思路。

1. 网络相关测什么?
From internet: 网络性能五项指标:Availability, Response time, network utilization, network throughput, networking bandwidth capacity.
转到我们实际的产品<你暂且认为他是个OS>中,一般网络相关的*功能*测试<FVT>,主要是涉及到针对各种传输协议,各种数据包大小,各种网络设备,不通类型节点之间,以及压力情况下网络的连通性。当然还有很重的一部分,产品本身方面实现的功能,比如流量控制,分布式switch实现,VLAN, 数据信息过滤,等等。

2. 常见的测试工具。
目前存在的网络测试工具非常多,每种工具都有自己的优势。就像这个地球上存在的人一样。当时我们还是要有所取舍,选择一个适合自己的。参看following link,if you have interest to 了解一下相关的工具。
http://www.oschina.net/p/netperf/similar_projects?lang=0&sort=time
这里我们只是简单介绍一下,我最近学习并可能会用到的几个。 Netperf, Iperf, LTP, Curlloader...我们尽最大努力只用免费开源的。。。。。

1> Netperf.
Netperf主要针对基于TCP或者UDP的传输。可进行批量数据传输测试和请求/应答模式传输的测试。其测试结果反映两个系统之间发送和接收数据的速度和效率。基于C/S模式。测试首先要建立一个控制连接,传递有关配置和以后的结果信息。开发语言C/C++. 并且具有基于ESX-VMkernel的编译版本。
Usage:
Netserver/(vmkload_app -i vmktcp)netserver-uw
netperf/((vmkload_app -i vmktcp /netperf-uw -H host -t TCP_STREAM/UDP_RR -l 60 -***
 BTW, 带一下vmktcp的介绍
vmkload_app is a program launcher that loads vmkernel usermode applications onto the VMkernel. The APP is executed with the given APP-PARAMS and managed by the VMkernel. vmkload_app waits for the APP to terminate, and will relay the standard input and output of the APP to and from its standard output, and if a signal(7) is sent to vmkload_app it will be caught and forwarded to the APP. Only applications compiled for the vmkernel can be loaded. Additionally, only binaries explicitly listed in the allowed binaries list, /etc/vmware/UserWorldBinaries.txt will be allowed This is only useful on Classic. Because we are need to run the App in kernel level from COS. All app completed for vmkernel need to be ran in this way. Obviously, on Visor, no need to use vmkload_app….. "

2> Iperf.
Iperf可测试TCP/UDP带宽质量。Iperf可以测量最大TCP带宽,具有多种参数和UDP特性,Iperf可以报告带宽,延迟抖动和数据包丢失。基于都是需要在2端检查连接情况下,iperf 和netperf 很相似.不同的是,iperf 更深入的通过windows size和QOS 设备来检查TCP/UDP 的效率情况.这个工具,是给需要优化TCP/IP stacks以及测试这些stacks 效率的管理员们量身定做的.iperf 作为一个二进制程序,可运行在server 或者client 任一模式下.默认使用50001 端口.

Usage:
-s 以server模式启动,eg:iperf -s
-c host以client模式启动,host是server端地址,eg:iperf -c 222.35.11.23

3> LTP.
LTP, Linux Test Project.就是一个工具箱, 里面放了一堆用来测试Linux各个components的工具。 这个
LTP测试的过程主要分为两个阶段:
第一阶段——初始测试,主要用于测试系统的可靠性,包括LTP测试套件在硬件和操作系统上24小时的成功运转
第二阶段——压力测试,主要验证产品在系统高使用率时的健壮性。
我们这里使用初始测试,来验证网络套件在硬件和操作系统上成功运行。Test generic networking protocols like tcp/udp, icmp, ssh, tftp, ftp…with LTP suite
Usage:
Set RHOST, PASSWD
/home/ltp/LTPtest/runltp -N -p -l output.log

4> Curlloader
curlloader,Web应用测试和模拟负载的工具。 可以模拟上万的客户端请求,并且每个请求来自不同的IP地址,支持用户认证,登录等web交换过程。在我们的测试中,它用来测试HTTPservice
Usage:
Creat一个配置文件test.conf提供相关要模拟的客户端的信息。
# curl-loader –f test.conf

5> tcpdump, tcpreply, tcprewrite, tshark.

首先必须要说一个pcap file format.pcap - packet captured....
tcpdump抓包,建立了一个.pcap文件
tcprewrite对.pcap 文件进行改写
tcpreply, 重放.pcap文件|
tshark,

在我的测试中,
1. 首先利用tcprewrite,将一个普通的.pcap文件改写成一个SNA包,通过改变 --enet-dmac 和 --enet-smac
2. 启动tcpdump 等待抓包
3. 利用tcpreply重放SNA数据包
4. 利用tshark对收到的包进行分析

Usage:

# tcprewrite --enet-dmac=00:0C:29:4A:E6:71 --enet-smac=00:0C:29:B3:AA:40 --infile=test.pcap  --outfile=send.pcap
安装

你可能感兴趣的:(测试工具)