《计算机网络-自顶向下》wireShark实验-第二章:http

这篇具有很好参考价值的文章主要介绍了《计算机网络-自顶向下》wireShark实验-第二章:http。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

基本HTTP GET/response交互


我们开始探索HTTP,方法是下载一个非常简单的HTML文件。非常短,并且不包含嵌入的对象。执行以下操作:

  • 启动您的浏览器。
  • 启动Wireshark数据包嗅探器,如Wireshark实验-入门所述(还没开始数据包捕获)。
  • 在display-filter-specification窗口中输入“http”(只是字母,不含引号标记),这样就在稍后的分组列表窗口中只捕获HTTP消息。(我们只对HTTP协议感兴趣,不想看到其他所有的混乱的数据包)。
  • 稍等一会儿(我们将会明白为什么不久),然后开始Wireshark数据包捕获。
  • 在浏览器中输入以下内容 http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file1.html 您的浏览器应显示非常简单的单行HTML文件。
  • 停止Wireshark数据包捕获。

注意,做实验时如果http页面打开的过多会有干扰,可以使用实验网址的ip进行过滤,具体做法如下:

  • 打开网址gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file1.html 
  • 按下F12并刷新,如下图所示,找到该网址对应的ip
  • 在wireShark中的过滤窗口中输入  “http and ip.addr==128.119.245.12”(不包括引号)

《计算机网络-自顶向下》wireShark实验-第二章:http,计算机网络,计算机网络,wireshark,http

《计算机网络-自顶向下》wireShark实验-第二章:http,计算机网络,计算机网络,wireshark,http

客户端(浏览器)向服务端发送的get请求

《计算机网络-自顶向下》wireShark实验-第二章:http,计算机网络,计算机网络,wireshark,http

服务端向客户单响应的http请求 

《计算机网络-自顶向下》wireShark实验-第二章:http,计算机网络,计算机网络,wireshark,http

通过查看HTTP GET和响应消息中的信息,回答以下问题。

 问题

1.您的浏览器是否运行HTTP版本1.0或1.1?服务器运行什么版本的HTTP?

浏览器

《计算机网络-自顶向下》wireShark实验-第二章:http,计算机网络,计算机网络,wireshark,http

服务器

《计算机网络-自顶向下》wireShark实验-第二章:http,计算机网络,计算机网络,wireshark,http

2.您的浏览器会从接服务器接受哪种语言(如果有的话)?

《计算机网络-自顶向下》wireShark实验-第二章:http,计算机网络,计算机网络,wireshark,http

3.您的计算机的IP地址是什么? gaia.cs.umass.edu服务器地址呢?

《计算机网络-自顶向下》wireShark实验-第二章:http,计算机网络,计算机网络,wireshark,http

4.服务器返回到浏览器的状态代码是什么?

200

《计算机网络-自顶向下》wireShark实验-第二章:http,计算机网络,计算机网络,wireshark,http

5.服务器上HTML文件的最近一次修改是什么时候?

《计算机网络-自顶向下》wireShark实验-第二章:http,计算机网络,计算机网络,wireshark,http

如果没有该字段是因为你不是第一次打开这个页面(比如你刷新过该页面),非初次打开时,该页面的内容会被缓存到浏览器,之后再次获取该网页的内容浏览器就会从缓存中获取,这是接下里要进行的条件get实验。

如果你想要看到该字段,需要打开浏览器设置,清除浏览器缓存,以我的edge浏览器为例

《计算机网络-自顶向下》wireShark实验-第二章:http,计算机网络,计算机网络,wireshark,http

清除浏览器的缓存数据之后再次刷新后,在wireShark中抓到的包就是服务器传送过来的包,即可看到last-modified字段了 

6.服务器返回多少字节的内容到您的浏览器?

128字节

《计算机网络-自顶向下》wireShark实验-第二章:http,计算机网络,计算机网络,wireshark,http

同理如果没有看到该字段,清理浏览器缓存重新抓包即可

条件HTTP GET/response交互

该实验需要经过上述清除浏览器缓存后再进行,目的是清除的看到实验过程

