日记大全

日记大全 > 句子大全

抓取mysql redis(mongodb http等协议并打印语句)

句子大全 2023-09-07 05:24:01
相关推荐

我们在开发过程中经常会请求mysql,redis,mongodb等数据库,调试程序一般会打印出相应的数据库语句,但是有的时候我们用一些很笨重的框架,因为封装程度比较高打印一个sql语句都会非常麻烦,而且还会经常切换代码输出。

这里介绍一个可以监听端口非浸入式抓取sql语句,redis语句,mongodb语句等。

方便项目调试数据库请求。

抓包解析工具:

github.com/40t/go-sniffer

支持 MacOS \ Linux \ Unix 系统

MacOS为例

$ go get -v -u github.com/40t/go-sniffer

$ cp -rf $(go env GOPATH)/bin/go-sniffer /usr/local/bin

$ go-sniffer

三条语句即可运行

其中下图为我们本地端口,我们指定要抓取的接口即可。

抓取端口为en0的mysql语句

go-sniffer en0 mysql -p 3306

一般MacOS中 lo0 代表 127.0.0.1

如果命令没有抓到可能是监听的设备号不对,可以换一下监听的设备号再试一下。

原理

go-sniffer 监听网卡设备抓取项目与mysql通信的包,根据mysql官方文档提供的包协议格式,拼凑出语句,redis、mongodb等同理。

阅读剩余内容
网友评论
相关内容
拓展阅读
最近更新