Pcap文件详解

Pcap文件详解

一、简介

  pcap文件是一种常用的数据报存储格式,里面的数据按照特定的规格存储和解析。

  一般来说使用普通的笔记本打开的pcap文件显示的是乱码,所以我们需要使用支持16进制格式的工具去查看该文件,这里使用https://hexed.it/这个在线网站去查看。

二、文件格式

文件格式构成

  pcag文件格式主要是由文件头-数据包头1-数据包1-数据包头2-数据包2这类格式组成。其中文件头只有一个,数据包头和数据包可以有多个,如下图所示。

文件格式构成详情

  每个pcap文件只有一个文件头,里面包含7个字段,总共占24(B)字节。

1.Pcap Header

header fieldsizeexplain
Magic 4B 标记文件开始,并用来识别文件和字节顺序
Major 2B 当前Pcap文件的主要版本号,一般为0x0200
Minor 2B 当前Pcap文件的次要版本号,一般为0x0400
ThisZone 4B 当地的标准事件,如果用的是GMT则全零,一般全零
SigFlags 4B 时间戳的精度,一般为全零
SnapLen 4B 所抓获的数据包的最大长度
LinkType 4B 数据链路类型

2.Packet Header

header field
size
explain
Timestamp
4B
时间戳高位,精确到seconds
Timestamp
4B
时间戳低位,能够精确到microseconds
Caplen
4B
即抓取到的数据帧长度,由此可以得到下一个数据帧的位置。
Len
4B
实际的数据帧长度

3.Packet Data

  Packet是链路层的数据帧,其长度是Packet Header中定义的Caplen值,所以Packet Data的长度为Caplen。

4.案例

  打开文件后如图所示(这里截取前面的部分)

demo_1

Pcap Header

pacp_header

header field
value
Magic
0XD4C3B2A1
Major
0X0002
Minor
0X0004
ThisZone
0X00000000
SigFlags
0X00000000
SnapLen
0X00040000
LinkType
0X00000001

Packet Header

packet_header

header field
value
Timestamp
0X6279C37B
Timestamp
0X0009EDB4
Caplen
0X00000042
Len
0X00000042

Packet Data

packet_data

  数据包大小为0X00000042 = 66B

posted @ 2022-05-12 16:12  codeMario  阅读(7230)  评论(0)    收藏  举报