您的位置:首页 > 理论基础 > 计算机网络

项目修炼之路(2)测试-TCPCopy

2016-01-26 15:00 281 查看
上篇博客中,我们介绍了服务化的相关特点,这篇博客主要给大家介绍在预上线之前做的tcpcopy测试。

资源(单击下载):


tcpcopy-0.8.0.tar.gz

TCPCopy分为client和server,其中client运行在在线服务器上面,用来捕获在线请求数据包;server(监听端口为36524)运行在测试机器上面,client在测试服务器的响应包丢弃之前截获测试服务器的响应包,并通过client和server之间的tcp连接,传递响应包的tcp和ip头部信息给TCPCopy client,以完成TCP交互,不然TCP包就不能算到达对端。

下载相应的服务包,拷贝到测试环境,准备一个测试用tomcat

依次执行下列命令

tar -zxvf tcpcopy-0.8.0.tar.gz
cd tcpcopy-0.8.0.tar.gz
./configure
make
make install


结果如下:




1,启动TCPCopy server

配置无应答

1)启动内核模块ip_queue

#modprobe ip_queue

2)设置要截获的端口,并且设置对output截获

#iptables -I OUTPUT -p tcp --sport 18093 -j QUEUE //注意这里的port就是测试服务器监听的端口-此步骤必须设置,否则不通

3)启动intercept




#intercept

注意:配置好iptbales之后不要去运行service iptables start,不然新加的配置又会被清空了,如果iptables没有启动,可以在加规则之前启动;如果1),2)已经设置并起效的话,只要运行intercept就好了;测试完成之后要调用iptables -F 把过滤规则去掉

2,启动TCP Client进行包的转发




./tcpcopy -x 线上服务器监听端口号-测试服务器ip地址:测试服务器监听端口

另外可以加 -n 参数,进行多重复制,此参数的值就是代表复制过去的流量是在线的n 倍

例子:

./tcpcopy -x 18093-192.168.2.16:18093


试验用jsp:

<%
	System.out.println("xvshu");
%>


将jsp放到tomcat -> webapp -> ROOT 下

访问地址为:http://192.168.2.200:18093/1.jsp

测试结果为

线上环境:




测试环境:




总结:

程序的设计,是为了方便人,提升效率,有了tcpcopy后,我们可以尽最大可能模拟线上的操作,为我们上线提供了保障!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: