Advertisement

TShark源码解析流程图(使用VISIO)

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
本资料详尽解析了TShark网络协议分析工具的核心源代码,并以清晰的VISIO流程图形式展示其内部工作原理与架构设计。 为了进行码流处理工作,我最近将开源软件Wireshark作为切入点来研究其解析引擎部分。这需要进行全面的源代码编译与分析过程。大约用了两周的时间,基本弄清了它的运行机制。然而,在尝试提取相关代码时发现难度很大:文件数量庞大、条件编译复杂且依赖库众多。 为了分享这段时间的研究成果并与其他正在探索Wireshark功能的朋友进行交流,我将以流程图的形式展示我的研究结果(更多地是为了促进讨论和经验共享)。如果其中有任何不准确或错误的地方,请大家指正。如果有帮助到其他人则是最好不过了。需要注意的是:此流程图是在指定抓取固定包数的模式下绘制出来的(因为Wireshark源码中的条件抓包方式分为文件及包数两种),命令格式如:./tshark -c 200。 另外,流程图中没有详细列出从Frame到应用层协议(例如HTTP)解析的具体调用关系。这一部分可以通过在相关应用层协议的解析器函数处设置断点来查看详细的调用栈信息,比如对于HTTP可以在b dissect_tcp_http这里打断点,在gdb模式下直接使用bt命令查看即可。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • TShark使VISIO
    优质
    本资料详尽解析了TShark网络协议分析工具的核心源代码,并以清晰的VISIO流程图形式展示其内部工作原理与架构设计。 为了进行码流处理工作,我最近将开源软件Wireshark作为切入点来研究其解析引擎部分。这需要进行全面的源代码编译与分析过程。大约用了两周的时间,基本弄清了它的运行机制。然而,在尝试提取相关代码时发现难度很大:文件数量庞大、条件编译复杂且依赖库众多。 为了分享这段时间的研究成果并与其他正在探索Wireshark功能的朋友进行交流,我将以流程图的形式展示我的研究结果(更多地是为了促进讨论和经验共享)。如果其中有任何不准确或错误的地方,请大家指正。如果有帮助到其他人则是最好不过了。需要注意的是:此流程图是在指定抓取固定包数的模式下绘制出来的(因为Wireshark源码中的条件抓包方式分为文件及包数两种),命令格式如:./tshark -c 200。 另外,流程图中没有详细列出从Frame到应用层协议(例如HTTP)解析的具体调用关系。这一部分可以通过在相关应用层协议的解析器函数处设置断点来查看详细的调用栈信息,比如对于HTTP可以在b dissect_tcp_http这里打断点,在gdb模式下直接使用bt命令查看即可。
  • Python制作Visio:Python Visio
    优质
    本项目提供使用Python编程语言自动生成Visio流程图的源代码。通过Python脚本创建和编辑图表文件,简化了复杂业务流程的设计与管理过程。 PythonVisio流程图程序使用Python在Visio文档上创建流程图。开发此程序时采用了Visio 2013标准版、Windows的32位Python 2.7以及win32com的32位版本。运行该程序前,请先启动Visio,选择“新建”,然后选取“基本图”。此时可以执行程序以生成流程图。
  • encode_one_macroblock Visio 表附详
    优质
    本文详细解析了编码过程中的关键步骤——encode_one_macroblock,并通过Visio图表辅助说明,帮助读者深入理解视频编码技术的核心流程。 在使用Visio绘制H.264 JM软件中的流程图时,可以重点关注重要函数encode_one_macroblock。此函数是编码模块的核心部分之一,在处理视频帧的过程中负责对宏块进行编码操作。通过详细分析和可视化该函数的执行过程及涉及的数据流,有助于更好地理解整个视频编码器的工作机制,并为进一步优化提供参考依据。 在绘制流程图时,可以包括以下步骤: 1. 宏块输入 2. 帧内预测或帧间预测选择 3. 变换(如DCT) 4. 量化处理 5. 熵编码 这些步骤是encode_one_macroblock函数执行的主要部分。通过Visio工具将上述过程以图形方式展示出来,可以帮助读者更直观地了解H.264 JM软件中宏块编码的具体流程和细节。
  • ATM使Visio绘制)
    优质
    本资料展示了利用Microsoft Visio软件绘制的ATM操作流程图,清晰直观地呈现了从用户插入卡片到完成交易的每一个步骤。 ATM流程图(使用Visio绘制的)可以提供给需要的人。
  • Wireshark-Tshark命令
    优质
    《Wireshark-Tshark命令解析》是一份详细讲解网络抓包工具Wireshark及其命令行版本Tshark使用的指南,深入剖析其各种高级功能与应用技巧。 Wireshark是一款非常强大的网络数据包分析工具,其前身名为Ethereal。2006年,由于商标问题,Ethereal的主要开发者Gerald Combs离开原团队加入CACE Technologies,并将该项目重新命名为Wireshark。这一变更并未削弱项目的影响力,反而吸引了更多开发者加入,共同推动了Wireshark的发展,使其成为了一个更加成熟、功能更为丰富的网络分析工具。 ### tshark概述 tshark是Wireshark的一个命令行版本,它提供了一系列的功能用于网络数据包捕获和分析。相比图形界面的Wireshark,tshark更适用于自动化脚本编写和大规模数据分析场景。它支持多种操作系统,包括Windows和各种Unix/Linux系统。 ### tshark命令详解 tshark提供了丰富的命令行选项来控制数据包捕获的过程。以下是一些常用的命令行参数及其解释: #### 1. 抓包接口类 - `-i `:设置捕获数据包的网络接口。如果不指定,则默认使用第一个非自环接口。 - `-D`:列出当前系统中存在的所有网络接口。这对于确定具体的网络接口名称非常有用,以便正确使用`-i`参数。 - `-f `:定义捕获过滤器,用于过滤不符合特定条件的数据包。这种过滤器类似于tcpdump中的过滤器。 - `-s `:设置每个捕获的数据包的最大长度。默认值为65535字节。 - `-p`:指示网络接口工作在非混杂模式下,这意味着只捕获发送给该接口的数据包。 - `-B `:设置内核缓冲区的大小,仅适用于Windows平台。 - `-y `:指定数据链路层的类型。如果不指定,则使用默认类型。 - `-L`:列出系统支持的所有数据链路层类型。 #### 2. 抓包停止条件 - `-c `:设置捕获的数据包数量限制。一旦达到指定的数量,tshark就会停止捕获。 - `-a `:设置自动停止捕获的条件,例如按时间、文件大小或文件数量停止。 #### 3. 其他常用参数 - `-d ==,`:定义解码规则,用于解析特定类型的流量。 - `-r `:从指定的文件中读取数据包而不是实时捕获。 - `-R `:定义显示过滤器,用于过滤已捕获的数据包。 - `-w `:将捕获的数据包保存到指定的文件中。 - `-T pdml|psml|ps|text`:设置输出格式,可以选择XML、PSML、简单的文本等格式。 - `-v`:增加详细程度,提供更多关于数据包的信息。 - `-V`:显示版本信息。 ### 示例与实践 - **捕获特定接口上的所有HTTP流量**:`tshark -i eth0 -f http` - **捕获前1000个TCP数据包**:`tshark -i eth0 -c 1000 -f tcp` - **将捕获的数据包保存为文件**:`tshark -i eth0 -w capture.pcap` - **从文件中读取数据包并使用特定过滤器**:`tshark -r capture.pcap -R http.request.method == GET` ### 总结 通过上述介绍可以看出,tshark不仅功能强大,而且灵活度高,非常适合在网络监控和故障排除中使用。无论是简单的数据包捕获,还是复杂的分析任务,tshark都能够胜任。对于那些希望深入研究网络流量或进行自动化测试的用户来说,熟练掌握tshark无疑是非常有益的。
  • 使VISIO创建基础
    优质
    本教程将指导您如何利用Microsoft Visio软件绘制简洁明了的基础流程图,适用于初学者快速掌握流程图制作技巧。 关于制作VISIO的基本流程,以下是如何使用VISIO来创建图表的步骤: 1. 打开Microsoft Visio软件。 2. 选择一个合适的模板开始新的项目或从空白页面进行设计。 3. 使用绘图工具栏添加形状和线条到画布上。可以通过拖拽方式直接在图纸中放置所需的图形,也可以通过搜索框查找特定元素并将其插入文档内。 4. 调整所选对象的位置、大小及颜色等属性以满足需求。 5. 添加文本标签来描述各个部分的功能或者内容信息。 6. 应用样式和主题使图表看起来更加专业且统一风格。 7. 保存作品为visio文件格式或转换成PDF、JPG等形式分享给他人查看。 以上就是关于使用VISIO进行绘图的基础步骤,希望能够帮助到你。
  • 使Winform创建简易(类似Visio
    优质
    本教程指导如何利用Winforms开发工具设计和构建一个简单的流程图应用程序,功能类似于Microsoft Visio,适合初学者入门学习。 Winform实现类似Visio的简单流程图拖拽功能,在.netframework 2.0环境下使用C#编程语言进行开发。
  • Visio
    优质
    Visio流程图表是一种使用Microsoft Visio软件创建的视觉化工具,用于展示和规划业务流程、系统设计及网络结构等,帮助用户清晰表达复杂的信息。 Visio流程图可以在百度网盘下载。文件大小为561MB。 原描述中的软件名称和版本号是:SW_DVD5_Visio_Pro_2013_64Bit_ChnSimp_MLF_X18-61013。