Wireshark 数据分析(一)

pcap包的结构

pcap数据包由 pcap文件头packet包头 和 packet数据 组成如图所示(其中packet数据包也就是一帧以太帧):

这里写图片描述

 

Pcap文件头24 byte, 各字段说明:

  • Magic (标识位) 
    4 byte:这个标识位的值是16进制的 0xa1,0xb2,0xc3,0xd4 (正序)用来标示文件的开始。若为逆序(0xd4,0xc3, 0xb2, 0xa1)则需要将后面的Packet Header进行逆序处理

  • Major(主版本号):2 byte, 默认值 0x02, 0x00

  • Minor(副版本号):2 byte,默认值0x04, 0x00

  • ThisZone(区域时间):4 byte当地的标准时间;全零

  • SigFigs(精确时间戳): 4 byte时间戳的精度;全零1

  • SnapLen(精确时间戳) 
    4 byte, 最大的存储长度, 该值设置所抓获的数据包的最大长度,如果所有数据包都要抓获,将该值设置为65535;例如:想获取数据包的前64字节,可将该值设置为64

  • LinkType(链路层类型):4 byte链路类型, 数据包的链路层包头决定了链路层的类型

 

Packet包头(16 byte)各字段说明

这里写图片描述

  • Timestamp: 时间戳高位,精确到seconds , 4 byte , 32位。 秒计时,一个UNIX格式的精确到秒时间值,用来记录数据包抓获的时间,记录方式是记录从格林尼治时间的1970年1月1日 00:00:00 到抓包时经过的秒数

  • Timestamp:4 byte , 时间戳低位,精确到microseconds 微秒值

  • Caplen:4 byte,当前数据区的长度,所抓获的数据包保存在pcap文件中的实际数据帧长度,由此可以得到下一个数据帧的位置

  • Len: 4 byte,离线数据长度:网络中实际数据帧的长度,一般不大于caplen,多数情况下和Caplen数值相等。如果文件中保存不是完整的数据包,那么这个值可能要比前面的数据包长度的值大。(note: 
    编程未采用)

 

Packet数据(不定长)

即 Packet(通常就是链路层的数据帧去掉前面用于同步的前导码和标识帧开始8字节的帧开始符和最后用于CRC校验4字节的帧校验序列)具体内容,长度就是Caplen,这个长度的后面,就是当前PCAP文件中存放的下一个Packet数据包,可以确定下一组数据在文件中的起始位置

这里写图片描述 
这里写图片描述 
这里写图片描述


关于以太帧数据包中Frame、Ethernet层、IP层的分析请见Wireshark 数据分析(二)

关于以太帧数据包中 TCP 分析请见Wireshark 数据分析(三)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值