CAP文件是比较通用的一种文件格式,基本上大多数抓包软件都支持以此格式将捕获的网络数据包存储下来。
需要说明的是,CAP文件存储下来的,一般都是网络数据帧。不同网络传输协议下的帧格式是有差异的,所以这里以以太网帧作讨论。我所
分析的CAP包是由ethereal抓取的。tcpdump和windump抓的包格式基本一致。CAP文件是全十六进制数据文件而不是文本文件,所以其结构需要分析,由于我并不打算做专门的分析软件,所以我只作对我来说有意义的
一些数据的分析。CAP里面的数据有些地方是和我们常规数据的顺序一样的,有些位置是标准的高位取反,根据该位置表示的数据类型确定。
CAP文件的前24个16进制位是头文件相关的信息我们不用关心,随后紧跟的八个位(后面所有的位都指两个16进制数构成的一个十六进制位,如AC,B8就是两个
16进制位),是抓包的时间戳标记,里面应该包括了年月日和具体到毫秒级别的时间,前4位高低位的互换再乘1000可得到当前的时间精确到秒,后4位是微妙,算法同前面。
随后的8个位是比较重要的,其中前4个是我们抓取到的数据帧长度,同时也关系到我们如何在CAP文件中得到下一组数据帧位置。这四个位
每个的前两位高位取反后表示数据帧的长度,第一组是软件抓取到的数据帧长度,后面一组是网络中实际数据帧的长度。一般来说第一组小于
等于第二组数据。这八个位结束后,就是帧的具体内容,长度就是前面的第一组数,这个长度的后面,就是CAP存的下一组帧数据,也就是说,
CAP文件里面并没有规定捕获的帧数据之间有什么间隔字符串,我们需要靠第一组数确定,下一组数据在文件中的起始位置。
下面的内容其实应该算是TCP/IP书里的标准内容,不过我还是继续写吧。
我们接着讲后面负载的内容,6位的目标MAC地址,6位的源MAC地址,然后二位是三层协议类型,一般来说,我们关心的可能只有0800这代
表IP,随后一位是IP协议的版本号,45表示的是V4版本,后一位是差分服务表示位,然后两位是IP包长度,这一长度包括了IP包头,随后两位
是鉴别代码,随后的标志第一个是数据分段标志,表示是否对数据进行分拆,00表示没有设置,40表示设置为不拆分。随后一位是拆分偏移量,
对于没有拆分的数据没有意义就是00。随后一位有名的time to live值,不用多说,随后一位是四层协议类型,TCP就是06,UDP是11,随后两
位是头校验码,知道的人都懂。
随后四位就是我们的源IP地址,接着四位是目标IP地址,这8位也是属于IP包头的。随后两位是源端口,接着两位是目的端口(不管是TCP
还是UDP)
下面要区分的说,如果是TCP的话,
随后的两个四位数据分别是会话序号和回应序号,如果回应序号为0,很多时候意味着这是一个SYN,不过SYN专门有标志。接下来一位是
TCP包头长度。这个长度由源端口开始算。再接下来一位就是应答标志位,如果是02表示是SYN,如果是12则表示是SYN,ACK,如果是10则表示
是ACK。然后的两位是WINDOW SIZE,然后两位是TCP包头的校验。
再接下来就是TCP包的负载内容了,这根据上层应用来说就更为复杂,这里不详细讨论。
接着说,如果是UDP包,端口号过了直接就是包负载长度两位长和UDP包头校验码两位长,然后就是UDP包负载的内容了。
转载:http://www.diybl.com/course/3_program/java/javajs/20100107/187757.html
分享到:
相关推荐
#### 数据包结构 每个数据包由数据包头和数据包内容构成。数据包头是固定的16字节,包含了数据包的时间戳和长度信息。 ```c struct pcaprec_hdr { unsigned int ts_sec; // 时间戳的秒部分 unsigned int ts_usec...
数据包结构 每个数据包的结构如下: - **数据包头**:长度固定为16字节。 - **数据包内容**:长度不固定,由数据包头中的信息确定。 #### 4. 数据包头结构 数据包头结构如下: ```c struct pcaprec_hdr { ...
CAP文件格式,通常关联于网络抓包工具,如...理解和创建CAP文件需要对网络协议、数据包结构以及libpcap文件格式有深入的了解。通过使用正确的工具和方法,你可以创建自己的CAP文件以供分析或与其他网络分析工具交互。
Cap文件通常包含在网络监控、故障排查或性能分析中捕获的数据包信息。API的设计和实现是为了解析这些数据,从中提取网络通信的细节,例如源IP、目标IP、端口号、传输层协议(如TCP或UDP)、数据包的时间戳以及数据...
通过分析`.cap`文件,我们可以深入理解GOOSE数据包的结构、内容以及它们在网络中的传输过程。 一个GOOSE数据包的结构主要包括以下几个部分: 1. **MAC头**:包含源和目标设备的物理地址,用于指导数据包在局域网中...
实验使用Wireshark网络分析软件和实验文件“计算机网络实验.cap”,记录了204个分组的网络通信记录。 TCP数据报结构是一个很重要的知识点。 TCP数据报由首部和数据两部分组成。首部的前一部分是固定长度,共20字节...
本压缩包包含了一个名为“snmpv1.cap”的文件,这通常是一个网络抓包文件,可能使用Wireshark或类似的网络分析工具捕获,用于分析和理解SNMP通信的过程。 网络抓包是网络故障排查和性能优化的重要手段。通过抓取...
在提供的压缩包文件中,我们看到了不同类型的STP协议数据包: 1. `packet-c.cap`:可能包含通用的STP数据包,包括BPDU和其他相关信息。 2. `rpvstp-trunk-native-vid1.pcap.cap`:这个文件可能涉及Rapid PVST+(Per...
2. 将iPhone上的tcpdump数据包文件(通常是`.cap`格式)传输到Linux系统。 3. 运行fixpkt工具,指定输入的原始数据包文件和输出的转换后文件。例如:`fixpkt input_file.cap output_file.pcapng` 4. 使用Wireshark...
`snmp1.cap`可能是捕获的SNMPv1数据包,可以用于分析其报文结构和交互过程。 2. SNMPv2c:作为SNMPv1的增强版,增加了更多的管理对象和改进了错误处理机制。SNMPv2c仍然使用UDP,并且仍存在安全问题,因为它仍然...
通过解析CAP文件,我们可以提取出RTP数据包,进一步分析它们的内容。 接下来,提取RTP数据并转换为WAV文件的过程涉及以下步骤: 1. **封包解析**:首先,我们需要读取CAP文件,解析出RTP数据包。这通常需要理解...
总的来说,这些数据包文件为分析和理解STP、RSTP和MSTP的工作原理提供了实际案例,对于网络工程师来说是宝贵的教育资源。通过深入研究这些数据包,可以更深入地了解这些协议如何处理拓扑变化、防止环路、确保链路...
CAP文件通常用于存储网络数据包捕获信息,这类文件在网络安全分析、网络故障排查和性能优化等场景中非常常见。CapFileReader类可能是用来解析这些文件,提取其中的数据包信息,并可能提供方便的接口供用户进行进一步...
pyshark允许我们解析和分析.pcap或.cap文件中的网络数据包,提取关键信息。为了有效地组织和统计这些信息,创建了一个名为Protocol的类,存储每个协议的名称、平均长度、分层信息和出现次数。Python的字典结构用于...
《Android蓝牙结构分析》 Android系统的蓝牙功能是基于Linux内核的蓝牙协议栈构建的,其核心在于Linux蓝牙驱动代码,这部分代码主要集中在bluez框架内。本文将概述Android蓝牙结构,重点关注整体流程,以便对蓝牙...
数据包结构通常包括源地址、目标地址、采样值序列号、时间戳、以及实际的测量值等信息。 "nrkj.smv1.ieccap"和"Zjsy_001.ieccap"这两个文件名很可能代表的是两种不同来源或不同时间点采集的采样值数据包文件。"....
抓包,又称为网络嗅探,是通过特定软件(如Wireshark、 tcpdump等)截取网络中的数据包,以便分析其内容和结构。这些数据包包含了网络通信的所有信息,包括源地址、目的地址、端口号、协议类型以及数据内容等。 在...
7. `-w ./target.cap`:将捕获的数据包保存为`.cap`文件,便于使用Wireshark等工具进一步分析。 `Wireshark`则是一个图形化的网络协议分析器,它允许用户查看捕获的数据包的详细信息,包括协议层次结构、数据内容、...
而 pcap或cap文件是网络抓包文件,它们记录了网络中的数据包详情,包括源地址、目标地址、端口号以及数据包内容等信息,这对于网络分析和故障诊断非常有用。 在使用【rtp2wav】时,首先需要一个包含RTP数据包的网络...