`
keke8614
  • 浏览: 46180 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

CAP文件格式

 
阅读更多

CAP文件格式
1、文件头
00000000h: 58 43 50 00 30 30 32 2E 30 30 32 00 98 5E 29 45 ; XCP.002.002
00000010h: F0 49 02 00 2D 37 3D 02 80 00 00 00 2D 37 3D 02 ;
00000020h: 00 00 00 00 00 00 00 00 2D 37 3D 02 00 00 00 00 ;
00000030h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;
00000040h: 00 00 00 00 00 00 00 00 14 00 04 00 99 9E 36 00 ;
00000050h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;
00000060h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;
00000070h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;
 

文件类型标识  00-02  3字节, 为XCP
版本号: 04-0A  7字节
开始抓包时间 0C-0F  4字节 time_t类型的值
与包数有关的值 10-13  4字节 代表意义不详
与包总长度有关的值 该值重复存储三次 代表意义不详
 
说明:文件头长128字节,数据域从128字节后开始。

2、数据段
00000080h: 18 2F 00 00 00 00 00 00 3C 00 3C 00 00 00 00 00
00000090h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000000a0h: 00 00 00 00 00 00 00 00 FF FF FF FF FF FF 00 40
000000b0h: 9E 00 6A FE 08 06 00 01 08 00 06 04 00 01 00 40
000000c0h: 9E 00 6A FE 0A 02 10 0F 00 00 00 00 00 00 0A 02
000000d0h: 10 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000000e0h: 00 00 00 00
 

微秒数 4字节  从文件头的开始抓包时间开始的微秒数  1微秒=1/1,000,000秒
数据域的长度  2字节  连续重复两次
目的网卡物理地址  6字节
源网卡物理地址    6字节
INTERNET协议标识  2字节  0806为ARP协议, 0800为IP协议
数据域

 
说明:

·每个数据段分头和数据域部分,头长度固定为40字节

·数据域的长度表示的是从网卡目的物理地址开始到一个数据段的字节数

 

 

 

CapFileReader类使用说明
功能:读取ethreal生成的CAP格式的文件内的信息
接口说明
CapFileReader(void);  //默认构造函数
~CapFileReader(void);  //析构函数
bool Open(const char* CapFile);  //打开CAP文件,参数为文件的路径
bool Read();  //读取下一个数据段,达到文件末尾返回false
void Close();  //关闭Cap文件的读取
inline unsigned short DataLength() const;  //得到当前数据段的数据长度,要先调用Read()方法
bool GetSourceMacAddr(char* Buffer, int Length);  //得到当前数据段的源网卡物理地址,要先调用Read()方法
bool GetDestMacAddr(char* Buffer, int Length);  //得到当前数据段的目的网卡物理地址,要先调用Read()方法
bool GetIPHeader(IP_HEADER& ip);  //假设当前数据段的协议是IP协议,获得IP协议的头信息,要先调用Read()方法
bool GetIPData(int HeadLen, char* Buffer, int Length);  //假设当前的数据段的协议是IP协议,获得IP协议的内容,要先调用Read()方法
bool GetInternetData(char* Buffer, int Length);  //得到Internet协议的内容,包括ARP、IP等,要先调用Read()方法
inline time_t GetStartTime() const;  //得到开始抓包的时间
inline unsigned int GetMicroSecond() const;  //得到当前数据段相对开始抓包时间的微秒数,要先调用Read()方法
inline unsigned short GetInternetProtocol() const;  //得到当前数据段的协议标识,要先调用Read()方法
使用示例:
CapFileReader cap;
if (!cap.Open("1.cap"))
{
    printf("File not exists!/n");
    return;
}
IP_HEADER ip;
while (cap.Read())
{
    if (cap.GetInternetProtocol()==PROTOCOL_IP)
    {
        if (!cap.GetIPHeader(ip))
        {
            printf("Get IP Header fail!/n");
            continue;
        }
        if (ip.Proto == PROTOCOL_TCP)
        {
            printf("TCP/n");
        }
        else if (ip.Proto == PROTOCOL_UDP)
        {
            printf("UDP/n");
        }
        else
        {
            printf("IP/n");
        }
    }
    else if (cap.GetInternetProtocol()==PROTOCOL_ARP))
    {
        printf("ARP/n");
    }
    else
    {
        printf("unknown/n");
    }
}
cap.Close();

分享到:
评论

相关推荐

    解析cap文件

    .cap文件格式** .cap文件是Wireshark和Tcpdump等工具默认使用的数据包捕获文件格式,它包含了时间戳、网络接口信息和原始数据包内容。这些信息可以被Wireshark等软件读取并解析,展示成易于理解的格式。 **4. ...

    华硕cap格式bios转bin格式软件

    华硕cap格式bios转bin格式bios工具 转换后的文件可以直接用刷bios软件刷入 也可以直接用编程器刷入 转换后的bios也称之为编程器版本bios 刚刚修好一块华硕主板,幸亏找到华硕cap转bin bios的软件,不然华硕官网下载...

    CAP文件解析

    在java中对.cap文件的解析。前提需要一个JCDK的工具包。在oracle官网中可以下载,搜索java card。我用的是:JCDK3.0.4_ClassicEdition。在bin中的scriptgen.bat中需要改动set JAVA_HOME=jdk的地址,我用1.6jdk的。...

    cap文件解析API

    【cap文件解析API】是一种专门用于处理网络数据捕获(sniffer)的接口,它能够解析cap格式的文件,这是网络封包分析中常见的文件格式。Cap文件通常包含在网络监控、故障排查或性能分析中捕获的数据包信息。API的设计...

    cap或pcap文件

    CAP或PCAP文件,是一种广泛用于网络数据包捕获的标准文件格式。这种格式最初由Network Associates为他们的Sniffer Pro产品设计,后来被Wireshark等众多网络分析工具采纳。CAP和PCAP文件主要用于存储通过网络接口卡...

    华硕24mb bios主板分离8+16mbBIOS提取两个BIOS芯片文件华硕官网BIOS提取软件cap转bin去文件头编程器

    总的来说,这个过程涉及到了华硕主板的双BIOS设计、BIOS刷写的风险、BIOS恢复技术、编程器的使用、文件格式转换以及相关的软件工具操作。对于非专业人士来说,这是一项复杂且需谨慎操作的任务,因为错误的操作可能...

    方便UDP网络抓包cap文件

    `capwenjian`这个压缩包文件提供了专门用于UDP网络抓包的`.cap`文件,这是一种常见的网络封包分析文件格式,通常由网络抓包工具如Wireshark生成。 首先,`.cap`文件是Wireshark使用的捕获文件格式,它包含了网络...

    华硕主板BIOS CAP格式转BIN格式

    这两种格式各有特点,CAP是华硕特有的BIOS更新文件格式,而BIN格式是一种通用的二进制文件格式,更适合于编程器读取和烧录。 当我们遇到编程器不能识别CAP文件或者烧写CAP文件后主板无法正常启动的情况时,就需要...

    cap文件中提取rtp包源码

    1.cap文件是通用的抓包文件格式,windows下的ethereal和Linux下的tcpdump所抓的包均为CAP文件的格式。 2.本代码解析cap文件,提取指定类型的数据包,写入文件。 3.文件格式为:4字节长度(小头)+包内容

    cap转pcap格式的C实现

    Linux平台下cap格式数据包转成pcap格式(用Wireshark工具查看)数据包。

    JavaCard简介(中文版).doc

    总之,Java Card技术为智能卡和其他资源有限的设备提供了运行Java程序的能力,通过精心设计的Java Card虚拟机和CAP文件格式,实现了跨设备的代码移植性,简化了开发和部署流程。这对于智能卡行业的软件分发和管理...

    史上最全的数据包,cap文件

    bgp-con-nexthop-before.cap bgp-con.cap bgp-in.cap bgp-no-nei.cap bgp-simple.cap DHCP Client.cap dot1x-error.cap dot1x-login.cap dot1x-logina.cap eapol or eap or nbns-dot1x.cap gmrp.cap gvrp.cap h3...

    将cap3文件转换成fasta格式

    在window DOS命令行下进入到文件所在目录 输入命令 java -jar cap32fasta.jar 如果运行出现内存不足的错误,则是由于要处理的文件太大引起的请 输入命令 java -jar -Xms128m -Xmx512m cap32fasta.jar

    WPA/CAP文件跑包工具高速跑包新版

    WPA/CAP无线跑包工具高速跑包、选择字典和CAP文件然后点开始跑包即可方便又简单小巧又实用速度超快,无广告无捆绑无毒软件绿色环保!

    javacard_cap文件.doc

    `javacard_cap文件`是Java Card应用程序的主要打包格式,它包含了用于在Java Card设备上运行的类和资源。本文将深入探讨Java Card应用程序开发过程以及与之相关的知识点。 1. **Java Card开发流程** - **编写源...

    CAP文件

    我的CAP文件,2011年5月20日上传。

    华硕VivoTab Smart ME400C最新BIOS更新文件

    CAP文件格式是华硕特有的,用于存储和传递BIOS更新信息。这个文件会替换原有的BIOS以实现更新。 2. me400c.cat:这是一个安全证书文件,用于验证BIOS更新文件的完整性和安全性。系统在进行BIOS升级时,会检查这个...

    pcap转cap格式的C实现

    Linux平台下pcap格式数据包转成cap格式(用Iris工具查看)数据包。

Global site tag (gtag.js) - Google Analytics