一、pcap文件格式
一共三部分:
①Global Header:文件头(共24bytes),它定义了本文件的读取规则、最大储存长度限制等内容。
- Magic:4Byte:标记文件开始,并用来识别文件自己和字节顺序。0xa1b2c3d4用来表示按照原来的顺序读取,0xd4c3b2a1表示下面的字节都要交换顺序读取。考虑到计算机内存的存储结构,一般会采用0xd4c3b2a1,即所有字节都需要交换顺序读取。
- Major:2Byte: 当前文件主要的版本号,一般为 0x0200【实际上因为需要交换读取顺序,所以计算机看到的应该是 0x0002】
- Minor:2Byte: 当前文件次要的版本号,一般为 0x0400【计算机看到的应该是 0x0004】
- ThisZone:4Byte:当地的标准时间,如果用的是GMT则全零,一般都直接写 0000 0000
- SigFigs:4Byte:时间戳的精度,设置为 全零 即可
- SnapLen:4Byte:最大的存储长度,如果想把整个包抓下来,设置为 ffff 0000,但一般来说 ff7f 0000就足够了【计算机看到的应该是 0000 ff7f 】
- LinkType:4Byte:链路类型,常用类型有以下几种,其他的,需要用的时候再查就行了。
- 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 Header(共 16 Byte) Packet Header可以有多个,每个Packet Header后面会跟着一串Packet Data,Packet Header定义了Packet Data的长度、时间戳等信息。
小端数据存在内存的小端,表示该数据为小端存放。
②Packet Header:可以有多个,每个Packet Header后面会跟着一串Packet Data,Packet Header定义了Packet Data的长度、时间戳等信息。
报文长度,有可能包有2k,但实际只抓到了一半,即1k,len=2k,caplen=1k。
③Packet Data:...
文件结构图例:
二、pcap文件解析API
1.初始化
2.业务处理
需要一个循环来读取每一个报文
3 垃圾回收
报文数量实例:
到此这篇pcap文件格式(pcap 格式)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/haskellbc/38994.html