admin管理员组

文章数量:1538769

2024年5月5日发(作者:)

3011216028 赵西佳

利用Wireshark分析协议HTTP

一、实验目的

分析HTTP协议

二、实验环境

与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软

件。

三、实验步骤

3.1 课程设计步骤

(1) 启动WireShark。

图 3.1 wireshark启动界面

(2) 启动PC上的chrome浏览器。

3011216028 赵西佳

图3.2 启动chrome浏览器

(3) 开始分组捕获:选择“抓包”下拉菜单中的“抓包参数选择”命令,在

WireShark:“抓包选项”窗口中可以设置分组捕获的选项。

图3.3选项

(4) 在这次实验中,使用窗口中显示的默认值。选择“抓包”下拉菜单中的

“网络接口”命令,显示计算机中所安装的网络接口(即网卡)。我们需要选择电

脑真实的网卡,点击后显示本机的IP地址。

(5) 随后,点击“开始”则进行分组捕获,所有由选定网卡发送和接收的分

组都将被捕获。

图3.4 抓包选项设置

3011216028 赵西佳

(6) 待捕获一段时间,关闭浏览器,选择主窗口中有的“stop”按钮,可以

停止分组的捕获。

图3.5 结束按钮

3.2 抓包并分析过程

这次实验通过分析打开谷歌主页来分析http协议的作用。

在filter中输入http进行筛选。

wireshark所抓的含有http请求报文的帧:

图3.6 打开谷歌主页抓到的HTTP包

对打开谷歌网页这个事务进行分析:在浏览器中输入谷歌主页地址,敲击回

车的过程中,浏览器向DNS请求解析的IP地址。域名系统DNS

解析出谷歌服务器的IP地址为173.194.72.199在这个过程中本机IP 10.10.22.75。

然后浏览器与服务器建立TCP连接(服务器端的IP地址为173.194.72.199,端口

是80)。然后浏览器发出取文件命令:GET /webhp?hl=zh-CN&sourceid=cnhp

HTTP/1.1rn。服务器给出响应把文件(text/html)发送给浏览器,浏览器显示

text/html中的所有文本。浏览器下载网页文本内容,网页文本中标记着图片、CSS

文件和Flash等等。在这次课程设计中谷歌主页还包括谷歌logo图片和其他一些

内容,浏览器分析出这些内容后开4个线程对这些内容进行下载,分别向服务器

发送请求报文,服务器接收到内容后根据HTTP协议发送响应报文。所有的内容

3011216028 赵西佳

下载完毕时候浏览器会显示全部内容,一个完整的谷歌主页就这样打开了。

3.3 分析HTTP报文

下面是根据时间顺序给抓到的包编号为1到8。

图3.6 第1个包

分析:本地PC机(IP地址为10.10.22.75)中的浏览器向谷歌的服务器(IP地

址为173.194.72.199)请求服务时,先和校园网代理服务器建立TCP连接,并向代

理服务器发出HTTP请求报文,请求服务器发送文本文件。

代码分析:

GET /webhp?hl=zh-CN&sourceid=cnhp HTTP/1.1rn //请求目标

Host: //目标所在的

主机

Connection: keep-alive //激活连接

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31

(KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31 //用户代理,浏览

器的类型是chrome浏览器;括号内是相关解释

X-Chrome-Variations:

CLS1yQEIkbbJAQihtskBCKO2yQEIp7bJAQiptskBCLm2yQEI/IPKAQibhMoB

Accept-Encoding: gzip,deflate,sdch //可接受编码,文件格式

Accept-Language: zh-CN,zh;q=0.8 //语言中文

Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3 //告诉服务器,客户端提交的

表单可能使用的编码

3011216028 赵西佳

Cookie:

NID=67=FFrU7T8-DNJkzwhsGzijolp09lzBgCLKCRzVNkZRrfsoTT2-aTJFjxZ9dW

gebP_mDb_DAt6tYahSqydnDLk0gW5vP47JC7Xhj-183NqQxUGUnb3dZHh71-We

AabsKurvndnGPPa3MdY; PREF=ID=1c5991ad66b47581:U=4e3bc9a43161a8a2:

FF=2:LD=zh-CN:NW=1:TM=1330947425:LM=1372979082:

S=zO71aH_kzkhNciIQ //允许站点跟踪用户,cookieID是1c5991ad66b47581

图3.7 第2个包

分析:由状态栏的200代码可知,谷歌服务器(IP地址为173.194.72.199)成

功接收到我们本地发送的请求报文,向IP地址为10.10.22.75的本地发送响应报

文,把文件发送给浏览器。根据报文内容可以知道更多的关于文档的信息。

代码分析:

HTTP/1.1 200 OKrn //状态行,成功

Date: Fri, 05 Jul 2013 04:19:16 GMTrn //响应信息创建的时间

Expires: -1rn //设置内容过期时间

Cache-Control: private, max-age=0rn

Content-Type: text/html; charset=UTF-8rn //内容类型:文本

3011216028 赵西佳

Content-Encoding: gziprn //内容编码

Server: gwsrn //服务器

X-XSS-Protection: 1; mode=blockrn //X-XSS防护

X-Frame-Options: SAMEORIGINrn

Transfer-Encoding: chunkedrn //分块传输编码

rn

HTTP chunked response

Line-based text data: text/html //对所传文本信息(基于html)的描述

图3.8 第3个包

分析:第二个包中抓到的包中的文本文档中有标记还要继续下载的内容,本

地服务器再次发送请求报文向谷歌服务器请求下载文件,由请求行可以看出请求

的是一张png格式的图片,应该是谷歌主页的logo。

代码分析:

GET /textinputassistant//1.1rn //请求目标是一张格式为png的

图片

Host: //目标所在的主机

Connection: keep-alive //激活连接

Accept:*/*

User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31

(KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31 //用户代理,浏

览器的类型是chrome浏览器;括号内是相关解释

3011216028 赵西佳

X-Chrome-Variations

CLS1yQEIkbbJAQihtskBCKO2yQEIp7bJAQiptskBCLm2yQEI/IPKAQibhMoB

Accept-Encoding: gzip,deflate,sdch //可接受编码,文件格式

Accept-Language: zh-CN,zh;q=0.8 //语言中文

Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3 //告诉服务器,客户端提交的

表单可能使用的编码

Cookie: //允许站点跟踪用户

图3.9 第4个包

分析:状态行显示的结果表明谷歌服务器成功接收到本地发送的请求报文,

相应的的向本地发出响应报文并把图像文件发送给了本地。响应报文中有关于图

片的一些信息记录。

代码分析:

HTTP/1.1 200 OKrn //状态行,成功

Content-Type: image/pngrn //内容类型:图像格式为png

Last-modified: mon,02 Apr 2012 02:13:37 GMTrn //上一次修改时间

Date: Fri, 05 Jul 2013 04:19:16 GMTrn //响应信息创建的时间

Expires: Thu, 03 Ju1 2014 21:21:50rn //设置内容过期时间

3011216028 赵西佳

Server: sffern //服务器sffe

Content-length: 387rn //内容长度

X-XSS-Protection: 1; mode=blockrn //X-XSS防护

Portable network Graphics //对所传图片信息的描述

下面一并分析第5和第六个包。

图3.10 第5个包

图3.11 第6个包

分析:本地连续向谷歌服务器发送了两个请求报文,是因为在第二个包接收

后在网页文本文档中标记的图片,音乐等多媒体文档都有标记在里面,浏览器分

析出这些内容后对这些内容进行并行下载。

3011216028 赵西佳

图3.12 第7个包

分析:状态行显示的结果表明谷歌服务器成功接收到本地发送的请求报文,

204 No Content 没有新文档,浏览器应该继续显示原来的文档。

重要代码分析:

HTTP/1.1 204 no Contentrn //没有需要更新的内容

图3.13 第8个包

分析:状态行显示的结果表明谷歌服务器成功接收到本地发送的请求报文,

相应的的向本地发出响应报文并把文本文件发送给了本地。响应报文中有关于内

容编码、内容类型、上次修改时间、创建日期、以及期限的记录上面包的的分析

中都有提到,不再赘述。这个文本文件是基于javascript脚本的,详细内容都有

3011216028 赵西佳

具体给出。

重要代码分析:

Line-based text data:text/javascript //对所传文本信息(基于javascript脚本)

的描述

最后,通过HTTP协议向谷歌服务器请求谷歌主页的万维网文档,服务器通

过HTTP协议把文档传送给浏览器,浏览器下载完所有内容后把所有内容显示到

浏览器上面,从而在浏览器上打开了谷歌网站的主页。

四 个人感想

经过本次实验的我学会了如何使用WireShark进行基本的数据的抓取,以及

对数据包的简单分析,加深了对常用网络协议HTTP的理解。

由于自身能力和时间的限制,对更加细节的流程把握的不是很好,希望能够

随着今后对课程体系更深入的学习能有进一步的改进。同时,此次课程设计也让

我看到了自己的不足,自己对本专业的相关知识掌握的还很少,还有很多知识都

没掌握,还让我认识到解决问题的方法、途径很多做事要开阔自己的思维,看待

问题要从多个角度看。

3011216028 赵西佳

参考文献

[1] 谢希仁

计算机网络

北京:电子工业出版社, 2011:239-246

[2] 陈鸣译.计算机科学网络自顶向下的方法(第4版),2001-9-6

[3] 计算机网络管理

西安电子科技大学出版社,2009:250-280

[4] 罗小嘉

学习用wireshark进行抓包分析

2009

本文标签: 浏览器内容分析请求