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.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