go-sniffer/README.md

113 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# go-sniffer
> Capture mysql,redis,http,mongodb etc protocol...
> 抓包截取项目中的数据库请求并解析成相应的语句如mysql协议会解析为sql语句,便于调试。
> 不要修改代码,直接嗅探项目中的数据请求。
[![GitHub license](https://img.shields.io/github/license/40t/go-sniffer.svg?style=popout-square)](https://github.com/40t/go-sniffer/blob/master/LICENSE)
#### [中文使用说明](#中文使用说明)
## Support List:
- [mysql](#mysql)
- [Redis](#redis)
- [Http](#http)
- [Mongodb](#mongodb)
- Kafka (developing)
- ...
## Demo:
``` bash
$ go-sniffer en0 mysql
```
![image](https://github.com/40t/go-sniffer/raw/master/images/demo.gif)
## Setup:
- support : `MacOS` `Linux` `Unix`
- not support : `windows`
- If you encounter problems in the `go get` process, try upgrading the go version 如果go get 过程中遇到问题请尝试升级go版本
### Centos
``` bash
$ yum -y install libpcap-devel
```
### Ubuntu
``` bash
$ apt-get install libpcap-dev
```
### MacOs
``` bash
```
### RUN
``` bash
$ go get -v -u github.com/40t/go-sniffer
$ cp -rf $(go env GOPATH)/bin/go-sniffer /usr/local/bin
$ go-sniffer
```
## Usage:
``` bash
==================================================================================
[Usage]
go-sniffer [device] [plug] [plug's params(optional)]
[Example]
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"
[Example]
go-sniffer --list "show all plug-in"
==================================================================================
[device] : lo0 : 127.0.0.1
[device] : en0 : xx:xx:xx:xx:xx:xx 192.168.199.221
==================================================================================
```
#### 中文使用说明
``` bash
=======================================================================
[使用说明]
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
=======================================================================
```
### Example:
``` bash
$ go-sniffer lo0 mysql
$ go-sniffer en0 redis
$ go-sniffer eth0 http -p 8080
$ go-sniffer eth1 mongodb
```
## License:
[MIT](http://opensource.org/licenses/MIT)
## 感谢
<img src="https://github.com/40t/go-sniffer/raw/thx/images/wechat.jpg" width = "450" height = "450" div align=left />