wireshark如何解析ceph网络通信

发布时间:2021-12-17 09:32:51 作者:小新
来源:亿速云 阅读:173

小编给大家分享一下wireshark如何解析ceph网络通信,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

一、安装wireshark

wireshark从2.0版开始支持ceph协议解析

下载地址:https://www.wireshark.org/download/

二、ceph网络抓包

使用tcpdump在ceph集群上抓包,e.g.:tcpdump -i ens33 -s 0 -w 3ceph.pcap host 172.16.134.95 and host 172.16.134.96 ,

ens33是网络接口名字,3ceph.pcap是保存的抓包的文件名字,host 172.16.134.95 and host 172.16.134.96是在这两个节点之间流动的数据包

注意:tcpdump抓包要从ceph集群会话开始抓,否则在会话中间抓包,wireshark不识别。

三、wireshark架构

1、GUI处理在页面上所有用户的显示包块对话框,源码在ui/qt下面

2、core主要的“胶水”模块,把别的模块整合到一起,源码在根目录下

3、Epan包分析引擎,用协议书的形式分析包。源码在epan目录下

4、Wiretap用于读、写捕获的文件,源码在wiretap目录下

5、Capture捕获网络数据的接口模块,源码在capture下

参考:https://www.wireshark.org/docs/wsdg_html_chunked/ChWorksOverview.html

四、wireshark 解析包流程

当Wireshark从文件加载数据包时,每个数据包都会被解析。 Wireshark尝试检测数据包类型,并从数据包中获取尽可能多的信息。在此运行中,只需要包列表窗格中显示的信息。

当用户在数据包列表窗格中选择特定数据包时,将再次解析该数据包。 这一次,Wireshark尝试获取每一条信息并将其放入数据包详细信息窗格中。

每个解剖器解码其协议的一部分,然后将解码交给后续解剖器以获得封装协议。

参考:https://www.wireshark.org/docs/wsdg_html_chunked/ChapterDissection.html

五、wireshark dissector源码分析

wireshark根目录下epan/dissectors/packet-ceph.c是分析ceph网络协议的源码

wireshark如何解析ceph网络通信

10514行,注册解析器函数,

10516行,创建ceph_handle,如果有相应的包调用dissec_ceph_old函数解析.

10518行,在启发式解析器中加添dissect_ceph_heur,dissect_ceph_heur判断是不是ceph的网络包。wireshark分为普通字符串表,整数表和启发式解析表,

启发式解析器的特点是:一旦特定“连接”的数据包被识别为属于对于特定的协议,Wireshark应该始终直接调用该解析器解析此协议。

wireshark如何解析ceph网络通信

7091行,判断是不是ceph网络协议,其中C_BANNER定义在830行,C_BANNER_SIZE_MIN定义在833行

wireshark如何解析ceph网络通信

wireshark如何解析ceph网络通信

可见wireshark根据网络包中的ceph v标志,判断是否为ceph网络协议。

7099行,如果判断是ceph协议,调用ceph_handle处理。在10516行中创建了ceph_handle。

wireshark如何解析ceph网络通信

7081行,调用dissect_ceph函数,解析网络包

wireshark如何解析ceph网络通信

07019行,在网络包列表protocol字段中,设置Ceph字段

wireshark如何解析ceph网络通信

当在一个网络包列表中点击一个网络包时,下方的网络包详细信息中,以树形详细列出网络包的详细信息。

用proto_item_add_subtree注册下层的协议

c_dissect_xxx解析子树。

以上是“wireshark如何解析ceph网络通信”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. wireshark教程
  2. wireshark解析报文一点根据

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

wireshark ceph

上一篇:如何解析SparkStreaming推测机制

下一篇:python匿名函数怎么创建

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》