需求: 使用tcpdump抓取请求的sql数据 步骤1:首先检查服务器有没有安装tcpdump工具,执行tcpdump --v,查看版本号,如果出现下图则说明已安装,如果没有则下载yum install tcpdump -y,一般不用下载,会自带 步骤2. 确认工具已经安装后,执行 tcpdump -iany -s 0 -w - dst port 3306 | strings | grep -C10 mh_core_data, 执行完后,去请求要监测的页面,操作完成后,回到xshell执行ctrl+C命令停止抓包,查找到自己想要的sql后去数据库执行sql,查出自己想要的数据
参数说明: -i -----指定监听的网络接口 any------这个是设置筛选的网络端口,此处举例是筛选的所有端口,如果知道详细的端口,可以替换这个内容 -A------以ASCII格式打印出所有分组 -s 0-----取消抓包的长度限制,不加这个参数的话抓到数据的长度会被限制显示不出来 port-----指定数据库端口,不知道可以不指定 -w - |strings 把包的数据,用字符展示出来,单独使用会报错,没加这个数据会显示省略号… grep ‘mh_core_data’ C10 '------根据关键字显示前后10 行的数据,关键字的选择很重要,如果知道表名就根据表名筛选,这样能避免筛到很多无用的日志,也可以用select、update、delete、where、count等其他关键字,具体的关键字选择还要根据实际需求确定
小插曲:抓到的数据有一些汉字显示成了…解决办法就是使用-w - |strings
|