实验步骤:

  • 打开gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file1.html
  • 清除浏览器缓存
  • 在wireShark的过滤窗口中输入 http and ip.addr==128.119.245.12
  • 打开wireShark的捕获按钮,开始捕获页面
  • 刷新浏览器页面,观察wireShark的抓包情况
  • 再次刷新浏览器页面,观察wireShark的抓包情况

《计算机网络-自顶向下》wireShark实验-第二章:http,计算机网络,计算机网络,wireshark,http

问题

1. 检查第一个从您浏览器到服务器的HTTP GET请求的内容。您在HTTP GET中看到了“IF-MODIFIED-SINCE”行吗?

没有看到

《计算机网络-自顶向下》wireShark实验-第二章:http,计算机网络,计算机网络,wireshark,http

2. 检查服务器响应的内容。服务器是否显式返回文件的内容? 你是怎么知道的?

返回,在响应文件的Line-based字段看到了网页的内容

《计算机网络-自顶向下》wireShark实验-第二章:http,计算机网络,计算机网络,wireshark,http

3. 现在,检查第二个HTTP GET请求的内容。 您在HTTP GET中看到了“IF-MODIFIED-SINCE:”行吗? 如果是,“IF-MODIFIED-SINCE:”头后面包含哪些信息?

可以看到

《计算机网络-自顶向下》wireShark实验-第二章:http,计算机网络,计算机网络,wireshark,http

关于IF-MODIFIED-SINCE字段的说明

IF-MODIFIED-SINCE字段是HTTP请求头中的一个条件性字段,用于指定上次请求资源的修改时间服务器可以使用该字段来判断资源是否自上次请求以来发生了修改。

  1. IF-MODIFIED-SINCE字段:客户端发送HTTP请求时,可以在请求头中包含IF-MODIFIED-SINCE字段,该字段的值是上次获取资源时的时间戳服务器会根据这个时间戳来判断资源是否已经被修改,如果没有修改,服务器将返回状态码304 Not Modified,表示客户端的缓存版本仍然有效,无需重新获取资源。

  2. Last-Modified字段:服务器在响应中会包含Last-Modified字段,该字段的值表示资源的最后修改时间。当客户端第一次获取资源时,服务器会在响应头中包含这个字段。客户端可以将这个时间戳保存起来,以便在下次请求时使用IF-MODIFIED-SINCE字段进行条件请求。

Last-Modified字段是由服务器在响应中发送的,用于告知客户端资源的最后修改时间;而IF-MODIFIED-SINCE字段是由客户端在请求中发送的,用于让服务器判断资源是否已经被修改,从而决定是否返回新的资源或者状态码304 Not Modified。这两个字段通常配合使用,通过比较资源的最后修改时间来实现缓存验证和控制。

因此,IF-MODIFIED-SINCE字段通常用于优化网络流量和减少服务器负载,通过允许客户端缓存资源并避免不必要的下载。当资源未被修改时,客户端可以直接使用缓存的副本,而无需重新下载整个资源。

4. 针对第二个HTTP GET,从服务器响应的HTTP状态码和短语是什么?服务器是否明确地返回文件的内容?请解释。

状态码:304

短语:Not Modified

《计算机网络-自顶向下》wireShark实验-第二章:http,计算机网络,计算机网络,wireshark,http

服务器并没有明确返回文件内容

因为第一次请求时文件内容已经被缓存到本地,再次请求时IF-MODIFIED-SINCE字段的值在Last-Modified的值前边,说明客户端向浏览器再次请求的时间在服务器对该文件内容的修改时间之前,也就是说,浏览器此时向服务器请求的资源与上次一样,尚未被修改,因此不需要再次返回具体内容,浏览器只需要从缓存中取出即可

检索长文件

在我们到目前为止的例子中,检索的文档是简短的HTML文件。 接下来我们来看看当我们下载一个长的HTML文件时会发生什么。按以下步骤操作:

  • 启动您的浏览器,并确保您的浏览器缓存被清除,如上所述。
  • 启动Wireshark数据包嗅探器
  • 在您的浏览器中输入以下URL http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file3.html 您的浏览器应显示相当冗长的美国权利法案。
  • 停止Wireshark数据包捕获,并在display-filter-specification窗口中输入“http”,以便只显示捕获的HTTP消息。

