玩玩TCPCOPY+ intercept+mysql-replay-module(未成功)

TCPCOPY+ intercept这两个模拟流量转发倒简单。

但,想实现一个mysql-replay-module模块时,失败了。(我现在仔细想想,这个方案,在我们现在的场景里,实用性不大,但弄好点专业些。)

https://github.com/session-replay-tools/mysql-replay-module

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

安装=================================

一,在assistant server上安装intercept:

  1. git clone git://github.com/session-replay-tools/intercept.git
  2. cd intercept
  3. ./configure --with-resp-payload
  4. make
  5. make install

二,在ONLINE SERVER上安装TCPCOPY:

  1. git clone git://github.com/session-replay-tools/tcpcopy.git
  2. cd tcpcopy
  3. git clone git://github.com/session-replay-tools/mysql-replay-module.git
  4. ./configure --set-protocol-module=mysql-replay-module
  5. make
  6. make install

配置====================================

一,在TARGET SERVER上配置路由:

    For example:

       Assume 10.110.12.18 is the IP address of the assistant server and
    10.110.12.15 is the MySQL client IP address. We set the following route
    command to route all responses to the 10.110.12.15 to the assistant server.

       route add -host 10.110.12.15 gw 10.110.12.18

二,在assistant server上配置端口过滤:

  For example:

      ./intercept -i eth0 -F ‘tcp and src port 3306‘ -d

      intercept will capture response packets of the TCP based application which
  listens on port 3306 from device eth0 

三,在ONLINE SERVER上启动TCPCOPY:

a) set user password pair in conf/plugin.conf in the installion directory

    Format:
       user [email protected],[email protected],...,[email protected];

    For example:
       user [email protected];    

  b) start tcpcopy
    ./tcpcopy -x localServerPort-targetServerIP:targetServerPort -s <intercept server,> 

    For example(assume 10.110.12.17 is the IP address of the target server):

      ./tcpcopy -x 3306-10.110.12.17:3306 -s 10.110.12.18 

      tcpcopy would capture MySQL packets(assume MySQL listens on 3306 port) on current
  server, do the necessary modifications and send these packets to the target port
  ‘3306‘ on ‘10.110.12.17‘(the target MySQL), and connect 10.110.12.18 for asking
  intercept to pass response packets to it.

最后,一份转两份,真实服务器上有,测试服务器上也有流量。用过压力或冒烟测试,蛮好的。

时间: 2024-10-14 21:18:20

玩玩TCPCOPY+ intercept+mysql-replay-module(未成功)的相关文章

【原创】MySQL Replay线上流量压测工具

一. 背景 去年做过一次mysql trace 重放的测试,由于performance schema本身采集样本的长度等限制,实际回放的成功率比较低. 最近找到一款开源的工具,基于TCPCopy实现了线上流量的仿真测试,这款开源工具是网易的王斌开发,后面很多公司的模拟在线测试都是基于TCPCopy实现. https://github.com/session-replay-tools/mysql-replay-module 1.实现原理 生产服务器上部署TCPCopy, 包捕获是在数据链路层增加一

未成功,待续。。。

现有环境说明: [[email protected] ~]# uname -r 2.6.32-358.el6.i686 [[email protected] ~]# cat /etc/redhat-release CentOS release 6.4 (Final) freeradius-mysql-2.1.12-4.el6_3.i686 freeradius-2.1.12-4.el6_3.i686 安装MySQL及数据库及freeradius yum install mysql mysql-s

luarocks错误 require ‘luasql.mysql&#39; 报module &#39;luasql.mysql&#39; not found:

错误: require 'luasql.mysql'stdin:1: module 'luasql.mysql' not found: no field package.preload['luasql.mysql'] no file '/usr/local/share/lua/5.3/luasql/mysql.lua' no file '/usr/local/share/lua/5.3/luasql/mysql/init.lua' no file '/usr/local/lib/lua/5.3/

神奇华为3c手机, 出现安装未成功问题。

1.我会命令adb uninstall 先卸载我们有签名的安装包. 2.用开发模式在手机上运行我们的应用. 3.然后测试就把手机拿走了,就用应用管理器把我们的应用卸载了. 4.继续装我们的开发包,死活也装不了.我拿到手机也没有办法.试了很久,差点就要root手机了,但是手机又不是我的,没有办法root. 5.网上提供此资料 http://xusaomaiss.javaeye.com/blog/393296 在反复安装android apk的时候,有的时候可能会遇到adb install错误,内容

关于 来源: volmgr Event ID: 46 故障转储初始化未成功 的问题

最近笔记本电脑硬件有点问题,查看系统日记,如下: volmgr Event ID: 46 故障转储初始化未成功 最后找到了一个解决方案: 网上查了一下 volmgr 错误-故障转储初始化未成功的解决办法,说是因为优化关闭了故障转储功能造成的.解决办法是计算机-右键"属性"-高级系统设置-"启动和故障恢复"设置-系统失败-写入调试信息"选择小内存转储,然后"确定"就可以了. 试过了以后,发现还是不行,估计要重装系统或硬盘硬件接口问题吧.

win2008 web服务器配置----故障转储初始化未成功

故障转储初始化未成功 网上的解决方案: 计算机-右键"属性"-高级系统设置-"启动和故障恢复"设置-系统失败-写入调试信息"选择小内存转储(64KB)"-确定. ------- 其实是虚拟内存设置有问题.默认的不设置. win2008 web服务器配置----故障转储初始化未成功,布布扣,bubuko.com

测试php与mysql的连接是否成功的多种方法

测试php与mysql的连接是否成功的多种方法其实使用的就是一个php的函数: mysql_connect(); 定义 mysql_connect() 函数打开非持久的 MySQL 连接. 用法: <?php$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');if (!$link) {    die('Could not connect: ' . mysql_error());}echo 'Connected su

WebApi 数据保护操作未成功。这可能是由于未为当前线程的用户上下文加载用户配置文件导致的。当线程执行模拟时,可能会出现此情况。&quot;,&quot;ExceptionType&quot;:&quot;System.Security.Cryptography.CryptographicException&quot;,&quot;StackTrace

在调用System.Security.Cryptography.ProtectedData.Protect方法来保护私密信息时,IIS可能会报以下错误:CryptographicException: 数据保护操作未成功.这可能是由于未为当前线程的用户上下文加载用户配置文件导致的.当线程执行模拟时,可能会出现此情况. 解决方法:1.打开应用程序池2.在应用程序上右键选择高级设置3.进程模型下设置“加载用户配置文件”为True

proftpd +mysql+ssl ,无法成功编译出mod_sql mod_sql_mysql 模

proftpd +mysql+ssl ,无法成功编译出mod_sql mod_sql_mysql 模块,内网yum 按的mysql 外网源码装的mysql,都不行,还是看官方文档的 http://www.proftpd.org/docs/contrib/mod_sql.html#Installation centos  proftpd-1.3.5版本 1.内网yum mysql环境 #  ./configure --prefix=/usr/local/proftpd --with-modules