🔎Sniffing and parsing mysql,redis,http,mongodb etc protocol. 抓包截取项目中的数据库请求并解析成相应的语句。
Go to file
hoffer 6d9b72393f
Merge 0313eb2dff into a50ccb4caa
2020-09-26 10:28:54 +08:00
core feature: capture MetadataRequest and ProduceRequest 2020-09-26 10:27:11 +08:00
images update README 2018-09-25 19:40:36 +08:00
plug Init 2018-09-25 14:13:45 +08:00
plugSrc feature: capture MetadataRequest and ProduceRequest 2020-09-26 10:27:11 +08:00
LICENSE Create LICENSE 2018-09-25 21:14:37 +08:00
README.md Update README.md 2018-09-30 03:07:31 +08:00
go-sniffer feature: capture MetadataRequest and ProduceRequest 2020-09-26 10:27:11 +08:00
kafka.pcap feature: capture MetadataRequest and ProduceRequest 2020-09-26 10:27:11 +08:00
main.go Init 2018-09-25 14:13:45 +08:00
start.sh feature: capture MetadataRequest and ProduceRequest 2020-09-26 10:27:11 +08:00

README.md

go-sniffer

捕获mysql,redis,http,mongodb等协议...完善中

  • 抓取项目中的数据库请求,如:执行的mysql查询语句
  • 不需要修改项目代码,通过指定端口抓包解析协议
  • 快速预览项目中所有的数据请求,便于程序调试

GitHub license

Support List:

Demo:

$ go-sniffer en0 mysql

image

Setup:

  • 支持 : MacOS Linux Unix
  • 不支持 : windows
  • 依赖:google/gopacket

依赖库安装Centos

$ yum install libcap-devel

依赖库安装: Ubuntu

$ apt-get install libcap-dev

RUN

$ go get -v github.com/40t/go-sniffer
$ cd $(go env GOPATH)/src/github.com/40t/go-sniffer
$ go run main.go

Usage:

=======================================================================
[使用说明]

    go-sniffer [设备名] [插件名] [插件参数(可选)]

    [例子]
          go-sniffer en0 redis          抓取redis数据包
          go-sniffer en0 mysql -p 3306  抓取mysql数据包,端口3306

    go-sniffer --[命令]
               --help 帮助信息
               --env  环境变量
               --list 插件列表
               --ver  版本信息
               --dev  设备列表
    [例子]
          go-sniffer --list 查看可抓取的协议

=======================================================================
[设备名] : lo0 :   127.0.0.1
[设备名] : en0 : x:x:x:x:x5:x  192.168.1.3
[设备名] : utun2 :   1.1.11.1
=======================================================================

mysql

支持预处理语句等常大部分语句

$ go-sniffer [设备名] mysql [参数]
-p 置顶端口默认3306

image

redis

$ go-sniffer [设备名] redis [参数]
-p 置顶端口默认6379

image

http

$ go-sniffer [设备名] http [参数]
-p 置顶端口默认80

image

mongodb

$ go-sniffer [设备名] mongodb [参数]
-p 端口默认27017
  • 支持大部分语句,只有个别少数语句没有实现

License:

MIT