利用wireshark分析HTTP协议
计算机网络实验报告年级通信姓名学号实验日期xx年4月30日星期三实验名称利用wireshark分析协议 一、实验目的分析协议
二、实验环境与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。 三、实验步骤
1、利用Wireshark俘获分组
(1)在进行跟踪之前,我们首先清空Web浏览器的高速缓存来确保Web网页是从网络中获取的,而不是从高速缓冲中取得的。 之后,还要在客户端清空DNS高速缓存,来确保Web服务器域名到IP地址的映射是从网络中请求。
在WindowsXP机器上,可在命令提示行输入ipconfig/flushdns完成操作。
(2)启动Wireshrk分组俘获器。 (3)在Web浏览器中输入
gaia.cs.umass/wireshark-labs/-wireshark-file1.html (4)停止分组捕获。
图1利用Wireshark俘获的分组浏览Web页面经过如下三个过程(一)DNS解析在URL gaia.cs.umass中,gaia.cs.umass是一个具体的web服务器的域名。 最前面有两个DNS分组。
第一个分组是将域名gaia.cs.umass转换成为对应的IP地址的请求,第二个分组包含了转换的结果。
这个转换是必要的,因为网络层协议——IP协议,是通过点分十进制来表示因特网主机的,而不是通过gaia.cs.umass这样的域名。 当输入URL gaia.cs.umass时,将要求Web服务器从主机gaia.cs.umass上请求数据,但首先Web浏览器必须确定这个主机的IP地址。
(二)TCP连接建立随着转换的完成,Web浏览器与Web服务器建立一个TCP连接。
(三)交互Web浏览器使用已建立好的TCP连接来发送请求“GET//1.1”。
这个分组描述了要求的行为(“GET”)及文件(只写“/”是因为我们没有指定额外的文件名),还有所用到的协议的版本(“/1.1”)。 分析截获的结果,回答下列问题粘贴前面的地址解析的两个DNS分组1)DNS协议主要使用UDP封装还是TCP封装?___TCP封装_______________2)DNS查询消息的IP地址是
____221.204.7.205______________?你默认的本地DNS服务器的IP地址是___10.30.58.15_______________?3)DNS查询消息的目的端口是____domain
(53)______________?DNS响应消息的源端口是
______20430____________?粘贴Web浏览器与Web服务器建立一个TCP连接的三次握手报文
2、 GET/response交互图 GET请求信息
(1)在协议框中,选择“GET//1.1”所在的分组会看到这个基本请求行后跟随着一系列额外的请求首部。
在首部后的“\\r\\n”表示一个回车和换行,以此将该首部与下一个首部隔开。
“Host”首部在1.1版本中是必须的,它描述了URL中机器的域名,本例中是gaia.cs.umass。
这就允许了一个Web服务器在同一时间支持许多不同的域名。 有了这个数不,Web服务器就可以区别客户试图连接哪一个Web服务器,并对每个客户响应不同的内容,这就是1.0到1.1版本的主要变化。
User-Agent首部描述了提出请求的Web浏览器及客户机器。 接下来是一系列的Apet首部,包括Aept(接受)、Aept-Language(接受语言)、Aept-Encoding(接受编码)、Aept-Charset(接受字符集)。
它们告诉Web服务器客户Web浏览器准备处理的数据类型。 Web服务器可以将数据转变为不同的语言和格式。 这些首部表明了客户的能力和偏好。
Keep-Alive及Connection首部描述了有关TCP连接的信息,通过此连接发送请求和响应。
它表明在发送请求之后连接是否保持活动状态及保持多久。