今天使用了tcpcopy做了测试,整理下结果
安装
最新版的tcpcopy需要安装两个,tcpcopy和intercept。
请根据提示安装
./configure
make
make install
注意如果按照这样默认装,安装目录如下
/usr/local/tcpcopy/sbin/tcpcopy
/usr/local/intercept/sbin/intercept
版本
[root@localhost ~]# tcpcopy -v
tcpcopy version:1.0.0
[root@localhost ~]# intercept -v
intercept version:1.0.0
注意: 网上很多教程用的0.9.x版本
注: 编译时候需要加一些参数才有-i选项
服务器IP说明
- 10.10.0.201 - client
- 10.10.0.203 - 线上server
- 10.10.0.204 - 待测server
- 10.10.0.205 - 辅助server
配置
线上server:10.10.0.203
配置nginx,监听80端口
server {
listen 80;
location / {
return 200 "Reply form server 10.10.0.203\n";
}
}
tcpcopy -x 10.10.0.203:80-10.10.0.204:2222 -s 10.10.0.205 -d -c 10.10.0.202
辅助server 10.10.0.205
intercept -i eth0 -F ‘tcp and src host 10.10.0.204 and src port 2222’ -d
待测server 10.10.0.204
配置nginx,监听2222端口
server {
listen 2222;
location / {
return 200 "Reply form server 10.10.0.204\n";
}
}
route add -host 10.10.0.201 gw 10.10.0.205
route add -host 10.10.0.202 gw 10.10.0.205
测试
登陆clinet-10.10.0.201
[root@localhost ~]# curl 10.10.0.203
Reply form server 10.10.0.203
时序
此时序图为参考时序图,不同次测试可能略有不同,但是逻辑顺序不会变。