以CentOS为例:

1.环境

PS:如果不需要Golang环境,可以编译后把执行文件copy到服务器(相同环境下,编译的执行文件可以直接执行)

1.安装Golang

yum install golang -y(这一步需要root权限)

2.安装go-sniffer

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

3.配置环境

方法一

vi ~/.profile

确保~/go/bin/在环境变量中,eg:

PATH="$HOME/go/bin:$PATH"

然后刷新一下:source ~/.profile

方法二

echo 'export PATH="$HOME/go/bin:$PATH"' >> ~/.bashrc

然后刷新一下:source ~/.bashrc

2.案例

1.go-sniffer帮助

先简单看看帮助文档:

[dnt@localhost ~]$ go-sniffer

==================================================================================

[Usage]

go-sniffer [device] [plug] [plug's params(optional)]

[exp]

go-sniffer en0 redis Capture redis packet

go-sniffer en0 mysql -p 3306 Capture mysql packet

go-sniffer --[commend]

--help "this page"

--env "environment variable"

--list "Plug-in list"

--ver "version"

--dev "device"

[exp]

go-sniffer --list "show all plug-in"

==================================================================================

[device] : lo : 127.0.0.1

[device] : eth0 : 00:15:5d:24:90:00 192.168.36.123

==================================================================================

2.MySQL案例

我是在MariaDB服务器端监控的:go-sniffer eth0 mysql(需要root权限,本地就用lo)

随便运行一个Python的案例:

9c88295e17fa166c942e722b7da6ef55.png

ok,监控起效了~

PS:并不是有些人说的批量执行哦~

284d89e2d1df6e6b5fa153468ffa48e7.png

3.Redis案例

前置条件:/etc/redis.conf

注释掉bind=127.0.0.1

添加密码:requirepass 密码

af74ad0bccf8ec7ab4888ce6995b4079.png

Python案例

c721f6a2c32a625dc143a0a43d6cf92b.png

PS:6379端口权限记得给一下:

# 开放6379端口

firewall-cmd --zone=public --add-port=6379/tcp --permanent

# 刷新

firewall-cmd --reload

4.另一款神器soar

不用配置什么环境,直接echo "你的sql语句" | soar来运行即可

ec8a24fe256a9fe63a6429afd472d66c.png