资源描述
一、 试验名称 超文本传输协议 Http分析
二、 试验目:
1. 掌握使用Wireshark分析俘获HTTP协议基础技能;
2. 深刻了解HTTP关键工作机理和过程。
三、 试验内容和要求
1、 Http协议Get/Resonse互动机制;
2、 Http协议分组格式;
3、 怎样利用Http传输Html文件;
4、 怎样利用Http传输图片、 动画等嵌入式文件;
5、 观察Http安全性能。
四、 试验环境
1)与因特网连接计算机
2)操作系统为Windows 8.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 浏览器输入 :
wireshark-file1.html; 此时浏览器应该会显示一个最简单 html 页面(只有一行 )。
5、 此时, Wireshak软件应该抓取Http数据包如图63所表示:
图63访问
从上图中可观察到总共捕捉到四个 http 包, 其中, 包含两对 Http Get分组(由本机浏览器向服务器 gaia.cs.umass.edu发出请求 )以及服务器返回响应分组。需要注意是, 第一轮请求与回复 请求是具体页面; 而第二轮请求与回复包含却是一个 favicon.ico 文件。分组内容展示窗口中能够观察这两个分组具体信息。从展开分组内容中能够看出: Http 包是经由 Tcp协议传输, 而 Tcp 又是附加在IP 数据包基础上, 后者又附加在一个以太网帧内。以 第一轮 分组为观察目标, 试着回复以下问题:
(1)你浏览器运行是什么协议版本? Http1.0 还是 http1.1? 服务器运行又是什么版本呢?
答: 我浏览器运行是Http1.1版本(Request Version: HTTP/1.1)。服务器运行是Version 4 。
(2)你浏览器告诉服务器它能够接收语言是?
答: Accept-Language: zh-CN\r\n(即汉字简体)
(3)你浏览器所在 IP 是?服务器 Ip 又是?
答: 浏览器IP是192.168.1.103, 服务器IP是128.119.245.12。
(4)服务器返回给浏览器状态代码是?这次访问成功了么?
答: 状态代码是Status Code: 200 。这次访问成功了(Response Phrase: OK)。
(5)浏览器所访问 Html 文件上次被修改时间是?
答: Date: Thu, 15 Jun 07:51:16
(6)间隔两分钟后再重新访问该 Html 文件(即刷新 IE 浏览器 ), 再次查看 Html文件上被修改时间是?对比与问题 5答案, 你观察出了什么结论?
答: Date: Thu, 15 Jun 07: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地址栏输入: , 回车后访问该地址。
5、 十秒后, 点 IE 刷新栏, 重新访问该地址。
6、 将观察到 Wireshark软件结果截图保留,如图63所表示。
图 64 访问
观察试验结果, 回复以下问题 :
(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 文件么?假如没有, 请作出对应解释。
答: Status Code: 404。她没有鞋带浏览器所。请求HTML文件。因为回复字段是Not Found, 表示并没有找到浏览器所请求文件。
3. 经过 Http 获取大文件
(1)开启浏览器, 将浏览器缓存清空。
(2)开启Wireshark 分组俘获器, 开始Wireshark分组俘获。
(3)在浏览器地址栏中输入以下网址:
浏览器将显示一个相当大美国权力法案
(4)停止Wireshark分组俘获, 在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到HTTP报文。
在本节试验中, 实体数据是指 HTTP-wireshark-file3.html这个整 html 文件; 而该文件大小为 4861Byte, 超出了一个 Tcp 包能够容纳长度(本机器为 1460 Byte加上头部20个字节)。所以, 服务器将整个 http 响应包拆成四个长度分别为 1440\1440\1440\541四个 TCP 分组。在传输过程中, 因为所经历路径不一致, 这四个分组 (26,27,29,31)并非按原先发送次序抵达, 而存在错序情况! 所以, 浏览器需要将这四个分组重新组合后开成一个完整 Http 响应包。
图 66 访问
回复以下问题:
(1)你浏览器一共发出了多少个HTTP GET请求
答: 1个。
(2)承载这一个HTTP响应报文一共需要多少个data-containing TCP报文段?
答: 4个
(3)与这个HTTP GET请求相对应响应报文状态代码和状态短语是什么?
答: 状态代码是200, 状态短语是OK。
(4)在被传送数据中一共有多少个HTTP状态行与TCP-induced”continuation”相关?
答: 4个。
4. 传输包含嵌入式文件 Html 文件
(1)开启浏览器, 将浏览器缓存清空。
(2)开启Wireshark分组俘获器。开始Wireshark分组俘获。
(3)在浏览器地址栏中输入以下网址:
浏览器将显示一个含有两个图片短HTTP文件。
(4)停止Wireshark分组俘获, 在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到HTTP报文。
(5)观察 Wireshark 试验结果。
图 66 展示了该页面在 IE 显示内容。从图 66 能够看出, 该页面中除了包含文字信
息外, 还包含两个图片: 一个 Pearson图标文件, 一个计算机网络课程英文版 (第五
版)正面图片。图 67则是试验 Wireshark 结果。
图 66 访问
图 67 访问
具体观察试验结果, 然后试着回复以下问题:
(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文件, 输入所需要用户名和密码(用户名: wireshark-students,密码:network)。
(4)停止Wireshark分组俘获, 在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到HTTP报文。
(5)观察 Wireshark 试验结果。
图 68 访问
注意抓取数据包中还包含了qq浏览器注意区分
试着回复以下内容:
(1) 对于浏览器发出最初HTTP GET请求, 服务器响应是什么(状态代码和状态短语)?
答: Status Code: 401 Response Phrase: Unauthorized
(2)当浏览器发出第二个HTTP GET请求时, 在HTTP GET报文中包含了哪些新字段?
答: 新字段是: Authorization: Basic d2lyZXNoYXJrLXN0dWRlbnRzOm5ldHdvcms=\r\n
(3)第二个 Get 请求分组中 Authorization 分组所携带信息是什么?它们是用什么编码?试访问 来逆向解析这串编码信息所对应文字信息。
答: 携带信息是上述输入用户名和密码。
(4)假如第二个 Get 请求分组被他人截获, 你输入用户名和密码他人能够知
晓么?试解释并分析 Http 安全性能。
答: 假如第二个 Get 请求分组被他人截获话, 用户名和密码都会泄露。原因以下图:
图69 Authorization所携带内容
一展开Authrization既能够知道用户名和密码。
六、 试验数据统计和结果分析
使用HTTP协议URL通常形式, 如图70所表示:
图70使用HTTP协议URL通常形式
七、 试验体会、 质疑和提议
体会
经过这次试验, 我大致掌握使用Wireshark分析俘获HTTP协议基础技能; 深刻了解HTTP关键工作机理和过程。 Http协议Get/Resonse互动机制; Http协议分组格式; 怎样利用Http传输Html文件; 怎样利用Http传输图片、 动画等嵌入式文件; 初步学会了观察分析Http安全性能。
质疑和提议
1)更深地了解到计算机网络技术优异性和关键性, 在网络方面还有更多有趣实用知识等着我们去探索。
2)计算机网络是计算机技术和通信技术相互结合、 相互渗透而形成一门新兴学科。经过简单分析和试验, 越来越认为网络技术实用性尤其强, 在当今信息化时代, 掌握一定网络技术应该纳入我们每一个人能力范围; 二十一世纪我们, 必需学好科学技术才能站得住脚!!!在试验中, 让我们体会到合作关键性!!!!试验前做好准备, 要了解试验目要求, 要详读试验步骤, 试验过程要谨慎仔细等等。
展开阅读全文