• tcpcopy 流量复制工具


    一、作用

    tcpcopy可以复制线上真实流量到测试环境做压力测试,返回信息进过处理进入黑洞一般,无需担心返回给客户。

    二、原理

    tcpcopy和intercept两个组件

    -tcpcopy

    安装在生产主机上,生产主机会接受正常流量,正常流量被tcpcopy复制并发送至测试环境主机。

    - intercept

     安装intercept组件的主机被称作辅助主机,他接收测试环境主机返回的响应信息(测试环境将路由指向辅助主机),辅助主机返回响应信息给安装tcpcopy的生产主机,完成一次请求流程。

    三、实验

    192.168.31.100  测试环境主机(指路由)      nginx开启80端口

    192.168.31.101  生产环境主机(tcpcopy)    nginx开启80端口

    192.168.31.200  辅助主机(intercept)

    1. 下载

    tcpcopy

    https://github.com/session-replay-tools/tcpcopy/releases

    intercept

    https://github.com/session-replay-tools/intercept/releases

    ./configure
    make && make install

    2. 辅助主机操作

    - 辅助主机不返回给客户端响应信息,所以关闭路由转发

    echo "0" > /proc/sys/net/ipv4/ip_forward

    - 辅助主机先开启intercept组件,不开启tcpcopy无法启动

    intercept组件监听抓取测试主机对应端口返回的响应信息

    ./intercept -i eth0 -F 'tcp and src port 8000' -d
    -i 监听指定网卡送来的信息
    -F 过滤信息
    -d 以守护进程形式启动

    3. 生产主机操作

    ./tcpcopy -x 80-192.168.31.100:80 -s 192.168.31.200 -c 192.168.31.201 -n 2 -d
    -x 指定本地复制的端口,以及复制流量发送到的主机及端口
    -s 辅助主机intercept的ip,将tcpcopy会和intercept建立连接,默认连接36524端口
    -c 伪装地址,修改复制流量的原地址,测试主机返回响应信息时候指了路由,将伪装地址转发给辅助主机做处理
    -n 放大流量,2就是两倍
    -d 以守护进程方式启动

    4. 测试主机

    指定路由将响应请求发送给辅助主机做处理

    route add -host 192.168.31.201 gw 192.168.31.200

    5. 测试流程

    访问生产主机80端口,查看测试主机nginx日志是否有对应的访问信息,而且是放大的流量

  • 相关阅读:
    C语言打印记事本内搜索字符串所在行信息
    原创:C语言打开、下载、删除网页,统计网页字符个数
    JAVA GUI编程学习笔记目录
    13.JAVA之GUI编程将程序打包jar
    12.JAVA之GUI编程打开与保存文件
    11.JAVA之GUI编程菜单
    10.JAVA之GUI编程弹出对话框Dialog
    php中的一些不常见的问题foreach/in_array[开发篇]
    微软职位内部推荐-Senior SDE
    微软职位内部推荐-SDE II
  • 原文地址:https://www.cnblogs.com/yunweixiaoxuesheng/p/9085728.html
Copyright © 2020-2023  润新知