write down,forget
adidas eqt support ultra primeknit vintage white coming soon adidas eqt support ultra boost primeknit adidas eqt support ultra pk vintage white available now adidas eqt support ultra primeknit vintage white sz adidas eqt support ultra boost primeknit adidas eqt adv support primeknit adidas eqt support ultra boost turbo red white adidas eqt support ultra boost turbo red white adidas eqt support ultra boost turbo red adidas eqt support ultra whiteturbo adidas eqt support ultra boost off white more images adidas eqt support ultra boost white tactile green adidas eqt support ultra boost beige adidas eqt support ultra boost beige adidas eqt support refined camo drop adidas eqt support refined camo drop adidas eqt support refined running whitecamo adidas eqt support 93 primeknit og colorway ba7506 adidas eqt running support 93 adidas eqt support 93

Packetbeat协议扩展开发教程(1)

<Category: Beats> 查看评论

https://www.elastic.co/products/beats/packetbeat
是一个开源的网络抓包与分析框架,内置了很多常见的协议解析,如HTPP、MySQL、Thrift等。但是网络协议有很多,如何扩展一个自己的协议呢,本文将为您介绍如何在Packetbeat基础上扩展实现您自己的协议。

开发环境:
1.Go语言
Packetbeat是由Go语言编写,具有高性能和易部署的特点,有关Go语言的更多信息请访问:https://golang.org/。
2.Git
源码管理,相信大家都比较熟悉了。
3.Tcpdump
*nix下的抓包分析,可选,用于调试。
4.Mac本一台
Windows太伤,不建议。

这个教程给大家介绍的是编写一个SMTP协议的扩展,SMTP就是我们发邮件使用的协议,加密的比较麻烦,为了方便,本教程使用不加密的名文传输的SMTP协议,对应的端口是25。

A.源码签出
登陆Github打开https://github.com/elastic/beats
AA406C32-12F2-4633-BE49-0EA66559A722
fork后得到你自己的仓库,比如我的:https://github.com/medcl/packetbeat

注意,如果你之前已经签出过packetbeat和libbeat或者topbeat等beats项目,请先从$GOPATH/src/github.com/elastic下移除,新的beats都已经合并到一个仓库『beats』里面去了,如果你不移除,处理依赖的时候会有问题。

编译出来的文件:packetbeat,就在根目录
现在我们测试一下
修改etc/packetbeat.yml,在output下面的elasticsearch下面添加enabled: true,默认是不启用的,另外如果你的Elasticsearch安装了Shield,比如我的Elasticsearch的用户名和密码都是tribe_user,哦,忘了说了,我们的Elasticsearch跑在本机。
packetbeat.yml的详细配置可参见:https://www.elastic.co/guide/en//packetbeat/current/packetbeat-configuration.html
另外,在mac上面的网卡设置成any会启动失败,可设置为具体的网卡,如我的是en0。

现在可以运行命令启动packetbeat了,默认会监听所有内置的协议,如HTTP、DNS等。

介绍一下常用的参数:
-N dry run模式,不实际output存储日志
-e 控制台输出调试日志
-d 仅显示对应logger的日志

好的,我们打开几个网页,控制台会有相应的输出,如下:

然后Elasticsearch应该就会有数据进去了,果然:

至此,源码的build已经成功,我们整个开发流程已经跑通了,下一节正式开始介绍SMTP协议的扩展。

本文来自: Packetbeat协议扩展开发教程(1)