【wireshark】总体结构

1. 总体结构

wireshark的总体结构如下图所示。

2. 功能模块


模块名


功能


源码子目录


GTK/Qt


处理所有的用户输入/输出(所有的窗口,对话框等等)


/ui
GTK: /ui/gtk
Qt: /ui/qt


Core


主要的"粘合代码"(glue code),它把其他的块组合到一起


/


Epan

(Ethereal Packet Analyzer)


协议树(Protocol-Tree) - 保存捕获文件的协议信息数据


/epan


解析器(Dissectors) - 多种协议的解析器


/epan/dissectors


插件(Plugins) - 一些用插件实现的协议解析器


/plugins


显示过滤器(Display-Filters) - 显示过滤器引擎


/epan/dfilter


Wiretap


wiretap库用于读/写libpcap格式或者其他文件格式的捕获文件


/wiretap


Capture


抓包引擎相关接口


/


Dumpcap


抓包引擎. 这是唯一需要提升权限来执行的部


/


WinPcap/libpcap


(不是Wireshark包的一部分) - 依赖于平台的包捕获库,包含捕获过滤器引擎.这就是我们为什么有不同的显示和捕获 两套过滤语法的原因 - 因为用了两种不同的过滤引擎


-

3. 参考

Wireshark开发指南第6章"How wireshark works"

时间: 2024-08-24 21:42:08

【wireshark】总体结构的相关文章

QP总体结构

QP是一个基于事件驱动的嵌入式系统软件框架,其总体结构如下图. AO活动对象由事件队列和层次状态机两部分组成,每个AO占有一个优先级: QF量子框架由五个数据结构及操作组成,其数据结构采用了uCOS-II相似的结构: QP有两种调度方式:合作式调度Qvanilla和抢占式调度QK,按实际要求选择一种: QS跟踪调试工具: GUI,TCP/IP通信等其它功能,可以以AO插件的方式加入到平台中. ? 参考: [1]http://www.state-machine.com [2][嵌入式系统工匠坊--

jquery源码--总体结构

1 (function( window, undefined ) { 2 // 构造jQuery 对象 3 var jQuery = (function() { 4 var jQuery = function( selector, context ) { 5 return new jQuery.fn.init( selector, context, ro otjQuery ); 6 } 7 return jQuery; 8 })(); 9 // 工具方法 Utilities 10 // 回调函数

十五.jQuery源码解析之Sizzle总体结构.htm

Sizzle是一款纯javascript实现的css选择器引擎,它具有完全独立,无库依赖;小;易于扩展和兼容性好等特点. W3C Selectors API规范定义了方法querySelector()和querySelectorAll(),但是IE6,7不支持这两个方法. 在Sizzele内部,如果浏览器支持方法querySelectorAll(),则调用该方法查找元素,如果不支持,则模拟该方法的行为. Sizzle支持几乎所有的css3选择器,并且会按照文档位置返回结果. 上面截取的只是Siz

【转】Tomcat总体结构(Tomcat源代码阅读系列之二)

本文是Tomcat源代码阅读系列的第二篇文章,我们在本系列的第一篇文章:在IntelliJ IDEA 和 Eclipse运行tomcat 7源代码一文中介绍了如何在intelliJ IDEA 和 Eclipse中运行Tomcat源代码,本文介绍一下Tomcat的总体结构. 本文没有特别指明的地方,源代码都是针对tomcat7.0.42来说. Tomcat的总体结构 Tomcat即是一个Http服务器也是一个Servlet容器,它的总体结构我们可以用下图来描述: 通过上图我们可以看出Tomcat中

OpenCV Machine Learning Library 机器学习库总体结构探微

原创博客,转载请:http://blog.csdn.net/zhjm07054115/article/details/27577181 OpenCV Machine Learning Library 机器学习库总体结构探微

Android4.4深入浅出之SurfaceFlinger总体结构

Android4.4 GUI系统框架之SurfaceFlinger 一.             Android GUI框架: SurfaceFlinger:每当用户程序刷新UI的时候,会中介BufferQueue申请一个buffer(dequeueBuffer),然后把UI的信息填入,丢给SurfaceFlinger,SurfaceFlinger通过计算多重计算合成visibleRegion之后,丢给openGL层处理,处理之后送到显示器display上显示. 根据整个Android系统的GU

Spring IOC源码详解之总体结构

Spring ICO详解之总体结构 IOC介绍 IOC, spring的核心,贯穿Spring始终.直观的来说,就是由spring来负责控制对象的生命周期和对象间的关系,将对象之间的关系抽象出来,通过spring容器控制对象生成时机,减少对象之间的耦合度. 开启Spring IOC源码学习 SpringIOC 的主要依赖源码是 spring-beans 和 spring-context两个包.前面文章中曾今讲到了如何编译spring源码,接下来将maven后的工程导入eclipse里面. 一.s

zrender源码分析1:总体结构

开始 zrender(Zlevel Render) 是一个轻量级的Canvas类库,这里是GitHub的网址 点我, 类似的类库有Kinetic.JS.EaselJS. 但貌似都没有zrender好用(可能是更加符合国人的习惯),强大的图表工具echarts就是在zrender基础上建立, 用zrender和echarts做了两个关于canvas的两个可视化项目之后,忍不住看了下zrender的项目代码(也有需要修改源代码的缘故), 但是翻开之后,代码的结构比较清晰,注释也都是中文,比较容易读懂

DataGuard总体结构

一.DataGuard总体结构 总体目标 1.   描述计划和非计划停机的不同因数 2.   DataGuard的主要组件 3.   物理以及逻辑DataGuard的异同 4.   建立DataGuard的好处 5.   在高可用环境下HA的用处 数据损失原因 1.   硬件与系统故障 2.   人为错误 3.   计算机病毒 4.   软件故障 5.   自然灾难 具调查表明,目前一般情况下,数据损失的主要原因是硬件故障和人为的原因而不是自然灾害等. 系统当机 计划当机 1.   系统维护:硬