版权声明:本文为博主原创文章,未经博主允许不得转载。

PCAP文件格式分析(做抓包软件之必备)
一、基本格式:
文件头 数据包头 数据报 数据包头 数据报......
二、文件头结构体:
sturct pcap_file_header
{
DWORD              magic;
WORD                 version_major;
WORD                 version_minor;
DWORD              thiszone;
DWORD              sigfigs;
DWORD              snaplen;
DWORD              linktype;
}
说明:
1、标识位:32位的,这个标识位的值是16进制的 0xa1b2c3d4。
a 32-bit        magic number ,The magic number has the value hex a1b2c3d4.
2、主版本号:16位, 默认值为0x2。
a 16-bit          major version number,The major version number should have the value 2.
3、副版本号:16位,默认值为0x04。
a 16-bit          minor version number,The minor version number should have the value 4.
4、区域时间:32位,实际上该值并未使用,因此可以将该位设置为0。
a 32-bit          time zone offset field that actually not used, so you can (and probably should) just make it 0;
5、精确时间戳:32位,实际上该值并未使用,因此可以将该值设置为0。
a 32-bit          time stamp accuracy field tha not actually used,so you can (and probably should) just make it 0;
6、数据包最大长度:32位,该值设置所抓获的数据包的最大长度,如果所有数据包都要抓获,将该值设置为65535; 例如:想获取数据包的前64字节,可将该值设置为64。
a 32-bit          snapshot length" field;The snapshot length field should be the maximum number of bytes perpacket that will be captured. If the entire packet is captured, make it 65535; if you only capture, for example, the first 64 bytes of the packet, make it 64.
7、链路层类型:32位, 数据包的链路层包头决定了链路层的类型。
a 32-bit link layer type field.The link-layer type depends on the type of link-layer header that the
packets in the capture file have:
以下是数据值与链路层类型的对应表
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
三、数据包头结构体:
struct pcap_pkthdr
{
struct timeval         ts;
DWORD              caplen;
DWORD              len;
}
struct timeval
{
DWORD       GMTtime;
DWORD       microTime
}
说明:
1、时间戳,包括:
秒计时:32位,一个UNIX格式的精确到秒时间值,用来记录数据包抓获的时间,记录方式是记录从格林尼治时间的1970年1月1日 00:00:00 到抓包时经过的秒数;
毫秒计时:32位, 抓取数据包时的毫秒值。
a time stamp, consisting of:
a UNIX-format time-in-seconds when the packet was captured, i.e. the number of seconds since January 1,1970, 00:00:00 GMT (that GMT, *NOT* local time!);  
the number of microseconds since that second when the packet was captured;
2、数据包长度:32位 ,标识所抓获的数据包保存在pcap文件中的实际长度,以字节为单位。
a 32-bit value giving the number of bytes of packet data that were captured;
3、数据包实际长度: 所抓获的数据包的真实长度,如果文件中保存不是完整的数据包,那么这个值可能要比前面的数据包长度的值大。
a 32-bit value giving the actual length of the packet, in bytes (which may be greater than the previous number, if you are not saving the entire packet).

