Java之Pcap文件解析(一:Pcap格式分析)
来源:互联网 发布:淘宝怎么免物流发货 编辑:程序博客网 时间:2024/05/16 15:56
前言
需求
本系列文章主要完成以下功能:
1. 对Pcap文件进行解析,并从中提取TCP和UDP会话
2. 从TCP会话中提取出其数据负载信息
软件最终结果
[主界面]
[File 菜单]
[Help 的 About 菜单项,版权声明]
[选择Pcap文件]
[选择输出目录]
[正在解析]
[解析测试1:对pcap1.pcap进行解析]
[解析测试2:对music.pcap进行解析,这是一首音乐]
我们拿其中的一个数据负载信息的txt文件改掉其后缀名,变为.mp3,看看是否能播放音乐
Pcap文件分析
1.Pcap文件结构说明
Pcap文件是wireshark配置脚本文件。可以用Wireshark软件打开。其内容的格式为“Pcap文件头 数据包头数据包数据包头数据包……”,其中Pcap 文件头占24个字节且唯一,即一个Pcap文件中只有一个Pcap文件头。Pcap 数据包头占16字节,其后面紧跟这数据包。数据包中又分为三层,即以太网数据帧(占据14个字节)、IP包头(一般为20字节)、TCP/UDP。
[图1 Pcap文件结构]:
[图2 Pcap文件详细结构图]:
2.TCP 包头
根据上方的结构图,可以知道 TCP 的包头结构,如下:
- Source Port:源端口,16位。 Destination Port:目的端口,16位。 Sequence
- Number:发送数据包中的第一个字节的序列号,32
- Acknowledgment Number:确认序列号,32位。 Data
- Offset:数据偏移,4位,该字段的值是TCP首部(包括选项)长度除以4。
- Flag:标志位,标识TCP不同的控制消息,8 位
- Window:接收缓冲区的空闲空间,16位,用来告诉TCP连接对端自己能够接收的最大数据长度。
- Checksum:校验和,16位。
- Urgent Pointers:紧急指针,16位,只有URG标志位被设置时该字段才有意义,表示紧急数据相对序列号(Sequence Number字段的值)的偏移
[TCP详细结构图]
3.UDP 包头
UDP报头由4个域组成,其中每个域各占用2个字节,具体如下:
- 源端口号
- 目标端口号
- 数据报长度:指包括报头和数据部分在内的总字节数
- 校验值
[UDP详细结构图]
4 0
- Java之Pcap文件解析(一:Pcap格式分析)
- Network学习6_Java之Pcap文件解析(一:Pcap格式分析)
- Java之Pcap文件解析(三:解析文件)
- pcap文件的格式和分析
- PCAP文件存储格式
- Java之Pcap文件解析(二:建立数据结构)
- ns3之PCAP tracing文件命名格式
- ns3之PCAP tracing文件命名格式
- pcap文件解析
- pcap文件解析
- pcap文件分析
- Pyshark分析pcap文件
- pcap文件解析--pcap文件头与包文件头(一)
- pcap文件解析--pcap文件头与包文件头(一)
- pcap文件解析--pcap文件头与包文件头(一)(初级)
- pcap文件解析--pcap文件头与包文件头(一)
- wireshark--pcap包格式分析
- wireshark文件pcap的格式
- 时间复杂度与空间复杂度
- LinearLayout布局中的weight的理解
- hadoop的文件系统
- error C2871: “cv”: 具有该名称的命名空间不存在 解决思路
- js(jQuery)获取时间的方法及常用时间类
- Java之Pcap文件解析(一:Pcap格式分析)
- 摇号条件 断月也可以
- C#中datatable数据切割取部分数据
- 单例模式及单例类的构建
- ES6学习——类语法:继承中的实例构造过程
- java 多用户 B2B2C 商城系统源码
- 解决This Handler class should be static or leaks might occur
- c# FTP文件上传
- graphx操作实例07-degrees和neighbors