我的编程空间,编程开发者的网络收藏夹
学习永远不晚

IP数据包(详解版)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

IP数据包(详解版)

1.IP数据包详解图

2,使用Wireshark抓包

(1)版本——占4位,指IP协议的版本目前的IP协议版本号为4(即IPv4)。
(2)首部长度——占4位,这里的值为20Bytes。
(3)总长度的是56字节。
(4)标识(identification)——占16位,它是一个计数器,用来产生数据包的标识。
(5)片偏移(16位)——较长的分组在分片后某片在原分组中的相对位置,片偏移以8个字节为偏移单位。
(6)生存时间(8位)——记为TTL(Time To Live),表示数据包在网络中可通过的路由器数的最大值。
(7)协议(8位)字段——指出此数据包携带的数据使用何种协议以便目的主机的IP层将数据部分上交给哪个处理进程。
(8)源IP地址,表示数据包从哪里发出。
(9)目的IP地址,表示数据包将要发向哪里。

1.版本

0100 .... = Version: 4

0100是二进制,化成十进制是4(IPv4)

2.首部长度

.... 0101 = Header Length: 20 bytes (5)

这里有一个注意的问题,IP数据包长度并不是固定不变的(20-60 Bytes),但是只有四个比特

二进制1111转换十进制后也才15,如何表示20-60呢?

答案是他的单位是4个字节,15*4=60 Btyes。这里是0101转换后为5,即5*4=20 Btyes。

3.优先级与服务类型

Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)    0000 00.. = Differentiated Services Codepoint: Default (0)    .... ..00 = Explicit Congestion Notification: Not ECN-Capable Transport (0)

这个在日常生活中用的比较少

000 前三位不用
0 表示最小时延,如Telnet服务
0 表示吞吐量,如FTP服务
0 表示可靠性,如SNMP服务
0 表示最小代价
0 不用

4,总长度

Total Length: 56

 总长度=IP头长 + TCP头长+ 真正的业务数据长度

总长度占八位最长为八个1,1111111111111111转换为十进制为65535(64k字节)

所以在传输一个大数据的时候会把数据裁剪分组(很重要)

5,标识符

Identification: 0x00f2 (242)

数据在传输的时候速度不一样,标识符是为了区分数据属于哪一个组

这里的标识符是242

6,标志

Flags: 0x20, More fragments    0... .... = Reserved bit: Not set    .0.. .... = Don't fragment: Not set    ..1. .... = More fragments: Set

第一个0:不使用

第二个0:是否分片,为0分片,为1不分片

第三个0:是否为最后一个片,为1后面还要分片,为0代表是最后1个分片

7,段偏移量 

...0 1011 1001 0000 = Fragment Offset: 2960

就像搬家,如果有太多的行李,一辆车是装不下的,需要几辆车。在传输数据也是一样的,

所能传输的数据长度是有限的,所以要分段。

先ping一个4200字节的包(本来想ping百度的但是百度限制了)

 然后抓一下包

发现一共分成了三段:1514+1514+1282=4310(字节)

一个帧的长度最大为1518字节,但是抓到的只有1514字节,我们抓到的是去掉了前导同步码+帧开始分解符+FCS,所以只有1514字节。

 我们看一下第一个包:

...0 0000 0000 0000 = Fragment Offset: 0

第二个包:

...0 0101 1100 1000 = Fragment Offset: 1480

第三个包:

...0 1011 1001 0000 = Fragment Offset: 2960

8,TTL

Time to Live: 64

 当IP包进行传送时,每个沿途的路由器会将IP包的TTL值减少1。如果TTL减少为0,则该IP包会被丢弃。

win平台命令:tracert

linux平台命令:traceroute

9,协议号

Protocol: UDP (17)

以下是比较常用的协议号:
1 ICMP
2 IGMP
6 TCP
17 UDP
88 IGRP
89 OSPF

10,首部较验和

Header Checksum: 0xaf37 [validation disabled]

这个字段只检验数据报的首部,但不包括数据部分.这是因为数据报每经过一个路由器,都要重新计算一下首都检验和 (生存时间,标志,片偏移等都可能发生变化),不检验数据部分可减少计算的工作量.

11,源地址

Source Address: 10.1.1.1

12,目标地址

Destination Address: 129.111.30.27

完整的IP数据包:

