tcpcopy填坑实践。

准备搭建tcpcopy引流测试新架构。    


首先下载tcpcopy与intercept。 分别安装在线上机器与辅助测试机上(丢包用)。说下自己的操作过程。


我现在target测试机上面配置route, route add -net 1.1.1.0 netmask 255.255.255.0 gw 辅助测试机ip。


本意乃是想把线上的流量重写来源为1.1.1.x,  发到测试机做区分。


随后分别启动丢包机与线上机tcpcopy程序。  

/usr/local/tcpcopy/sbin/tcpcopy -x source_port-target_ip:target_port -s intercept_ip -c 1.1.1.x -l ./logs -d

/usr/local/intercept/sbin/intercept -i eth0 -F 'tcp and src port target_port' -d -l ./logs


最后tcpdump -Annls0 -i eth0 tcp port target_port查看引流是否成功,  悲剧的发现没有任何流量。


在我搞了一天半以后也没有解决。  中途发现tcpcopy的logs报错many connections cant established   && intercept端口为36524.  && intercept机器需要打开ip转发等等。


最后找人帮忙解决,  对方先在三台机器分别抓包, 发现链接没成功。 最后让我换台机器试下, 于是我把线上机器换了一台和测试机同一地区同一运营商的机器,  发现直接成功了。然后对方回去找stackoverflow后, 告诉我把-c换成线上服务器网段试试, 

我更改route和tcpcopy -c 后,发现成功了。   结论就是不同地区不同运营商的-c必须设置一个能ping通的才行。

ps:  反正我去百度和stackoverflow上面查啥都没得到。



我其实最想记录的就是, 这个问题我也应该能解决。     首先,  以后需要把所有可能的排查记到本上, 一条一条划,  排除了不可能之后, 剩下的所有可更改的地方都可以当做排查点。   其次, 了解原理之后再来想问题会得到新的排查目标。   最后, 基础知识能帮助你看破很多问题&&死之前不要问别人。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值