绊脚石乃是进身之阶。

packetbeat的oracle协议扩展

Beats | 作者 ggg | 发布于2017年05月10日 | | 阅读数:7267

oracle由于是商用软件,协议并不公开,而且相比mysql等开源数据库软件,协议复杂度加了不止一个量级。
出于版权考虑,packetbeat并没有加入oracle协议的支持,只能自己动手。
好在beats充分考虑了扩展性,把公共的基础工作抽象成框架,新协议的扩展只需要专注于协议的分析和解码。
tns协议是oracle客户端和服务端通信协议,应用可以通过OCI、JDBC等接口去访问数据库。
tns协议有多个版本,不同版本之间差异也比较大,11g是主流tns版本为314。
目前完成308、310、313、314、315版本的解析
 
packetbeat支持pcap、pf_ring等抓包方式,通过kafka+es+kibana展示,效果如图
 
es.png

[尊重社区原创,转载请保留或注明出处]
本文地址:http://elasticsearch.cn/article/169


40 个评论

赞啊,代码考虑开源不咯?
不错!?
ggg

ggg 回复 medcl

估计packetbeat官方也不会接受oracle的代码的,毕竟oracle不开源
medcl

medcl 回复 ggg

这个需求 其实大大的有,可以发个 pr试试。
发pr的话那我得好好整理代码,因为针对实际网络流量在代码处理上做了一些妥协,不并能完全覆盖通用环境
请问您的代码已经开源了吗?我能参考学习吗,谢谢了
还没有,原因一个是涉及oracle公司产权保护,第二是代码不算通用,部分协议细节没有完全分析透彻
你好,你的这个responseTime的时间单位是多少?ms吗?还是ms/1000?
ggg

ggg 回复 李乃东

ms/1000
我先解析一下sql语句部分,能否学习一下你的代码
楼主。。能否给一份TNS的协议呢?DATA部分实在不知道怎么下手。
ggg

ggg 回复 李乃东

给个邮箱吧
李乃东

李乃东 回复 ggg

sglnd@126.com,谢谢了
nnz

nnz 回复 李乃东

也给我一份吧,谢谢! nn.z@outlook.com
LZ,tns 314 Data数据包的数据部分前4个字节是Data flag吗?我解析出来的值一直不是 0x00,但是有的文章说前2个字节是Data flag,想请教一下这个问题
Data flag是两个字节,你可以看下Wireshark
nnz

nnz 回复 ggg

好的,谢谢
你好,指定连接Oracle时tns版本,用的什么工具?
ggg

ggg 回复 nnz

oracle JDBC Driver版本
nnz

nnz 回复 ggg

314版本,一直找不到合适的驱动包
您好,可以给一份代码学习一下?谢谢。
楼主可以分享一下代码不,感谢;ross0nero@outlook.com
jackzhou

jackzhou 回复 ggg

楼主能给我也发一份吧, 非常感谢 我的邮箱 jackzhou2016@qq.com
楼主请发我一份把,619951388@qq.com
您好,楼主能发我一份不,谢谢啦。982155420@qq.com
大哥,代码能发我一份吗,谢谢,膜拜,122041318@qq.com
1419078211@qq.com 博主给份代码,学习下,祝博主生五个儿子
867521191@qq.com 求博主发份代码学习下,谢谢啦,急需攻克oracle TNS协议难题!
求代码,谁那里有麻烦发我一下460464232@qq.com
提前说声谢谢!
各位老大,跪求代码,麻烦发我一下247279605@qq.com
各位大佬好,小弟也想学一下oracle协议解析,希望好心人帮忙一下,我的邮箱 404821634@qq.com
非常感谢
楼主,可以分享一下你的源码?我愿意付费
大佬你好,希望分享一下源码,我愿意付费,我的邮箱是1749437444@qq.com
代码给我一份吧
您好 ,现在oracle协议有可以分享学习的吗
oracle协议有攻克的吗,可以分享下吗。谢谢 563770183@qq.com
求分享oracle的,wchen8416@126.com
也给我一份吧,谢谢! wchen8416@126.com
您好,可以给一份代码学习一下?谢谢。 luoffei@outlook.com

要回复文章请先登录注册