实验二利用Wireshark分析协议HTTP
一、实验目的
分析HTTP协议
二、实验环境
与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。
三、实验步骤
1、利用Wireshark俘获HTTP分组
(1)在进行跟踪之前,我们首先清空Web 浏览器的高速缓存来确保Web网页是从网络中获取的,而不是从高速缓冲中取得的。打开浏览器,选项,点击后出现如图1所示的界面。以IE浏览器为例,步骤为:点击浏览器右上角的“工具”-“选项”。
图1 选项
之后,还要在客户端清空DNS高速缓存,以确保Web服务器域名到IP地址的映射是从网络中请求的。在Windows系列的机器上,可在命令提示行输入
ipconfig/flushdns完成操作(如图2所示);具体步骤及Linux、MAC等系统的清空方法请参见:
http://uu4u./blog/1674716。
图2 命令提示行输入ipconfig/flushdns完成操作
(2)启动Wireshark 分组俘获器。
(3)在Web 浏览器中输入: / (重庆大学网站)。
(4)停止分组俘获。
图3 利用Wireshark俘获的HTTP分组
在URL 中,一个具体的web 服务器的主机名。最前面有两个DNS分组。第一个分组是将主机名转换成为对应的IP 地址的请求,第二个分组包含了转换的结果。这个转换是必要的,因为网络层协议——IP协议,是通过点分十进制来表示因特网主机的,而不是通过这样的主机名。当输入URL 时,将要求Web服务器从主机
上请求数据,但首先Web浏览器必须确定这个主机的IP地址。
小提示--域名和主机关系举例:下,有主机server1和server2,。
随着转换的完成,Web浏览器与Web服务器建立一个TCP连接。最后,Web 浏览器使用已建立好的TCP连接来发送请求“GET/HTTP/”。这个分组描述了要求的行为(“GET”)及文件(只写“/”是因为我们没有指定额外的文件名),还有所用到的协议的版本(“HTTP/”)。
2、HTTP GET/response交互
(1)在协议框中,选择“GET/HTTP/”所在的分组会看到这个基本请求行后跟随着一系列额外的请求首部。在首部后的“\r\n”表示一个回车和换行,以此将该首部与下一个首部隔开。
“Host”,它描述了URL中机器的主机,本例中是。这就允许了一个Web服务器在同一时间支持许多不同的主机名。
User-Agent首部描述了提出请求的Web浏览器及客户机器(有彩蛋哟,自己找)。
ept首部,ept(接受)、Accept-Language(接受语言)、Accept-Encoding(接受编码)、Accept-Charset(接受字符集)。它们告诉Web服务器客户Web浏览器准备处理的数据类型。Web服务器可以将数据转变为不同的语言和格式。
Keep-Alive及Connection首部描述了有关TCP连接的信息,通过此连接发送HTTP请求和响应。它表明在发送请求之后连接是否保持活动状态及保持多久。(persistent),意思是在每次请求后不关闭TCP连接,而是保持该连接以接受从同一台服务器发来的多个请求。
(2)我们已经分析了由Web浏览器发送的请求,现在我们来观察Web服务器的回答。响应首先发送“HTTP/ 200 ok”,。同样,在响应分组中,它后面也跟随着一些首部。最后,被请求的实际数据被发送。
第一个Cache-control首部,用于描述是否将数据的副本存储或高速缓存起来,以便将来引用。一般个人的Web浏览器会高速缓存一些本机最近访问过的网页,随后对同一页面再次进行访问时,如果该网页仍存储于高速缓存中,则不再向服务器请求数据。类似地,在同一个网络中的计算机可以共享一些存在高速缓存中的页面,防止多个用户通过到其他网路的低速网路连接从网上获取相同的数据。这样的高速缓存被称为代理高速缓存(proxy cache
)。在我们所俘获的分组中我们看到“Cache-control”首部值是“private”的。这表明服务器已经对这个用户产生了一个个性化的响应,而且可以被存储在本地的高速缓存中,但不是共享的高速缓存代理。
在HTTP请求中,Web服务器列出内容类型及可接受的内容编码。此例中Web服务器选择发送内容的类型是text/html且内容编码是gzip。这表明数据部分是压缩了的HTML。
服务器描述了一些关于自身的信息。此例中响应分组还用Content-Length首部描述了数据的长度。最后
实验1Wireshark协议分析-HTTP协议 来自淘豆网m.daumloan.com转载请标明出处.