TcpCopy是一种请求复制(所有基于tcp的packets)工具,可以把在线流量导入到测试系统中去。
tcpcopy运行需要intercept的支持,tcpcopy负责抓包和发包工作,而intercept负责截获应答包
tcpcopy代码下载地址:
wget http://github.com/session-replay-tools/tcpcopy
configure:
./configure (默认raw socket方式抓包)
或者
./configure –pcap-capture (pcap方式抓包,在某些场景下,丢包率会高于raw socket方式抓包,这时候需要类似pf_ring的支持)
对于intercept:
代码下载地址:
wget http://github.com/session-replay-tools/intercept
configure方式:
./configure
1.环境
192.168.10.10
192.168.10.20
192.168.10.30
30是线上服务器,10和20是测试环境。在30上运行tcpcopy把线上流量拷贝到20,在20上我们通过路由将应答转向10,在10上把应答丢弃。
30和20上是nginx,端口是8080
2.操作
在线上机器10.30上面运行tcpcopy(root权限):利用-c参数,修改客户端源IP地址,方便设置路由
./tcpcopy -x 8080 -192.168.10.20:8080 -s 192.168.10.10 -c 192.168.100.x
将本机的8080流量cp到10.20的8080端口
-s指定intercept进程所在的服务器。(丢包服务器)
-c修改请求的host地址为192.168.100.x,以便在20上设置路由(设置路由是为了将应答转向10(丢包服务器))
-n流量放大倍数
10.20上设置路由
route add -net 192.168.100.0 netmask 255.255.255.0 gw 192.168.10.10
10.10上运行intercept
intercept -i bond -F tcp and src port 8080 -d
原创文章,作者:赛福,如若转载,请注明出处:https://www.safecdn.cn/76.html
本站不销售、不代购、不提供任何支持,仅分享网络信息,请自行辨别,请遵纪守法、文明上网。