问题

1.您的浏览器发送多少HTTP GET请求消息?哪个数据包包含了美国权利法案的消息?

一个httpGET请求

在响应包中包含了美国权利法案的消息,具体内容在Line-based字段

《计算机网络-自顶向下》wireShark实验-第二章:http,计算机网络,计算机网络,wireshark,http

2.哪个数据包包含响应HTTP GET请求的状态码和短语?

《计算机网络-自顶向下》wireShark实验-第二章:http,计算机网络,计算机网络,wireshark,http

具有嵌入对象的HTML文档

现在我们已经看到Wireshark如何显示捕获的大型HTML文件的数据包流量,我们可以看看当浏览器使用嵌入的对象下载文件时,会发生什么,即包含其他对象的文件(在下面的例子中是图像文件) 的服务器。
执行以下操作:

  • 启动您的浏览器。
  • 启动Wireshark数据包嗅探器。
  • 在浏览器中输入以下URL http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file4.html 您的浏览器应显示包含两个图像的短HTML文件。这两个图像在基本HTML文件中被引用。也就是说,图像本身不包含在HTML文件中;相反,图像的URL包含在已下载的HTML文件中。如书中所述,您的浏览器将不得不从指定的网站中检索这些图标。我们的出版社的图标是从 www.aw-bc.com 网站检索的。而我们第5版(我们最喜欢的封面之一)的封面图像存储在manic.cs.umass.edu服务器。
  • 停止Wireshark数据包捕获,并在display-filter-specification窗口中输入“http”,以便只显示捕获的HTTP消息

问题

1. 您的浏览器发送了几个HTTP GET请求消息? 这些GET请求发送到哪个IP地址?

三个

《计算机网络-自顶向下》wireShark实验-第二章:http,计算机网络,计算机网络,wireshark,http

2. 浏览器从两个网站串行还是并行下载了两张图片?请说明。

串行

第一个图片的响应报文中的Data字段的值为

《计算机网络-自顶向下》wireShark实验-第二章:http,计算机网络,计算机网络,wireshark,http

第二个图片的响应报文中Date字段的值为

《计算机网络-自顶向下》wireShark实验-第二章:http,计算机网络,计算机网络,wireshark,http

HTTP认证

最后,我们尝试访问受密码保护的网站,并检查网站的HTTP消息交换的序列。URL http://gaia.cs.umass.edu/wireshark-labs/protected_pages/HTTP-wireshark-file5.html 是受密码保护的。用户名是“wireshark-students”(不包含引号),密码是“network”(再次不包含引号)。所以让我们访问这个“安全的”受密码保护的网站。执行以下操作:

  • 请确保浏览器的缓存被清除,如上所述,然后关闭你的浏览器,再然后启动浏览器
  • 启动Wireshark数据包嗅探器。
  • 在浏览器中输入以下URL http://gaia.cs.umass.edu/wireshark-labs/protected_pages/HTTP-wiresharkfile5.html 在弹出框中键入所请求的用户名和密码。
  • 停止Wireshark数据包捕获,并在display-filter-specification窗口中输入“http”,以便只显示捕获的HTTP消息。

问题

1. 对于您的浏览器的初始HTTP GET消息,服务器响应(状态码和短语)是什么响应?

《计算机网络-自顶向下》wireShark实验-第二章:http,计算机网络,计算机网络,wireshark,http

《计算机网络-自顶向下》wireShark实验-第二章:http,计算机网络,计算机网络,wireshark,http

2. 当您的浏览器第二次发送HTTP GET消息时,HTTP GET消息中包含哪些新字段?

《计算机网络-自顶向下》wireShark实验-第二章:http,计算机网络,计算机网络,wireshark,http文章来源地址https://www.toymoban.com/news/detail-827899.html

