实验7超文本传输协议http分析.docx
《实验7超文本传输协议http分析.docx》由会员分享,可在线阅读,更多相关《实验7超文本传输协议http分析.docx(13页珍藏版)》请在冰点文库上搜索。
实验7超文本传输协议http分析
实验7超文本传输协议Http分析
一、实验名称超文本传输协议Http分析
二、实验目的:
1.掌握使用Wireshark分析俘获HTTP协议的基本技能;
2.深刻理解HTTP重要的工作机理和过程。
三、实验内容和要求
1、Http协议的Get/Resonse互动机制;
2、Http协议的分组格式;
3、如何利用Http传输Html文件;
4、如何利用Http传输图片、动画等嵌入式文件;
5、观察Http的安全性能。
四、实验环境
1)与因特网连接的计算机
2)操作系统为Windows8.1
3)安装有协议分析仪Wireshark
4)IE浏览器等软件
五、操作方法与实验步骤
1.Http的基本请求/响应互动机制
本实验通过访问一个最简单的页面展开,即该html文件中不引用任何其它嵌入式文件(如图片、视频等)。
操作步骤如下:
1、打开IE浏览器;
2、打开Wireshark软件,打开抓包菜单中的网络接口子菜单,从中选择本机使用的网络接口。
3、切入包捕获界面后,在过滤栏中输入http&&ip.dst==128.119.245.12||ip.src==128.119.245.12,即只观察与128.119.245.12交互的http分组。
4、在IE浏览器输入:
http:
//gaia.cs.umass.edu/wireshark-labs/HTTP-
wireshark-file1.html;此时浏览器应该会显示一个最简单的html页面(只有一行)。
5、此时,Wireshak软件应该抓取的Http数据包如图63所示:
图63访问http:
//gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file1.html后的Wireshark显示界面
从上图中可观察到总共捕获到四个http包,其中,包括两对Http的Get分组(由本机浏览器向服务器gaia.cs.umass.edu发出的请求)以及服务器返回的响应分组。
需要注意的是,第一轮请求与回复请求的是具体的页面;而第二轮请求与回复涉及的却是一个favicon.ico文件。
分组内容展示窗口中可以观察这两个分组的详细信息。
从展开的分组内容中可以看出:
Http包是经由Tcp协议传输,而Tcp又是附加在IP数据包的基础上,后者又附加在一个以太网帧内。
以第一轮分组为观察目标,试着回答如下问题:
(1)你的浏览器运行的是什么协议版本Http1.0还是http1.1服务器运行的又是什么版本呢
答:
我的浏览器运行的是Http1.1版本(RequestVersion:
HTTP/1.1)。
服务器运行的是Version4。
(2)你的浏览器告诉服务器它能够接受的语言是?
答:
Accept-Language:
zh-CN\r\n(即中文简体)
(3)你浏览器所在的IP是服务器的Ip又是
答:
浏览器的IP是192.168.1.103,服务器的IP是128.119.245.12。
(4)服务器返回给浏览器的状态代码是这次访问成功了么
答:
状态代码是StatusCode:
200。
这次的访问成功了(ResponsePhrase:
OK)。
(5)浏览器所访问的Html文件上次被修改的时间是?
答:
Date:
Thu,15Jun201707:
51:
16
(6)间隔两分钟后再重新访问该Html文件(即刷新IE浏览器),再次查看Html文件上被修改的时间是对比与问题5的答案,你观察出了什么结论
答:
Date:
Thu,15Jun201707:
53:
16。
结论是最后的修改时间会随着抓包的时间不同而改变
(7)服务器返回给浏览器的分组的内容长度是多少?
答:
128个字节。
2.Http附加条件判断的请互动机制
我们知道,当前主要浏览器都有一个缓存机制,即将刚访问的页面内容保存在IE缓存区。
在此基础上,当用户重新访问该页面时,浏览器会智能地发出一个带条件判断的Http请求,即请求时告诉服务器自己所缓存文件的时间戳。
为了详细观察这一带条件判断请求互动机制,请进行如下操作:
1、打开IE浏览器,并清除IE浏览器的所有缓存文件。
2、打开Wireshark软件,打开抓包菜单中的网络接口子菜单,从中选择本机使用的网络接口。
3、切入包捕获界面后,在过滤栏中输入http&&ip.dst==128.119.245.12||ip.src==128.119.245.12,即只观察与128.119.245.12交互的http分组。
4、在IE地址栏输入:
http:
//gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file2.html,回车后访问该地址。
5、十秒后,点IE刷新栏,重新访问该地址。
6、将观察到的Wireshark软件结果截图保存,如图63所示。
图64访问http:
//gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file2.html后的Wireshark显示界面
观察实验结果,回答以下问题:
(1)观察浏览器发出的第一个Get请求,你在里面看到了IF-MODIFIED-SINCE字段么?
答:
没有看到IF-MODIFIED-SINCE字段。
(2)观察服务器对应的第一个Response回复,它返回了所请求的html文件么
答:
返回了。
如图65所示
图65服务器返回所请求的html文件
(3)观察第二个浏览器发出的第二个Get请求,你在里面看到IF-MODIFIED-SINCE字段么如果有,它携带的具体信息是
答:
依然没有看到IF-MODIFIED-SINCE字段。
(4)服务器所回复的第二个Response回复的状态码是它携带了浏览器所请求的Html文件么如果没有,请作出相应的解释。
答:
StatusCode:
404。
他没有鞋带浏览器所。
请求的HTML文件。
因为回复字段是NotFound,表示并没有找到浏览器所请求的文件。
3.通过Http获取大文件
(1)启动浏览器,将浏览器的缓存清空。
(2)启动Wireshark分组俘获器,开始Wireshark分组俘获。
(3)在浏览器地址栏中输入如下网址:
http:
//gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file3.html
浏览器将显示一个相当大的美国权力法案
(4)停止Wireshark分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。
在本节实验中,实体数据是指HTTP-wireshark-file3.html这个整html文件;而该文件的大小为4861Byte,超过了一个Tcp包可以容纳的长度(本机器为1460Byte加上头部的20个字节)。
因此,服务器将整个http响应包拆成四个长度分别为1440\1440\1440\541的四个TCP分组。
在传输过程中,由于所经历的路径不一致,这四个分组(26,27,29,31)并非按原先的发送顺序到达,而存在错序的情况!
因此,浏览器需要将这四个分组重新组合后开成一个完整的Http响应包。
图66访问http:
//gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file3.html后的Wireshark显示界面
回答如下问题:
(1)你的浏览器一共发出了多少个HTTPGET请求
答:
1个。
(2)承载这一个HTTP响应报文一共需要多少个data-containingTCP报文段?
答:
4个
(3)与这个HTTPGET请求相对应的响应报文的状态代码和状态短语是什么?
答:
状态代码是200,状态短语是OK。
(4)在被传送的数据中一共有多少个HTTP状态行与TCP-induced”continuation”有关?
答:
4个。
4.传输涉及嵌入式文件的Html文件
(1)启动浏览器,将浏览器的缓存清空。
(2)启动Wireshark分组俘获器。
开始Wireshark分组俘获。
(3)在浏览器地址栏中输入如下网址:
http:
//gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file4.html
浏览器将显示一个具有两个图片的短HTTP文件。
(4)停止Wireshark分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。
(5)观察Wireshark的实验结果。
图66展示了该页面在IE的显示内容。
从图66可以看出,该页面中除了包括文字信
息外,还包含两个图片:
一个Pearson图标文件,一个计算机网络课程英文版(第五
版)的正面图片。
图67则是实验的Wireshark结果。
图66访问http:
//gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file4.html后的IE显示界面
图67访问http:
//gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file4.html后的Wireshark显示界面
详细观察实验结果,然后试着回答如下问题:
(1)两个图片的格式分别是?
答:
分别是.png(Person图标)和.jpg。
(2)你的浏览器一共发出了多少个Get请求?
各个请求所指向的服务器地址分别
是它们所请求的对象分别是
答:
3个。
服务器的地址分别是:
128.119.245.12、128.119.240.90。
它们所请求的对象分别是:
文本、Person.png格式的图片和.jpg格式的图片
(3)你的浏览器是并行还是串行下载所请求的两个图片文件?
请根据结果给出你
的答案并作出解释。
(先理解串行、并行下载的区别)
答:
并行下载。
因为这样可以不用每次下载都要建立TCP连接,可以缩短下载时间。
5.观察Http的安全性能
(1)启动浏览器,将浏览器的缓存清空。
(2)启动Wireshark分组俘获器。
开始Wireshark分组俘获。
切入包捕获界面后,在过滤栏输入http,即只观察http分组。
(3)在浏览器地址栏中输入如下网址:
http:
//gaia.cs.umass.edu/wireshark-labs/protected_pages/HTTP-wireshark-file5.html
浏览器将显示一个HTTP文件,输入所需要的用户名和密码(用户名:
wireshark-students,密码:
network)。
(4)停止Wireshark分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。
(5)观察Wireshark的实验结果。
图68访问http:
//gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file5.html后的Wireshark显示界面
注意抓取的数据包中还包含了qq浏览器的注意区分
试着回答以下内容:
(1)对于浏览器发出的最初的HTTPGET请求,服务器的响应是什么(状态代码和状态短语)
答:
StatusCode:
401ResponsePhrase:
Unauthorized
(2)当浏览器发出第二个HTTPGET请求时,在HTTPGET报文中包含了哪些新的字段?
答:
新的字段是:
Authorization:
Basicd2lyZXNoYXJrLXN0dWRlbnRzOm5ldHdvcms=\r\n
(3)第二个Get请求分组中的Authorization分组所携带的信息是什么它们是用什么编码的试访问来逆向解析这串编码信息所对应的文字信息。
答:
携带的信息是上述输入的用户名和密码。
(4)如果第二个Get请求分组被别人截获,你输入的用户名和密码别人能够知
晓么?
试解释并分析Http的安全性能。
答:
如果第二个Get请求分组被别人截获的话,用户名和密码都会泄露。
原因如下图:
图69Authorization所携带的内容
一展开Authrization既可以知道用户名和密码。
六、实验数据记录和结果分析
使用HTTP协议的URL的一般形式,如图70所示:
图70使用HTTP协议的URL的一般形式
七、实验体会、质疑和建议
体会
通过这次实验,我大致掌握使用Wireshark分析俘获HTTP协议的基本技能;深刻理解HTTP重要的工作机理和过程。
Http协议的Get/Resonse互动机制;Http协议的分组格式;如何利用Http传输Html文件;如何利用Http传输图片、动画等嵌入式文件;初步学会了观察分析Http的安全性能。
质疑和建议
1)更深地了解到计算机网络技术的先进性和重要性,在网络方面还有更多有趣实用的知识等着我们去探索。
2)计算机网络是计算机技术和通信技术相互结合、相互渗透而形成的一门新兴学科。
通过简单的分析和实验,越来越觉得网络技术的实用性特别强,在当今的信息化时代,掌握一定的网络技术应当纳入我们每一个人的能力范围;21世纪的我们,必须学好科学技术才能站得住脚!
!
!
在实验中,让我们体会到合作的重要性!
!
!
!
实验前做好准备,要了解实验目的的要求,要详读实验的步骤,实验过程要谨慎仔细等等。