第一个Cache-control首部,用于描述是否将数据的副本存储或高速缓存起来,以便将来引用。一般个人的Web浏览器会高速缓存一些本机最近访问过的网页,随后对同一页面再次进行访问时,如果该网页仍存储于高速缓存中,则不再向服务器请求数据。类似地,在同一个网络中的计算机可以共享一些存在高速缓存中的页面,防止多个用户通过到其他网路的低速网路连接从网上获取相同的数据。这样的高速缓存被称为代理高速缓存(proxy cache)。在我们所俘获的分组中我们看到“Cache-control”首部值是“private”的。这表明服务器已经对这个用户产生了一个个性化的响应,而且可以被存储在本地的高速缓存中,但不是共享的高速缓存代理。
在HTTP请求中,Web服务器列出内容类型及可接受的内容编码。此例中Web服务器选择发送内容的类型是text/html且内容编码是gzip。这表明数据部分是压缩了的HTML。
服务器描述了一些关于自身的信息。此例中,Web服务器软件是Google自己的Web服务器软件。响应分组还用Content-Length首部描述了数据的长度。最后,服务器还在Date首部中列出了数据发送的日期和时间。
根据俘获窗口内容,回答“四、实验报告内容”中的1-6题。 3、HTTP条件GET/response交互 (1)启动浏览器,清空浏览器的缓存。
(2)启动Wireshark分组俘获器,开始Wireshark分组俘获。 (3)在浏览器地址栏中如下网址:
http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file2.html 你的浏览器中将显示一个具有五行的非常简单的HTML文件。
(4)在你的浏览器中重新输入相同的URL或单击浏览器中的“刷新”按钮。 (5)停止Wireshark分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。
根据操作回答“四、实验报告内容”中的7-10题。 4、获取长文件
(1)启动浏览器,将浏览器的缓存清空。
(2)启动Wireshark 分组俘获器,开始Wireshark分组俘获。 (3)在浏览器地址栏中输入如下网址:
http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file3.html
36
浏览器将显示一个相当大的美国权力法案
(4)停止Wireshark分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。
根据操作回答“四、实验报告内容”中的11-14题。 5、嵌有对象的HTML文档
(1)启动浏览器,将浏览器的缓存清空。
(2)启动Wireshark分组俘获器。开始Wireshark分组俘获。 (3)在浏览器地址栏中输入如下网址:
http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file4.html 浏览器将显示一个具有两个图片的短HTTP文件。
(4)停止Wireshark分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。
根据操作回答“四、实验报告内容”中的15-16题。 6、HTTP认证
(1)启动浏览器,将浏览器的缓存清空。
(2)启动Wireshark分组俘获器。开始Wireshark分组俘获。 (3)在浏览器地址栏中输入如下网址:
http://gaia.cs.umass.edu/wireshark-labs/protected_pages/HTTP-wireshark-file5.html 浏览器将显示一个HTTP文件,输入所需要的用户名和密码(用户名:wireshark-students,密码:network)。
(4)停止Wireshark分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。
根据操作回答“四、实验报告内容”中的17-18题。 四、实验报告内容
在实验的基础上,回答以下问题:
(1)你的浏览器运行的是HTTP1.0,还是HTTP1.1?你所访问的服务器所运行的HTTP版本号是多少?
(2)你的浏览器向服务器指出它能接收何种语言版本的对象?
(3)你的计算机的IP地址是多少?服务器gaia.cs.umass.edu的IP地址是多少? (4)从服务器向你的浏览器返回的状态代码是多少?
37
(5)你从服务器上所获取的HTML文件的最后修改时间是多少? (6)返回到你的浏览器的内容以供多少字节?
(7)分析你的浏览器向服务器发出的第一个HTTP GET请求的内容,在该请求报文中,是否有一行是:IF-MODIFIED-SINCE?
(8)分析服务器响应报文的内容,服务器是否明确返回了文件的内容?如何获知? (9)分析你的浏览器向服务器发出的第二个“HTTP GET”请求,在该请求报文中是否有一行是:IF-MODIFIED-SINCE?如果有,在该首部行后面跟着的信息是什么?
(10)服务器对第二个HTTP GET请求的响应中的HTTP状态代码是多少?服务器是否明确返回了文件的内容?请解释。
(11)你的浏览器一共发出了多少个HTTP GET请求?
(12)承载这一个HTTP响应报文一共需要多少个data-containing TCP报文段? (13)与这个HTTP GET请求相对应的响应报文的状态代码和状态短语是什么? (14)在被传送的数据中一共有多少个HTTP状态行与TCP-induced”continuation”有关?
(15)你的浏览器一共发出了多少个HTTP GET请求?这些请求被发送到的目的地的IP地址是多少?
(16)浏览器在下载这两个图片时,是串行下载还是并行下载?请解释。 (17)对于浏览器发出的最初的HTTP GET请求,服务器的响应是什么(状态代码和状态短语)?
(18)当浏览器发出第二个HTTP GET请求时,在HTTP GET报文中包含了哪些新的字段?
38
实验八 利用Wireshark分析DNS协议
一、实验目的
分析DNS协议 二、实验环境
与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。 三、实验步骤
nslookup工具允许运行该工具的主机向指定的DNS服务器查询某个DNS记录。如果没有指明DNS服务器,nslookup将把查询请求发向默认的DNS服务器。其命令的一般格式是:
nslookup –option1 –option2 host-to-find dns-server 1、打开命令提示符(Command Prompt),输入nslookup命令。
图中显示三条命令,第一条命令:nslookup www.mit.edu “提出一个问题” 即:“将主机www.mit.edu 的IP地址告诉我”。屏幕上出现了两条信息:(1)
39
“回答这一问题”DNS服务器的名字和IP地址;(2)www.mit.edu 主机名字和IP地址。
第二条命令:nslookup –type=NS mit.edu
在这个例子中,我们提供了选项“-type=NS”,域为mit.edu。执行这条命令后,屏幕上显示了DNS服务器的名字和地址。接着下面是三个MIT DNS服务器,
每一个服务器是MIT校园里权威的DNS服务器。
第三条命令:nslookup www.aiit.or.kr bitsy.mit.edu
在这个例子中,我们请求返回bitsy.mit.edu DNS server 而不是默认的DNS服务器(uzzdns.edu.cn)。此例中,DNS 服务器bitsy.mit.edu提供主机www.aiit.or.kr 的
IP地址。 2、ipconfig
ipconfig用来显示TCP/IP 信息, 你的主机地址、DNS服务器地址,适配器等信息。如果你想看到所有关于你所在主机的信息,可在命令行键入:
ipconfig /all
ipconfig在管理主机所储存的DNS信息非常有用。 如果查看DNS缓存中的记录用命令:ipconfig /displaydns 要清空DNS缓存,用命令:ipconfig /flushdns
40