到了这里,关于《计算机网络-自顶向下》wireShark实验-第二章:http的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 《计算机网络-自顶向下》04. 网络层-数据平面

    从表面上看网络层的作用:将分组从一台发送主机移动到另一台接收主机。 完成该功能需要两个重要的网络层功能: 转发:当一个分组到达某路由器的一条输入链路时,该路由器必须将该分组移动到适当的输出链路。 路由选择:当分组从发送方流向接收方时,网络层必须决

    2023年04月15日
    浏览(30)
  • 计算机网络自顶向下WireShark实验:TCP

    计算机网络 WireShark 实验记录可供参考 1:What is the IP address and TCP port number used by the client computer (source) that is transferring the file to gaia.cs.umass.edu? To answer this question, it’s probably easiest to select an HTTP message and explore the details of the TCP packet used to carry this HTTP message, using the “details of

    2023年04月15日
    浏览(44)
  • 《计算机网络——自顶向下方法》精炼——3.7(2)

    读书有三到:谓心到,眼到,口到。——明·朱熹 为了简化对一条TCP连接吞吐量的描述,我们首先忽略连接过程中处于慢启动状态的时间,因为这一状态时间极短,而且相比于其他状态的线性增长,该状态的指数式增长会将计算复杂化;而对于快速恢复状态,这一状态仅在网

    2024年02月07日
    浏览(31)
  • 《计算机网络:自顶向下方法》第五章--网络层:控制平面

    控制平面作为一种网络范围的逻辑,不仅控制沿着从源主机到目的主机的端到端路径间的路由器如何转发数据报,而且控制网络层组件和服务如何配置和管理 传统上,控制平面功能与数据平面的转发功能在一起实现,在路由器中作为统一的整体 在网络层:数据平面中有转发

    2024年02月12日
    浏览(37)
  • 计算机网络——自顶向下方法(第三章学习记录)

    本章学习运输层 运输层位于应用层和网络层之间,是分层的网络体系的重要部分,该层为运行在不同主机上的应用进程提供直接的通信服务起着至关重要的作用。 运输层协议为运行在不同主机上的应用进程之间提供了 逻辑通信 (logic communication)功能。从应用程序的角度看,通

    2024年02月11日
    浏览(27)
  • 计算机网络——自顶向下方法(第四章学习记录)

    本章学习网络层:数据平面 前一章中我们学习了运输层依赖于网络层的主机到主机的通信服务,提供了各种形式的进程到进程的通信。在本章中我们将看到与运输层和应用层不同的是,在网络中的每一台主机和路由器中都有一个网络层部分。 网络层能够被分解为两个相互作

    2024年02月11日
    浏览(41)
  • 计算机网络——自顶向下方法(第一章学习记录)

    可以从两个不同的方面来理解Internet。(它的构成。它的服务) 1.因特网的主要构成          处在因特网的边缘部分就是在因特网上的所有主机,这些主机又称为 端系统 (end system),端系统通过 因特网服务提供商 (Internet Service Provider,ISP)接入因特网,端系统通过 通信

    2024年02月10日
    浏览(29)
  • 计算机网络——自顶向下方法(第二章学习记录)

    本章学习应用层 网络应用是计算机网络存在的理由。 现代网络应用程序有两种主流体系结构:客户—服务器体系结构和对等(P2P)体系结构 客户—服务器体系结构 (client-server ),在这个结构中,有一个总是打开的主机称为服务器,它服务于来自许多其他称为客户的主机的请求

    2024年02月09日
    浏览(30)
  • 《计算机网络--自顶向下方法》第四章--网络层:数据平面

    每台路由器的数据平面的主要作用是从其输入链路向其输出链路转发数据报 ;控制平面的主要作用是协调这些本地路由器转发动作,使得数据报沿着源和目的地主机之间的路由器路径进行端到端传送 路由器具有截断的协议栈,即没有网络层之上的部分,因为 路由器不运行应

    2024年02月12日
    浏览(30)
  • 《计算机网络——自顶向下方法》精炼——1.4到1.7

    三更灯火五更鸡,努力学习永不止。无惧困难与挑战,砥砺前行向成功。 计算机网络在这一学科中的重要性毋庸置疑,而黑皮书又是这一学科的教科书级经典,因此本书是计算机从业者的必读书之一。笔者用一个专栏来精炼这本书的知识,帮助想了解这方面知识的同学快速打

    2023年04月15日
    浏览(24)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包