Frame 8: 70 bytes on wire (560 bits), 70 bytes captured (560 bits)Ethernet II, class="lazy" data-src: AddtronT_d9:7c:fd (00:40:33:d9:7c:fd), Dst: Toshiba_cf:d9:cd (00:00:39:cf:d9:cd)Internet Protocol Version 4, class="lazy" data-src: 10.1.1.1, Dst: 129.111.30.27    0100 .... = Version: 4    .... 0101 = Header Length: 20 bytes (5)    Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)    Total Length: 56    Identification: 0x00f2 (242)    Flags: 0x20, More fragments    ...0 0000 0000 0000 = Fragment Offset: 0    Time to Live: 64    Protocol: UDP (17)    Header Checksum: 0xaf37 [validation disabled]    [Header checksum status: Unverified]    Source Address: 10.1.1.1    Destination Address: 129.111.30.27    [Reassembled IPv4 in frame: 9]Data (36 bytes)

来源地址:https://blog.csdn.net/m0_62665450/article/details/127815591

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

IP数据包(详解版)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

阿里云数据库IP详解

阿里云数据库是一款提供高效、安全、稳定的数据存储服务的产品。本文将详细介绍阿里云数据库的IP地址。一、阿里云数据库的简介阿里云数据库是一款提供高效、安全、稳定的数据存储服务的产品。它提供了多种数据库服务,包括关系型数据库、NoSQL数据库、数据仓库等,满足不同用户的需求。阿里云数据库还提供了强大的数据处理能力,支
阿里云数据库IP详解
2023-11-05

golang监听ip数据包的实现步骤(golang纯享版)

本文介绍了在Go语言中监听IP数据包的详细步骤:创建原始套接字设置套接字选项绑定套接字到IP地址接收IP数据包解析IP数据包根据协议类型处理数据包重复接收和解析数据包通过遵循这些步骤,可以利用Go语言开发能够监听和处理IP数据包的强大应用程序。
golang监听ip数据包的实现步骤(golang纯享版)
2024-04-02

Python数据分析之真实IP请求Pandas详解

前言 pandas 是基于 Numpy 构建的含有更高级数据结构和工具的数据分析包类似于 Numpy 的核心是 ndarray,pandas 也是围绕着 Series 和 DataFrame 两个核心数据结构展开的 。Series 和 Da
2022-06-04

Vue打包后不同版本详细解析

vue项目打包是我们日常经常遇到的,下面这篇文章主要给大家介绍了关于Vue打包后不同版本详细解析的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
2022-12-28

Golangfilepath包常用函数详解

本文介绍与文件路径相关包,该工具包位于path/filepath中,该包试图与目标操作系统定义的文件路径兼容。本文介绍一些常用函数,如获取文件绝对路径,获取文件名或目录名、遍历文件、分割文件路径、文件名模式匹配等函数,并给具体示例进行说明
2023-02-03

python 解析网络数据包

1、问题描述网络数据包,我已经使用mitmproxy代理抓取了,但是,数据包有些数据是gzip进行编码的,那么怎么还原成原始报文呢?使用的语言是python。2、网上资料使用的方法,网上有zlib和gzip。使用gzip.decompres
2023-01-31

详解Spring Boot中使用Flyway来管理数据库版本

如果没有读过上面内容的读者,有兴趣的可以一阅。在上面的使用JdbcTemplate一文中,主要通过spring提供的JdbcTemplate实现对用户表的增删改查操作。在实现这个例子的时候,我们事先在MySQL中创建了用户表。创建表的过程我
2023-05-30

wireshark工具详解、数据包抓取分析、使用教程

Wireshark界面 Wireshark查看数据捕获列表 数据包概要信息窗口:描述每个数据包的基本信息。如图,点击某行数据,即可在下方显示该数据包的信息。 1、数据包解析窗口:显示被选中的数据包的解析信息,包含每个数据包的整体信息、数
2023-08-23

go下载指定版本的依赖包图文详解

由于依赖包的每个版本都有一个唯一的目录,所以在多项目场景中需要使用同一个依赖包的多版本时才不会产生冲突,下面这篇文章主要给大家介绍了关于go下载指定版本的依赖包的相关资料,需要的朋友可以参考下
2023-05-18

阿里云服务器IP数量详解

随着互联网技术的快速发展,企业对服务器的需求也在不断增加。而阿里云作为国内领先的云计算服务提供商,其服务器IP数量也是广大用户关注的焦点。本文将对阿里云服务器IP数量进行详细的解析,帮助用户更好地了解阿里云的服务能力。一、阿里云服务器IP数量概述阿里云服务器IP数量是一个动态变化的数据,不同的阿里云服务器实例可能
阿里云服务器IP数量详解
2023-11-13

在linux下升级软件包版本等方法详解

linux环境下,要想查看某个软件(package)是否安装。 rpm包方式安装的,使用 rpm -qa | grep “软件或者包的名字“。 yum方式安装的, yum list installed | grep “软件或者包的名字“。
2022-06-04

编程热搜

目录