本人最近正在研究IM通信协议内容。前面有幸联系到kanxue前辈,直接请教了一番确实受益匪浅!大大提高了研究进度。现在把初步分析结果公布出来一方面感谢kanxue前辈的大力支持,另一方面也是抛砖引玉希望看雪论坛的高手多多指教!
同时要特别感谢rgbsky关于QQ登录协议的分析贴(http://bbs.pediy.com/showthread.php?t=62660&highlight=QQ+%E5%8D%8F%E8%AE%AE),对于我的分析有极大帮助!(这也是kanxue前辈推荐的。)
目前使用较多的网络协议分析工具是Sniffer,抓包之后保存抓包文件为*.cap文件。本帖子主要是介绍该CAP文件格式,打个基础为后面的分析做准备。我们后面介绍的网络协议分析过程都是针对这种*.cap文件进行的。
使用工具:
Sniffer Pro 4.70.530
WinHex
PETools
大体上我把CAP文件分成两个部分:
01.Sniffer头部:包含整个CAP文件的基本信息。大小为128B(0000-007F)。
02.数据包部分:包含多个数据包单元。
每个包含两部分:01.Sniffer 包头。包含Sniffer提供的抓包时间和包总大小等信息。
02.数据包内容。
★ 这里的数据说明顺序按照网络顺序。
Sniffer头部详细信息:
0000 - 0003: 58 43 50 00 -> XCP. 为CAP包文件头。可以用于判断打开文件是否为合法CAP文件。
0004 - 000B: CAP文件版本号。
000C - 000F: 开始抓包时间。为time_t类型数据。样本中为:C8 BB A7 49 通过PETools中的Time/Date Stamp转换可以看到日期时间如图01。
0010 - 0013: 整个文件中的数据包个数。样本中为:07 02 00 00 -> 共519包。
0014 - 007F: 未知。本次试验没有用到就没有分析了。呵呵。如果有高手做过分析请不吝赐教!
每个数据包的前面都有40B的数据我称之为Sniffer包头,是Sniffer添加的。这里举例分析的是第一个Sniffer包头内容。
偏移量为相对于文件头。
0080 - 0083: 抓取本数据包的时间。这个时间是相对于前面整体抓包时间的增量以微秒为单位。而time_t是从UTC 1970-1-1 0:0:0开始计算并以秒为单位,所以要转换是必须将这个数据除以100万再累加。所以样本中的: DF D0 B8 00 大约对应12秒所以第一个数据包的时间如图2所示。使用Sniffer打开数据包可以看到该结果正确。唯一的不同是Sniffer显示的是本地时间。注意到上述问题写程序解析就没问题了。我个人认为Sniffer这样的设计应该是为了精确表示抓包时间,因为现在网速越来越快,每秒中可能会有几百上千个数据包流过。如果用秒做单位显然不够精确。
0088 - 0089: 表示该数据包的实际大小。
0090 - 0091: 同样表示该数据包的实际大小。用两个WORD表示可能是为了占位。呵呵。
Sniffer包头的后续部分都是0,在目前得到的样本中一般都是0。可能是给未来使用留下的。
目前我使用的解析CAP文件的方法是:
01、首先判断输入文件是否为合法的CAP文件。
02、读取开始抓包时间保存下来,为计算做准备。
03、读取文件中的总数据包个数,用于后续的循环控制。
04、进入循环后首先读取该包的抓包时间增量和包实际大小。分配内存读取数据包开始分析。
补充说明:提供的QQ.cap文件为了安全只有提供一个数据包。不过Sniffer依然可以正常打开该文件。
转载:http://bbs.pediy.com/showthread.php?t=83036
分享到:
相关推荐
【cap文件解析API】是一种专门用于处理网络数据捕获(sniffer)的接口,它能够解析cap格式的文件,这是网络封包分析中常见的文件格式。Cap文件通常包含在网络监控、故障排查或性能分析中捕获的数据包信息。API的设计...
这种格式最初由Network Associates为他们的Sniffer Pro产品设计,后来被Wireshark等众多网络分析工具采纳。CAP和PCAP文件主要用于存储通过网络接口卡捕获的数据包,以便于后续的分析和研究。 #### 文件结构概览 一...
1. 文件读取:读取Sniffer生成的原始数据文件,通常为pcap或cap格式。 2. 数据解码:将原始的二进制数据转换为可读的格式,如IP地址、端口号、协议类型等。 3. 数据过滤:根据需要关注的条件(如特定IP地址、端口或...
通过分析CAP文件,管理员可以详细了解网络通信的模式,识别错误和异常活动,评估安全风险。例如,通过对CAP文件的分析,管理员可以发现并应对网络嗅探、拒绝服务(DoS)攻击等网络威胁。 《SnifferPro4 中文官方教程...
通过这款软件,用户可以实时监控蓝牙设备的数据传输,捕获并解析蓝牙协议栈中的每一层数据包,包括L2CAP(Logical Link Control and Adaptation Protocol)、ACL(Asynchronous Connection-Less)以及BLE(Bluetooth...
1. **学习sniffer程序(IRIS)的使用方法,掌握如何分析特定类型的报文格式。** - **重点掌握内容**:学会使用IRIS工具,能够识别并解析不同类型的网络报文格式。 2. **熟悉各种网络报文格式的组成和结构。** - **...
BLE基于蓝牙核心规范4.0及以上版本,其架构包括物理层(PHY)、链路层(LL)、主机控制接口(HCI)、逻辑链路控制和适应协议(L2CAP)、属性协议(ATT)以及通用属性配置文件(GATT)。SmartRF Packet Sniffer_BLE...
1. **蓝牙协议解析**:nrf_sniffer_V3_0能够识别和解析蓝牙的LL(Link Layer)、L2CAP(Logical Link Control and Adaptation Protocol)、ATT(Attribute Protocol)和GATT(Generic Attribute Profile)等层的通信...
针对局域网arp欺骗使他人断网,从而被人发现的问题,增加了数据包转发...包括QQ号码,以及指定IP的所有网络数据通讯,并将数据包以.cap文件的格式保存,以待进一步分析。本软件属原创,请在主机网卡的压力范围内使用。
Sniffer Pro 4.7使用说明和应用讲解集合,包括厂家提供的中文版使用手册,应该是目前最全的文档集合,包内文件清单如下: ----------------------------------------------- F:\snifferDocs 的目录 2003-04-30 17:...
sudo "/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport" sniff 10 它将转储写入位于/ tmp /的.cap文件中。 要找出网络上使用的频道号,请按住Alt ,然后单击wifi图标...
该对话框用于打开已有的工程文件和数据包文件,支持多种格式,包括科来网络分析系统的cscproj、cpf、cscpkt、rawpkt,以及Sniffer Pro和Etherpeek的cap、pkt文件。通过此功能,用户可方便地导入其他网络分析软件的...