HTTP

  • 1、HTTP GET/respons 基本交互
  • 2、HTTP 条件GET/response交互
  • 3、检索长文档
  • 4、HTML嵌入对象文件
  • 5、HTTP认证



在引导实验中,Wireshark数据包嗅探器让我们大吃一惊,我们现在准备用Wireshark去研究实操中的协议。这这个协议中,我们将探索HTTP协议的几个方面:GET/response基本交互,HTTP报文格式,检索超大HTML文件,检索嵌入对象HTML文件,和HTTP认证和安全。开始实验之前,你可能想要复习该文的2.2节。

1、HTTP GET/respons 基本交互

通过下载一个简单的HTML文件,让我们开始HTTP的探索。一个简单的HTML文件是非常短的,不包含嵌入对象。接下来:
1、打开浏览器
2、打开Wireshark数据包嗅探器,正如引导实验描述的(但是还没有抓包)。进入 “http”(仅是小写字母,不是引用标志)在展示过滤详细信息窗口里,为了只捕获HTTP报文展示在数据包列表窗口后面。
3、等一分钟以上,然后Wirehark开始抓包
4、打开下列链接,你的浏览器应该展示非常简单,一句话。
5、停止抓包。

你的Wireshark窗口应该与图一类似。如果你不能够在实时网络连接运行Wireshark,你能下载一个能创造数据包跟踪器,当运行以上步骤时。

图一的例子表明在数据包列表窗口,有两个HTTP报文被捕获:GET报文(从你的浏览器到eduweb浏览器服务器)和从服务器到浏览器的响应报文。数据包内容窗口表明选择报文的详细信息。回想一下,因为HTTP 报文中携带TCP段,IP数据报,以太网框架,所以Wireshark也展示了框架、以太网、IP和TCP数据包信息。我们想要尽可能少的展示与HTTP无关的数据,所以。
通过观察HTTP GET和响应报文信息,回答下列问题。
1、你的浏览器运行HTTP版本是1.0还是1.1?工作的服务器HTTP的版本是什么?
2、你的浏览器表明它能接受服务器什么语言?
3、你电脑的IP地址是多少?edu的是多少?
4、服务器到你的浏览器返回的状态码是多少?
5、你在服务器上观察到的,最新修改的HTML文件是什么时候?
6、返回你浏览器有多少比特的内容?
7、通过观察数据包内容窗口里的原始数据,你看见任何在数据包列表窗口未显示的数据头文件?如果有,名字是?

在你回答第五个问题时,你可能惊讶于发现你检索的页面最后一次在你下载这个页面之前的一分钟更新。那是因为edu服务器是设置了文件的最后一次修改时间为当前时间,是每分钟一次。所以,如果你等一分钟在访问之间,这个文件将出现为最近修改,因此你的浏览器将下载一个新的文件副本。

2、HTTP 条件GET/response交互

回想一下该章的2.2.5节,大部分浏览器执行捕获对象,因此当检索一个HTTP对象,执行条件GET。在执行以下步骤之前,确保你的浏览器缓存是空的。现在执行以下操作:

  1. 打开你的浏览器,确保你的浏览器的缓存已清空,正如上面讨论过的;
  2. 开启Wireshark
  3. 用你的浏览器打开下列链接http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file2.html,你的浏览器应该展示一个简易的五行HTML页面;
  4. 用你的浏览器快速再次进入该页面(或者刷新);
  5. 停止Wireshark抓包,并且在展示文件具体信息窗口输入“http”,所以捕获HTTP报文将展示在数据包列表窗口后面
    注意:如果你不能在实时网络连接运行Wireshark,你能用 http-ethereal-trace-2包追踪,去回答一下问题。

问题:
1、浏览器请求服务器,观察第一个HTTP GET的内容。在HTTP GET 你能看到"IF-MODIFIED-SINCE"行吗?
2、观察服务器响应的内容。服务器明白返回的页面内容吗?你是如何传递的?
3、浏览器请求服务器,现在,观察第二个HTTP GET的内容。在HTTP GET你能看到“IF-MODIFIED-SINCE”吗?如果能看到,他的头部信息的是什么?
4、HTTP状态码和服务器返回的响应第二个HTTP GET的内容是什么?服务器正确地返回页面吗?解释

3、检索长文档

4、HTML嵌入对象文件

5、HTTP认证