Java 解析Pcap文件(2)

本文详细介绍了如何使用Java解析Pcap文件,包括数据链路层的以太网帧解析,IP包及TCP数据段的解析过程,并提供了项目的GitHub地址供参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java 解析Pcap文件(2)

@author:Jingdai
@date:2021.03.11

前面介绍了Pcap文件的结构并对Pcap文件的 Global Header 和 Packet Header进行了解析,接下来就是对Packet Data 即数据链路层的帧进行解析了。

数据链路层解析

Pcap包的Packet Data就是数据链路层的帧,可以根据前面的Packet Header 中的 capLen 字段知道对应的Packet Data 数据的字节数,从而进行读取。这里仅仅以以太网的帧为例进行解析,我们一般用 Wireshark 抓取的包大部分也是以太网的帧。如下图是以太网的帧结构。

在这里插入图片描述

需要注意的是,这里的 Packet Data 的以太网帧没有前同步码和FCS,原因可以参考这篇博客,所以以太网的帧首部就固定为14个字节,6字节的目的MAC地址,6字节的源MAC地址和2字节的协议类型,如果协议类型字段值为0x0800时,代表上层协议是IP。

这里我不解析源MAC地址和目的MAC地址,因为对我的实验没有用,这里我只需要上层协议的类型。

然后据此建立类 FrameHeader,代码如下。


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值