利用tcpcopy引流过程

时间:2023-03-09 12:51:28
利用tcpcopy引流过程

tcpcopy是一个tcp流量复制工具,当前还支持udp和mysql流量的复制。

目的:

将机器10.24.110.21的5000端口流量引流到机器10.23.25.11的5000端口。

示例:将10.24.110.21:4077引流到10.23.25.11:5000

1) 线上机器:10.24.110.21

tcpcopy -x 4077-10.23.25.11:5000 -s 10.23.25.12 -c 192.168.100.x -n 1

2) 测试机器:10.23.25.11

route add -net 192.168.100.0 netmask 255.255.255.0 gw 10.23.25.12

192.168.100/24为虚拟的IP,tcpcopy使用它来连接测试机。

3) 辅助机器:10.23.25.12

intercept -i eth1 -F tcp and src port 5000

测试机器和辅助机器需要在同一网段,否则添加不了路由。

如何需要将多台线上的机器引渡到同一台测试机上了?

关键点:需要不同的辅助端口

假设引流两台线上机到一台测试机10.23.25.11:5000

在辅助机器上启动两个不同端口的intercept进程(-p参数默认值为36524):

intercept -p 36524 -i eth1 -F tcp and src port 5000

intercept -p 36525 -i eth1 -F tcp and src port 5000

同时,测试机上需要添加两条到辅助机的路由:

route add -net 192.168.100.0 netmask 255.255.255.0 gw 10.23.25.12

route add -net 192.168.110.0 netmask 255.255.255.0 gw 10.23.25.12

两台线上机上分别启动tcpcopy引流(需要指定不同的协助机端口):

tcpcopy -x 4077-10.23.25.11:5000 -c 192.168.100.x -n 1 -s 10.23.25.12 -f 1 -p 36524

tcpcopy -x 4077-10.23.25.11:5000 -c 192.168.110.x -n 1 -s 10.23.25.12 -f 6 -p 36525