Wireshark中的http协议包分析

Wireshark可以跟踪网络协议的通讯过程,本节通过http协议,在了解Wireshark使用的基础上,重温http协议的通讯过程。

TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于 字节流的传输层 通信协议。

HTTP(HyperText Transfer Protocol,超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的应用层协议,是万维网的数据通信的基础。

下图是访问百度页面的头部文件的Wireshark数据包截取图,以下几点说明如下:

  1. 通过tcp的筛选条件,是由于tcp位于http协议的低层协议,可以完整抓取http的通讯过程。

  2. 图中10、12、13号数据包是tcp的3次握手。

  3. 从14、15、16、17是一个完整的http通讯过程。

浏览器向网页服务器发出请求,当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(se rver header)用以响应浏览器的请求。HTTP状态码的英文为HTTP Status Code。

五种状态码:

1xx:信息提示,表示请求已被成功接收,继续处理。

2xx:请求被成功提交。

3xx:客户端被重定向到其他资源。

4xx:客户端错误状态码,格式错误或者不存在资源。

5xx:描述服务器内部错误。

向服务器发起一个HEAD请求,这个方法在不必传输整个响应内容的情况下,就可以获取包含在响应消息头中的元信息。

  1. 图中28、29、33、34数据包是tcp的4次挥手。
相关推荐
用户3721574261355 分钟前
Java 将 Word 文档转换为 Markdown:基础转换与导出选项详解
java
阿黎梨梨17 分钟前
揭秘大语言模型的底层逻辑:从文本分词到高维向量的计算之旅
javascript·人工智能
行者全栈架构师18 分钟前
PolarDB + Spring Boot 实战:从自建MySQL到云原生数据库的零停机迁移
java·后端·架构
天平9 小时前
油猴脚本创建webworker踩坑记录
前端·javascript·typescript
山河木马16 小时前
渲染管线-计算得到gl_Position(顶点着色器)之后续GPU流程
javascript·webgl·图形学
竹林81816 小时前
用 The Graph 查询链上数据实战:从手搓 RPC 到 Subgraph,我的 NFT 项目数据加载快了 10 倍
前端·javascript
karry_k16 小时前
MyBatis批量insert-select踩坑:useGeneratedKeys=true 可能让PostgreSQL返回大量插入结果
java·后端
karry_k16 小时前
PostgreSQL 在 MyBatis 中执行正常 SQL 失效:一次 DELETE USING 踩坑记录
java·后端
kyriewen19 小时前
别再每次都 Google 了:我整理了前端日常最常踩的 10 个 Git 坑,附速查表
前端·javascript·git
SmartBoyW20 小时前
深入ECMAScript规范:彻底搞懂JS隐式类型转换与底层ToPrimitive机制
前端·javascript