ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

网络抓包与HTTP协议

2021-11-05 21:33:03  阅读:174  来源: 互联网

标签:协议 封包 网络 TCP 序号 HTTP 抓包 客户端


一、TCP、HTTP协议

1.TCP协议
传输控制协议(英語:Transmission Control Protocol,缩写:TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。 在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能。 用户数据报协议(UDP)是同一层内另一个重要的传输协议。TCP旨在适应支持多网络应用的分层协议层次结构。 连接到不同但互连的计算机通信网络的主计算机中的成对进程之间依靠TCP提供可靠的通信服务。TCP假设它可以从较低级别的协议获得简单的,可能不可靠的数据报服务。 原则上,TCP应该能够在从硬线连接到分组交换或电路交换网络的各种通信系统之上操作。
2.HTTP协议
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。

HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。

HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。

HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。

一次完整的HTTP请求过程从TCP三次握手建立连接成功后开始,客户端按照指定的格式开始向服务端发送HTTP请求,服务端接收请求后,解析HTTP请求,处理完业务逻辑,最后返回一个HTTP的响应给客户端,HTTP的响应内容同样有标准的格式。

二、抓包验证实践

进行抓包验证实践所需要的软件是wireshark,下载地址wireshark官网
下载后打开安装包一路next、install即可。
打开wireshark
在这里插入图片描述
点击捕获–选项
在这里插入图片描述
在这里插入图片描述
选择WLAN,并将下方的enable的勾取消掉,点击开始
在这里插入图片描述
捕获后的结果
在这里插入图片描述
第一栏是封包列表,第二栏是封包详细信息,第三栏是数据,接下来进行过滤。
封包列表
封包列表的面板中显示,编号,时间戳,源地址,目标地址,协议,长度,以及 封包信息
封包详细信息注释
(1) Frame: 物理层的数据帧概况

(2) Ethernet II: 数据链路层以太网帧头部信息

(3) Internet Protocol Version 4: 互联网层 IP 包头部信息

(4) Transmission Control Protocol: 传输层 T 的数据段头部信息,此处是 TCP

(5) Hypertext Transfer Protocol: 应用层的信息,此处是 HTTP 协议

随意选择一个并且右击–作为过滤器使用–选中
在这里插入图片描述
在这里插入图片描述
可以看到显示栏只显示了sourse栏为192.168.43.186的封包列表
TCP报文段结构图
在这里插入图片描述
经过查找,封包详细信息各项意思
Source Port–源端口号
Destination Port–目的端口
Sequence Number–序号
Acknowledgment Number–确认号
Flags–标志位
Window size scaling factor–窗口
Checksum–校验和
Urgent Pointer–紧急指针
在这里插入图片描述
TCP三次握手
在这里插入图片描述
客户端发送syn报文,并置发送序号为X,服务端发送syn+ack报文,并置发送序号为Y,再确认序号为X+1,客户端发送ack报文,并置发送序号为Z,再确认序号为Y+1。在图中可以看到Wireshark截获到了三次握手的三个数据包,然后才是HTTP。这说明HTTP使用TCP建立连接。
在这里插入图片描述
找到三个被截获了的三次握手的数据包,然后是HTTP
查看第一个TCP封包详细信息
在这里插入图片描述
可以看到序号为0,标志位SYN,代表客户端请求建立连接,这是TCP第一次握手
第二个TCP封包
在这里插入图片描述
服务器发回确认包,标志位为SYN,ACK。将确认序号设置为ISN+1,即0+1=1
第三个TCP封包
在这里插入图片描述

客户端再次发送确认包,SYN标志位为0,ACK标志位为1,并且把服务器发来的ACK的序号字段+1,放在确认字段中发送给对方,并且在数据段写ISN+1

标签:协议,封包,网络,TCP,序号,HTTP,抓包,客户端
来源: https://blog.csdn.net/m0_52487771/article/details/121169895

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有