pcapng 文件解析_解析pcap文件及读取实现源码

本文介绍了pcap文件的格式,包括文件头和Packet包头的详细字段说明,并提供了用C语言实现的pcap文件解析源码,用于读取和打印pcap文件中的数据包信息。
摘要由CSDN通过智能技术生成

下面pcap文件格式介绍是在网上转的,根据理解,写了个程序来进行解析pcap文件,后续再实现合并pcap功能(wireshark已经自带命令行合并pcap文件工具,在这里只是为了分析pcap文件和学习)。

==========================

默认的*.pcap文件保存格式。

Pcap文件头24B各字段说明:

Magic:4B:0x1A 2B 3C 4D:用来标示文件的开始

Major:2B,0×02 00:当前文件主要的版本号

Minor:2B,0×04 00当前文件次要的版本号

ThisZone:4B当地的标准时间;全零

SigFigs:4B时间戳的精度;全零

SnapLen:4B最大的存储长度

LinkType:4B链路类型

常用类型:

0            BSD loopback devices, except for later OpenBSD

1            Ethernet, and Linux loopback devices

6            802.5 Token Ring

7            ARCnet

8            SLIP

9            PPP

10           FDDI

100         LLC/SNAP-encapsulated ATM

101         “raw IP”, with no link

102         BSD/OS SLIP

103         BSD/OS PPP

104         Cisco HDLC

105         802.11

108         later OpenBSD loopback devices (with the AF_value in network byte order)

113         special Linux “cooked” capture

114         LocalTalk

Packet包头和Packet数据组成

字段说明:

Timestamp:时间戳高位,精确到seconds

Timestamp:时间戳低位,精确到microseconds

Caplen:当前数据区的长度,即抓取到的数据帧长度,由此可以得到下一个数据帧的位置。

Len:离线数据长度:网络中实际数据帧的长度,一般不大于caplen,多数情况下和Caplen数值相等。

Packet数据: 即 Packet(通常就是链路层的数据帧)具体内容,长度就是Caplen,这个长度的后面,就是当前PCAP文件中存放的下一个Packet数据包,也就 是说:PCAP文件里面并没有规定捕获的Packet数据包之间有什么间隔字符串,下一组数据在文件中的起始位置。我们需要靠第一个Packet包确定。 最后,Packet数据部分的格式其实就是标准的网路协议格式了可以任何网络教材上找得到。

========

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值