Pcap文件详解

day3 Pcap文件详解

Pcap Header

每个pcap文件只有一个文件头,总共占24(B)字节,以下是总共7个字段的含义。(一个字节可以由2个十六进制表示)

 

  1. Magic(4B):标记文件的开始,并用来识别文件和字节顺序。值为0xa1b2c3d4或0xd4c3b2a1。0xa1b2c3d4表示是大端模式,按照原来的顺序一个字节一个字节的读;0xd4c3b2a1表示小端模式,后面的字节都要交换顺序。现在的电脑大部分是小端模式。
  2. Major(2B):当前文件的主要版本号,一般为0x0200。
  3. Minor(2B):当前文件的次要版本号,一般为0x0400。
  4. ThisZone(4B):当地的标准事件,如果用的是GMT则全零,一般全零。
  5. SigFigs(4B):时间戳的精度,一般为全零。
  6. SnapLen(4B):最大的存储长度,该值设置所抓获的数据包的最大长度,如果所有数据包都要抓获,将该值设置为65535(0xFFFF); 例如:想获取数据包的前64字节,可将该值设置为64。
  7. LinkType(4B):链路类型。

Packet Header

Pcap文件中可以有多个数据包头,每个数据包头后面都跟着数据包。数据包头则依次为:时间戳(秒)、时间戳(微秒)、抓包长度和实际长度,依次各占4个字节。以下是Packet Header的4个字段含义

 

  1. Timestamp(4B):时间戳高位,精确到秒,这是Unix时间戳。捕获数据包的时间一般是根据这个值
  2. Timestamp(4B):时间戳低位,微秒
  3. Caplen(4B):当前数据区的长度,即抓取到的数据帧长度,由此可以得到下一个数据帧的位置。
  4. Len(4B):离线数据长度,网路中实际数据帧的长度,一般不大于Caplen,多数情况下和Caplen值一样

由于是小段模式,所在电脑实际读到的数据区长度位0x00000042。转换成10进制为16X4+2=66,所以后面66个字节为数据包内容。

 

 

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值