Chinaunix首页 | 论坛 | 博客
  • 博客访问: 512093
  • 博文数量: 138
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 716
  • 用 户 组: 普通用户
  • 注册时间: 2015-03-03 21:48
文章分类

全部博文(138)

文章存档

2019年(1)

2017年(5)

2016年(99)

2015年(33)

我的朋友

分类: LINUX

2016-05-22 16:51:16

转载至http://blog.sina.com.cn/s/blog_4a1141220100i3w4.html
CPReplay主要功能是将PCAP包重新发送,用于性能或者功能测试。但是在测试环境与原转包系统结构一般是不同的。比如被测试机的二层MAC地址与抓包机器的MAC不同,所以被测试机在二层处理时发现目的MAC不是自己,就会把packet丢弃。协议栈把目的MAC与本机的MAC匹配,才会将packet交给上层处理。为了实现测试,需要使用TCPReplay的两个配套工具,TCPPrep和TCPRewrite。这两个工具和TC
PReplay的详细用法可以通过MAN来查询,这里不再细讲。此处通过一个经过测试的实例来介绍他们的用法。
测试拓扑图如下图所示
TCPReplay使用

其中TCPReplay机器的配置为:
OS: Ubuntu9.04
内核版本:2.6.28
TCPReplay版本:3.3.2(不同版本命令可能稍有不同,具体请通过MAN查询
网卡:Intel e1000e 双千兆
PCAP文件:test.tcpdump

测试第一步:预处理生成Cache,命令为
tcpprep -a client -i test.tcpdump -o test.cache

这条命令将PCAP文件分成客户端和服务端,默认为客户端。发送时packet将分别从客户端和服务端发出。

测试第二步:重写IP地址和MAC地址,命令为:
tcprewrite -e 192.85.1.2:192.85.2.2 --enet-dmac=00:15:17:2b:ca:14,00:15:17:2b:ca:15 --enet-smac=00:10:f3:19:79:86,00:10:f3:19:79:87 -c test.cache -i test.tcpdump -o 1.pcap

这条命令将eth0设为服务端接口,eth1设为客户端接口,重写了IP和MAC,可通过wireshark等工具打开1.pcap,查看修改是否成功。

测试第三步:重放packet,首先为了获取更高的发送速度,可以把文件放到/dev/shm目录下,最高速度有1倍左右的加速。重放命令为:
tcpreplay -i eth0 -I eth1 -l 1000 -t -c /dev/shm/test.cache /dev/shm/1.pcap

这条命令将文件以最高速率循环发送1000次。


上述步骤通过测试,保证能够通过。
阅读(905) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~