网站制作新手教程,网站定制牛七科技,马克杯网站开发,服务网站策划书HTTP协议分析
问#xff1a;HTTP是干啥用的#xff1f; 最简单通俗的解释#xff1a;HTTP 是客户端浏览器或其他程序与Web服务器之间的应用层通信协议。 在Internet上的Web服务器上存放的都是超文本信息#xff0c;客户机需要通过HTTP协议传输所要访问的超文本信息。
一、…HTTP协议分析
问HTTP是干啥用的 最简单通俗的解释HTTP 是客户端浏览器或其他程序与Web服务器之间的应用层通信协议。 在Internet上的Web服务器上存放的都是超文本信息客户机需要通过HTTP协议传输所要访问的超文本信息。
一、实验简介
本实验主要讲解HTTP协议的应用通过一次下载任务抓取HTTP协议数据报文对HTTP的请求和相应报文进行详细的分析。
二、实验目标
1了解运输层HTTP协议基本概念、报文结构 2分析HTTP报文头部 3分析HTTP请求和相应过程 4掌握使用wireshark进行HTTP协议分析技术。
三、实验环境
实验主机:centos7和本地Windows 实验工具Wireshark
四、实验步骤
1在本地Windows上打开Wireshark选择要抓取的网卡我们虚拟机使用的是VMnet8所以这里选择这个网卡。 2打开centos7虚拟机确保虚拟机可以上网 3为了使用方便我们可以使用远程连接工具连接虚拟机这里使用的使用SecureCRT 4准备一个下载连接这里我们下载阿里云的centos7yum文件文件比较小下载起来方便需要使用wget命令没有这个命令的需要提前安装以下下载命令wgethttp://mirrors.aliyun.com/repo/Centos-7.repo 5将下载连接复制并粘贴到虚拟机开始下载 6将抓取到的数据包保存方便后续查看 7打开上一步保存的数据包文件右键选中其中一条TCP数据包选择对话过滤再选择TCP数据就可以单独查看这一次会话的数据包 8过滤出来的这次下载任务的会话数据包 9.接下来我们就对HTTP协议进行分析HTTP协议是建立在TCP/IP协议基础之上应用层协议关于HTTP协议的原理在前面有详细的讲解这里在简单通俗的解释一下HTTP是一个简单的请求-响应协议可以理解为HTTP协议做了两件事第一是发送请求第二是响应请求通过浏览器发送请求服务器收到请求后再将客户端需要的结果返回HTTP协议并不负责传输只负责打包请求数据和打包响应数据传输数据是由TCP/IP协议负责的。 我们先来看看HTTP请求和响应出现再哪里 从上面这个图中我们可以看到当TCP传输通道建立完成客户端便发起HTTP请求中间是服务器发送给客户端的确认报文确认完成之后服务器开始响应客户端的请求将客户端需要的数据发送过来完成之后客户端会发送确认报文。 10.分析HTTP请求报文请求由本地虚拟机192.168.130.207发送给阿里云服务器111.48.183.233请求提交的方法是GET方法。 接下来我们查看应用层协议的详细信息解释一下Wireshark中间这部份各项对应的含义首先是Ethernet这里对应的是数据链路层的信息可以看到源MAC地址和目标MAC地址Internet是网络层可以看到源IP地址和目标IP地址TransmissionControlProtocol就是传输层可以看到源端口和目标端口最后一个就是应用层本次实验主要讲解的协议HypertextTransferProtocol也就是HTTP协议。 11.请求行分析一个HTTP请求报文由请求行requestline、请求头部header、空行和请求数据4个部分组成前三行为请求行。请求行中的method表示这次请求使用的是get方法。请求方法的种类比较多如optiongetpostheadputdeletetrace等常用的主要是get和post两种。请求方法之后是URI表示请求的页面地址即/repo/Centos-7.repo这是客户端请求的地址这个地址是该资源再服务器上的地址还要加上服务器地址才是一个完整的地址。之后是表示http的版本。 get表示请求页面信息返回页面实体post是请求服务器将指定文档作为请求的url中的从属实体简单说我们常用的在网页中填写表单然后申请等动作就是使用了post方法填写用户名密码登录站点就使用了post方法。 12.请求首部分析本次实验请求的是一个文件如果请求的是一个html页面的话 User-Agent提供了客户端浏览器的类型和版本。 Accept请求的对象类型。如果是“/”表示任意类型如果是指定的类型则会变成“type/”。 Host连接的目标主机如果连接的服务器是非标准端口在这里会出现使用的非标准端口。 Connection对于HTTP连接的处理keep-alive表示保持连接如果是在响应报文中发送页面完毕就会关闭连接状态变为close。 13.请求实体HTTP请求实体是指在请求或响应中传输的有效载荷数据通俗的讲就是你要发送给服务器具体数据或者服务器要返回给你的具体数据。 14.HTTP响应报文分析HTTP响应报文通常分成如下几部分第一部分是状态行第二部分是Headers第三部分是Body。 响应状态行分析 ResponseVersion:HTTP/1.1是http版本常用的就是1.1 StatusCode:200是状态码常见的有200表示成功404表示找不到内容 ResponsePhrase:OK是状态信息。 响应首部行分析 Server服务器应用程序软件的名称和版本 Content-Type响应正文的类型是图片还是二进制字符串 Content-Length响应正文长度 Connection连接状态 Date表示响应的日期 本实验请求的是一个文件如果我们请求的是一个html页面的话还会看到Content-Charse响应正文使用的编码Content-Encoding响应正文使用的数据压缩格式 Content-Language响应正文使用的语言等信息。 响应正文Body 服务器发送给客户端的内容也是客户端所请求的内容。 15.状态码拓展 HTTP状态码被分成了五大类。状态码为客户端提供了一种理解事务处理结果的便捷方式。
五、实验总结
本次实验旨在深入了解HTTP协议应用并通过一次下载任务抓取HTTP协议数据报文进行详细分析。重点在于理解HTTP协议的基本概念、报文结构分析HTTP报文头部掌握HTTP请求和相应过程以及使用Wireshark工具进行HTTP协议分析技术。实验可能的难点和易错点包括理解HTTP报文结构和字段含义以及正确使用Wireshark工具捕获和分析数据包。确保对HTTP协议各方面有清晰理解将有助于顺利完成实验并达到预期的学习目标。