http报文在各层的长度分析-wireshark报文实战

简介: http报文在各层的长度分析-wireshark报文实战

我们先来看张图,从上往下对应的是OSI七层模型。
在这里插入图片描述
可以看出,传输层给上层数据添加了TCP头部,IP层给TCP层的数据添加了IP头部,数据链路层给数据添加了MAC头部。

接下来,我们通过分析wireshark抓到的http报文,实地分解下http原始报文的长度,以及最终在物理层传递的Frame的长度,中间经过了多少变动。我们实战探究下。

我拿出一个祖传的wireshark报文,如下图所示,我们http层的数据和头部的总长度是931bytes,但是最终到了数据链路层后,传递的包长度变成了了985bytes。这期间它添加了哪些数据呢?
在这里插入图片描述
http的数据是699bytes;http头部是232bytes;tcp头部是20bytes;ip头部是20bytes;数据链路层头部是14bytes。
加起来总共是985bytes。 699 + 232 + 20 + 20 + 14 = 985

我们依次来验证下。

①先看下http原数据:
在这里插入图片描述
感兴趣的同学可以数一下下面的字节数,看是否是699bytes。

②接着看http头部的长度:
在这里插入图片描述
如图,数一下会得出http的header长度是232bytes。另外,请求头里面的Content-Length的数据长度,是不包含header的长度的。

③接着看下tcp头部的长度:
在这里插入图片描述
另外,如下图所示,这个Len指的是上层的报文长度,不包含tcp header的长度。
在这里插入图片描述
④接着看ip头部的长度:
在这里插入图片描述
这个很直白,一看就懂。

⑤接着看下数据链路层的头部长度:
在这里插入图片描述
这个没有数据直接指明,我们数一下是14bytes。

至此我们分析完了报文的长度。

tcp层、ip层的header长度最少都是20bytes,数据链路层的是14bytes,加在一起就是54bytes。

至此你应该对网络分层对数据包的影响,会有一个比较直观的看法了。

如果喜欢记得点赞哦。

相关文章
|
5月前
Netty实战: HTTP文件列表服务器
Netty实战: HTTP文件列表服务器
57 0
|
1月前
|
数据安全/隐私保护 Docker 容器
配置Harbor支持https功能实战篇
关于如何配置Harbor支持HTTPS功能的详细教程。
55 12
配置Harbor支持https功能实战篇
|
1月前
|
分布式计算 Hadoop Devops
Hadoop集群配置https实战案例
本文提供了一个实战案例,详细介绍了如何在Hadoop集群中配置HTTPS,包括生成私钥和证书文件、配置keystore和truststore、修改hdfs-site.xml和ssl-client.xml文件,以及重启Hadoop集群的步骤,并提供了一些常见问题的故障排除方法。
45 3
Hadoop集群配置https实战案例
|
16天前
|
机器学习/深度学习 JSON API
HTTP协议实战演练场:Python requests库助你成为网络数据抓取大师
在数据驱动的时代,网络数据抓取对于数据分析、机器学习等至关重要。HTTP协议作为互联网通信的基石,其重要性不言而喻。Python的`requests`库凭借简洁的API和强大的功能,成为网络数据抓取的利器。本文将通过实战演练展示如何使用`requests`库进行数据抓取,包括发送GET/POST请求、处理JSON响应及添加自定义请求头等。首先,请确保已安装`requests`库,可通过`pip install requests`进行安装。接下来,我们将逐一介绍如何利用`requests`库探索网络世界,助你成为数据抓取大师。在实践过程中,务必遵守相关法律法规和网站使用条款,做到技术与道德并重。
30 2
|
23天前
|
数据采集 网络协议 API
HTTP协议大揭秘!Python requests库实战,让网络请求变得简单高效
【9月更文挑战第13天】在数字化时代,互联网成为信息传输的核心平台,HTTP协议作为基石,定义了客户端与服务器间的数据传输规则。直接处理HTTP请求复杂繁琐,但Python的`requests`库提供了一个简洁强大的接口,简化了这一过程。HTTP协议采用请求与响应模式,无状态且结构化设计,使其能灵活处理各种数据交换。
48 8
|
17天前
|
Python
HTTP协议不再是迷!Python网络请求实战,带你走进网络世界的奥秘
本文介绍了HTTP协议,它是互联网信息传递的核心。作为客户端与服务器通信的基础,HTTP请求包括请求行、头和体三部分。通过Python的`requests`库,我们可以轻松实现HTTP请求。本文将指导你安装`requests`库,并通过实战示例演示如何发送GET和POST请求。无论你是想获取网页内容还是提交表单数据,都能通过简单的代码实现。希望本文能帮助你在Python网络请求的道路上迈出坚实的一步。
33 0
|
3月前
|
数据采集 缓存 安全
2024年最佳http 代理 IP选择及其价格分析
2024年,多家服务商如快代理、123Proxy、巨量代理、IPIDEA等提供不同类型的代理IP,以满足数据采集、跨境电商等多种需求。
2024年最佳http 代理 IP选择及其价格分析
|
3月前
|
数据采集 JSON API
HTTP协议实战演练场:Python requests库助你成为网络数据抓取大师
【7月更文挑战第30天】在网络数据抓取中,Python的`requests`库凭借其简洁的API和强大功能脱颖而出。首先确保已通过`pip install requests`安装库。实战演练包括:发送GET请求获取数据(如`requests.get(url)`),处理JSON响应(利用`.json()`方法解析),添加请求头以绕过反爬虫机制(如设置`User-Agent`),以及发送POST请求提交数据。掌握这些技能的同时,务必遵守法律法规和网站政策。
49 6
|
3月前
|
数据采集 网络协议 API

热门文章

最新文章

下一篇
无影云桌面