PCAP文件格式分析(做抓包软件之必备)相关推荐

  1. 发一个自己写的抓包软件,支持插件化脚本分析

    市场上的抓包工具已经足够多,轻量级的,重量级的都有,典型的wireshark,smartsniff等, 各有优缺点,PowerSniff是为程序员准备的一款抓包工具,目标是使协议解析插件编写更简单.文 ...

  2. 实验:Wireshark 抓包软件的使用及MAC协议分析

    实验目的 1.理解抓包软件的工作原理: 2.掌握Wireshark软件的安装和使用方法. 3.掌握MAC协议分析的技术与方法 实验任务 1.安装和运行Wireshark软件: 2.使用Wireshar ...

  3. 最强电脑抓包工具Wireshark中文版下载 | 经典电脑抓包软件

    Wireshark中文版是迄今为止最优秀也是世界上最重要和广泛使用的网络协议分析软件,就是大家常说的电脑抓包软件,可以从互联网.IEEE 802.11.PPP/HDLC.ATM.蓝牙.USB.令牌环. ...

  4. 注意:直播盒子接口采集器和直播抓包软件有木马

    很多拥有有直播盒子APP源码的技术员有源码,却没有直播盒子采集接口,于是乎很多有直播盒子源码的朋友就通过搜索引擎搜索:直播盒子采集器.聚合直播接口抓包软件.直播采集软件.直播采集接口之类的关键词,从网 ...

  5. AndroidHttpCapture 网络诊断工具 是一款针对于移动流量劫持而开发的手机抓包软件

    AndroidHttpCapture 项目地址:JZ-Darkal/AndroidHttpCapture 简介:AndroidHttpCapture 网络诊断工具 是一款针对于移动流量劫持而开发的手机 ...

  6. 分析网络抓包用 python 更高效

    Abstract 分析网络抓包用 python 更高效 Authors Walter Fan Category learning note Status v1.0 Updated 2023-01-10 ...

  7. fiddler,他和其他抓包软件有什么区别,如何使用fiddler进行抓包

    前言:本文章是搭配<批量获取微信公众号>一文,介于群里朋友很热情,我就趁着上班测完bug 来撰写该文章,那么读完本文,你会学习到什么呢? 什么是fiddler,他和其他抓包软件有什么区别, ...

  8. 抓包软件:Charles

    修正:手机不必一定连接电脑分享的热点,只需要手机和电脑在同一个局域网下就可以了,手机代理IP设置为电脑的IP. 之前写过一篇通过Wireshark进行抓包,分析网络连接的文章<通过WireSha ...

  9. wireshark 查看端口是否正常_网络抓包软件-Wireshark使用分享

    Wireshark(以前叫Ethereal)是一个网络封包分析软件.网络封包分析软件的功能是抓取网络封包,并尽可能地显示出详细的网络封包信息.Wireshark使用WinPCAP作为接口,直接与网卡进 ...

  10. 九 web爬虫讲解2—urllib库爬虫—实战爬取搜狗微信公众号—抓包软件安装Fiddler4讲解...

    封装模块 #!/usr/bin/env python # -*- coding: utf-8 -*- import urllib from urllib import request import j ...

最新文章

  1. Mysql错误问题:ERROR 1005 (HY000): Can't create table 'crm_1.tbl_client' (errno: 150)
  2. WINCE R3 QQ下载地址
  3. PB_Truncate函数截取小数点引起的数字错误
  4. 通过ITypedList实现数据绑定扁平化
  5. asp.net Forums 之HttpHandler和HttpModule
  6. 怎么用cmd关闭系统弹窗_C盘空间越来越小怎么办?5招帮你解决问题!
  7. 关于服务器虚化的优势,vmware虚化优势.docx
  8. 美团自研无人机登场:15分钟配送到家
  9. 2016年考研数学一真题pdf ​​​
  10. ghostscript的坑
  11. 记录一下Base64 在线编码解码
  12. 用html做自我介绍
  13. office2019安装教程
  14. 微信浏览器内打开App Store链接,并跳转到App指定安装页面
  15. redis cluster 集群 HA 原理和实操(史上最全、面试必备)
  16. C语言初阶第二篇:换我心,为你心,始知C语言 从程序调试到全网最详细字符串教学来喽
  17. 星星之火-31:WCDMA码分多址复用与解复用的数学计算案例
  18. pytorch的训练测试流程总结,以及model.evel(), model.train(),torch.no_grad()作用
  19. 自动化运维神器——Ansible
  20. 24-哈希碰撞攻击是什么?

热门文章

  1. 简单粗暴地理解 JS 原型链
  2. EasyRecovery解救打工人的崩溃
  3. EasyRecovery的工具栏介绍
  4. Red Hat 6 安装 Yum源
  5. 中兴F803/804 ONU实现端口间计算名(基于netbios协议)互通
  6. 百万在线的美拍直播弹幕系统架构实现
  7. JavaScript 小技巧之数组合并
  8. CentOS 6.X配置 NFS以及启动和mount挂载
  9. 原来蒋先生才是中国互联网启蒙第一人!
  10. 「代码随想录」746. 使用最小花费爬楼梯【动态规划】力扣详解!