当前位置: 首页 > news >正文

Pcap文件的magic_number

1. 简述

pcap文件头中的magicNum是来标识pcap文件文件头和包头字节序和应用是否一致的。
在标准情况下为0xa1b2c3d4。如果相反则说明需要调换字节序。

一般格式

Global Header
Packet Header
Packet Data
Packet Header
Packet Data
....
  • pcap文件头格式
typedef struct pcap_hdr_s {guint32 magic_number;   /* magic number */guint16 version_major;  /* major version number */guint16 version_minor;  /* minor version number */gint32  thiszone;       /* GMT to local correction */guint32 sigfigs;        /* accuracy of timestamps */guint32 snaplen;        /* max length of captured packets, in octets */guint32 network;        /* data link type */} pcap_hdr_t;
  • pcap报文头格式
typedef struct pcaprec_hdr_s {guint32 ts_sec;         /* timestamp seconds */guint32 ts_usec;        /* timestamp microseconds */guint32 incl_len;       /* number of octets of packet saved in file */guint32 orig_len;       /* actual length of packet */} pcaprec_hdr_t;

2. magicNum对照

不同应用也可以自己写入不同的magicNum,这里说的主要是pcap自己的格式。

2.1 pcapng

pcapng即pcap next generation,s是pcap新的格式扩展。
它对应的magic number为0a0d0d0a

2.2 mpcap

magicNum为0xa1bcd34, 包头也得到了相应的扩充,多了八个字节。

结构体定义就变成了这样

typedef struct pcaprec_modified_hdr {struct pcaprec_hdr_s pcaphdr;	/* the regular header */uint32_t ifindex;	/* index, in *capturing* machine's list ofinterfaces, of the interface on which thispacket came in. */uint16_t protocol;	/* Ethernet packet type */uint8_t pkt_type;	/* broadcast/multicast/etc. indication */uint8_t pad;		/* pad to a 4-byte boundary */
} mpcaprec_hdr_t;

2.3 npcap

支持纳妙捕获精度的时间戳,Libpcap 1.5之后的可以读取这种文件。
对应的magic number为0xa1b23c4d

2.4 其他

  • Nokia pcap
  • AIX
  • IXIA

有些应用会更改这个pcap的值,就参考tsharktshark magic number了。

参考

  • libpcap format
  • tshark magic number
http://www.lryc.cn/news/1792.html

相关文章:

  • MDS75-16-ASEMI三相整流模块MDS75-16
  • 基本TCP编程
  • 【沁恒WCH CH32V307V-R1开发板读取板载温度实验】
  • 学习SpringCloudAlibaba(二)微服务的拆分与编写
  • 通过对HashMap的源码分析解决部分关于HashMap的问题
  • 【无标题】
  • 渗透测试 -- 网站信息收集
  • Windows 搭建ARM虚拟机 UOS系统
  • day58每日温度_下一个更大元素1
  • 超清遥感影像语义分割处理
  • RabbitMQ安装及配置
  • 网络协议(四):网络互联模型、物理层、数据链路层
  • 请问有没有关于数据预测的方法?
  • [CVPR 2021] Your “Flamingo“ is My “Bird“: Fine-Grained, or Not
  • clickHouse笔记
  • 10.jQuery中请求预处理 $.ajaxPrefilter()
  • 【黄啊码】浅谈PHP入门|如何学习PHP
  • 人大金仓数据库的归档日志
  • C++:类和对象(上)
  • 数据库 与 数据仓库的本质区别是什么?
  • 数据库实践LAB大纲 05 JDBC 连接
  • Linux部署nuxt3
  • 鸟哥的Linux私房菜读书笔记:文件系统的简单操作
  • 论如何用python自动下载爱的妹子视频~嘿嘿嘿~
  • 传奇GOM引擎配置PAK密码补丁教程
  • 邀您参赛!DCIC 2023「科技金融欺诈风险识别」算法赛正在报名中
  • ElasticSearch-学习笔记04【Java客户端操作索引库】
  • 低代码开发平台|制造管理-工艺工序搭建指南
  • Window 安装 Docker
  • 最近很火的一部电视(狂飙)像安欣和高启强这样类型的人,谁更合适做软件测试工程师