IPv4协议二进制实例分析

2024-05-15 19:18

本文主要是介绍IPv4协议二进制实例分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

下面是用wireshark捕获的一段报文:

 

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

P

1

01

00

5e

40

98

8f

dc

0e

a1

21

1d

8c

08

00

45

00

2

00

a4

56

23

00

00

ff

11

06

97

0a

6c

cb

d2

ef

c0

3

98

8f

1a

73

1a

73

00

90

d7

8c

42

54

2d

53

45

41

4

52

43

48

20

2a

20

48

54

54

50

2f

31

2e

31

0d

0a

5

48

6f

73

74

3a

20

32

33

39

2e

31

39

32

2e

31

35

6

32

2e

31

34

33

3a

36

37

37

31

0d

0a

50

6f

72

74

7

3a

20

36

38

38

31

0d

0a

49

6e

66

6f

68

61

73

68

8

3a

20

34

35

30

61

64

65

62

63

38

39

35

62

34

61

9

65

37

66

65

35

64

38

34

66

34

64

31

31

37

65

31

10

66

34

62

37

36

64

30

36

31

30

0d

0a

63

6f

6f

6b

11

69

65

3a

20

63

38

61

39

36

39

61

35

0d

0a

0d

0a

12

0d

0a

 

 

 

45

1O:IP版本号和首部长度,即:01000101,其中0x4表示版本号是IPv4,0x5表示首部长度是5x4B=20B

 

 

00

1P:区分服务,只在使用区分服务的时候才使用,这里没有使用

 

 

00

a4

2A~2B:总长度,这里表示为164字节,正好是从1O到12B的字节总数

 

 

56

23

2C~2D:标识,这个数是发送方产生的计数器的数

 

 

00

00

2E~2F:标志和片偏移,即0x0000 00000000 0000,其中第一个bit0表示后面没有分片的ip报了,第二个bit0表示这个数据包允许底层协议栈进行分片,第三个bit0暂时没有意义,后面十三个bit0是片偏移字段,这里表示偏移量为0,说明这个IP数据包如果是分片的话就是第一个,又由于前面说明后面没有分片了,所以这是一个没有分片的IP报。

 

 

ff

2G:生存时间TTL,这里表示255,即这个报文当前的状态还可以经过255个路由器的跳跃,因为这个是抓的同一层的宿舍楼的IP报还没有经过路由器转发

 

 

11

2H:协议,这里是0x11,自己猜测这是在表示数据时UDP报文,因为这个数据报在wireshark上面显示的是UDP报文

 

 

06

97

2I~2J:首部检验和,使用方法,将首部的字段(现在是标准的20B)按16bit位一组求反码运算和,然后再去反码,看结果为0则检查通过,否则不同过,丢弃这个数据包,这里不再进行演算。

 

 

0a

6c

cb

d2

2K~2N:源地址,即IP:10.108.203.210

 

 

ef

c0

98

8f

2O~3B:目的地址,即IP:239.192.152.143

 

 

 

 

向后都是IP报的数据部分了,其中是UDP的数据,这里不再向下深究,注意这里MAC镇后面没有4个字节的FCS(帧检查序列)


这篇关于IPv4协议二进制实例分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/992687

相关文章

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者

MOLE 2.5 分析分子通道和孔隙

软件介绍 生物大分子通道和孔隙在生物学中发挥着重要作用,例如在分子识别和酶底物特异性方面。 我们介绍了一种名为 MOLE 2.5 的高级软件工具,该工具旨在分析分子通道和孔隙。 与其他可用软件工具的基准测试表明,MOLE 2.5 相比更快、更强大、功能更丰富。作为一项新功能,MOLE 2.5 可以估算已识别通道的物理化学性质。 软件下载 https://pan.quark.cn/s/57

衡石分析平台使用手册-单机安装及启动

单机安装及启动​ 本文讲述如何在单机环境下进行 HENGSHI SENSE 安装的操作过程。 在安装前请确认网络环境,如果是隔离环境,无法连接互联网时,请先按照 离线环境安装依赖的指导进行依赖包的安装,然后按照本文的指导继续操作。如果网络环境可以连接互联网,请直接按照本文的指导进行安装。 准备工作​ 请参考安装环境文档准备安装环境。 配置用户与安装目录。 在操作前请检查您是否有 sud

C++操作符重载实例(独立函数)

C++操作符重载实例,我们把坐标值CVector的加法进行重载,计算c3=c1+c2时,也就是计算x3=x1+x2,y3=y1+y2,今天我们以独立函数的方式重载操作符+(加号),以下是C++代码: c1802.cpp源代码: D:\YcjWork\CppTour>vim c1802.cpp #include <iostream>using namespace std;/*** 以独立函数

【Linux】应用层http协议

一、HTTP协议 1.1 简要介绍一下HTTP        我们在网络的应用层中可以自己定义协议,但是,已经有大佬定义了一些现成的,非常好用的应用层协议,供我们直接使用,HTTP(超文本传输协议)就是其中之一。        在互联网世界中,HTTP(超文本传输协议)是一个至关重要的协议,他定义了客户端(如浏览器)与服务器之间如何进行通信,以交换或者传输超文本(比如HTML文档)。

线性因子模型 - 独立分量分析(ICA)篇

序言 线性因子模型是数据分析与机器学习中的一类重要模型,它们通过引入潜变量( latent variables \text{latent variables} latent variables)来更好地表征数据。其中,独立分量分析( ICA \text{ICA} ICA)作为线性因子模型的一种,以其独特的视角和广泛的应用领域而备受关注。 ICA \text{ICA} ICA旨在将观察到的复杂信号

实例:如何统计当前主机的连接状态和连接数

统计当前主机的连接状态和连接数 在 Linux 中,可使用 ss 命令来查看主机的网络连接状态。以下是统计当前主机连接状态和连接主机数量的具体操作。 1. 统计当前主机的连接状态 使用 ss 命令结合 grep、cut、sort 和 uniq 命令来统计当前主机的 TCP 连接状态。 ss -nta | grep -v '^State' | cut -d " " -f 1 | sort |

【软考】希尔排序算法分析

目录 1. c代码2. 运行截图3. 运行解析 1. c代码 #include <stdio.h>#include <stdlib.h> void shellSort(int data[], int n){// 划分的数组,例如8个数则为[4, 2, 1]int *delta;int k;// i控制delta的轮次int i;// 临时变量,换值int temp;in