实训二 用WireShark分析IP、TCP、HTTP
更新时间:2023-09-20 00:13:01 阅读量: 小学教育 文档下载
- 实训二原始凭证的填制答案推荐度:
- 相关推荐
计算机学院网络工程2012(1)班 学号:3112006354 姓名:詹德超
实训二 用WireShark分析IP、TCP、HTTP 一、实验目的
1. 分析HTTP协议报文的首部格式,理解HTTP协议的工作过程。 2. 用 Wireshark 捕获和分析 HTTP 报文。
二、实验设备
1. 接入Internet的计算机主机; 2. 抓包工具WireShark。
三、实验内容
1.HTTP 协议简介
HTTP 是超文本传输协议 (Hyper Text Transfer Protocol)的缩写,用于WWW 服务。 (1)HTTP 的工作原理
HTTP 是一个面向事务的客户服务器协议。尽管HTTP 使用TCP 作为底层传输协议,但HTTP协议是无状态的。也就是说,每个事务都是独立地进行处理。当一个事务开始时,就在万维网客户和服务器之间建立一个TCP 连接,而当事务结束时就释放这个连接。此外,客户可以使用多个端口和服务器(80 端口)之间建立多个连接。其工作过程包括以下几个阶段。
① 服务器监听TCP 端口 80,以便发现是否有浏览器 (客户进程)向它发出连接请求; ② 一旦监听到连接请求,立即建立连接。 ③ 浏览器向服务器发出浏览某个页面的请求,服务器接着返回所请求的页面作为响应。 ④ 释放TCP 连接。
在浏览器和服务器之间的请求和响应的交互,必须遵循HTTP 规定的格式和规则。 当用户在浏览器的地址栏输入要访问的HTTP 服务器地址时,浏览器和被访问HTTP 服务器的工作过程如下:
① 浏览器分析待访问页面的URL 并向本地DNS 服务器请求IP 地解析; ② DNS 服务器解析出该HTTP 服务器的IP 地址并将IP 地址返回给浏览器; ③ 浏览器与HTTP 服务器建立TCP 连接,若连接成功,则进入下一步; ④ 浏览器向HTTP 服务器发出请求报文 (含GET 信息),请求访问服务器的指定页面; ⑤ 服务器作出响应,将浏览器要访问的页面发送给浏览器,在页面传输过程中,浏览 器会打开多个端口,与服务器建立多个连接; ⑥ 释放TCP 连接;
⑦ 浏览器收到页面并显示给用户。
(2)HTTP 报文格式
1
HTTP 有两类报文:从客户到服务器的请求报文和从服务器到客户的响应报文。图1显示了两种报文的结构。
图1 HTTP 的请求报文和响应报文结构
在图 1中,每个字段之间有空格分隔,每行的行尾有回车换行符。各字段的意义如下: ① 请求行由三个字段组成:
* 方法字段,最常用的方法为 “GET”,表示请求读取一个万维网的页面。常用的方法 还有 “HEAD(指读取页面的首部)”和“POST(请求接受所附加的信息);
* URL 字段为主机上的文件名,这时因为在建立TCP 连接时已经有了主机名; * 版本字段说明所使用的HTTP 协议的版本,一般为 “HTTP/1.1”。 ② 状态行也有三个字段:
* 第一个字段等同请求行的第三字段; * 第二个字段一般为 “200”,表示一切正常,状态码共有41 种,常用的有:301 (网站已转移),400(服务器无法理解请求报文),404(服务器没有锁请求的对象)等; * 第三个字段时解释状态码的短语。
③ 根据具体情况,首部行的行数是可变的。请求首部有Accept 字段,其值表示浏览器可以接受何种类型的媒体;Accept-language,其值表示浏览器使用的语言;User-agent 表明可用的浏览器类型。响应首部中有Date、Server、Content-Type、Content-Length 等字段。在请求首部和响应首部中都有 Connection 字段,其值为Keep-Alive 或 Close,表示服务器在传送完所请求的对象后是保持连接或关闭连接。
④ 若请求报文中使用 “GET”方法,首部行后面没有实体主体,当使用 “POST”方法是,附加的信息被填写在实体主体部分。在响应报文中,实体主体部分为服务器发送给客户的对象。
图2 和图3 显示了Wireshark 捕获的HTTP 请求和响应报文,结合上面的介绍,请自己分析和体会。
2
图2 HTTP 请求报文示例
图3 HTTP 响应报文示例
2.实验环境与说明 (1)实验目的
在PC 机上访问Web 页面,截获报文,分析HTTP 协议的报文格式和HTTP协议的工作过程。
(2)实验设备和连接
本地实验室环境,无须设备连接;
注意:请通过访问可以连接的WWW 站点或使用IIS 建立本地WWW 服务器来进行实验。
3.实验步骤
实验1、简单网页捕获与分析。
步骤1:在PC 机上运行Wireshark,开始截获报文;
步骤2:打开浏览器,清空浏览器的缓存。从浏览器上访问下列URL地址。打开网页,待浏览器的状态栏出现 “完毕”信息后关闭网页。
? http://www.rfc-editor.org/CurrQstats.txt
浏览器中将显示一个只有一行或多行文字的非常简单的HTML文件。
步骤3:停止截获报文,将截获的报文命名为test1保存。 分析截获的报文,回答以下几个问题:
(1) 综合分析截获的报文,查看有几种HTTP 报文?
答:有两类报文:从客户到服务器的请求报文和从服务器到客户的响应报文。
(2) 在截获的HTTP 报文中,任选一个HTTP 请求报文和对应的 HTTP 应答报文,仔
细分析它们的格式,填写表1和表2。
3
从应用层分析报文格式
表1 HTTP 请求报文格式 方 法 URL 首部字段名 Accept Accept-Encoding 字段值 */* gzip, deflate GET 版 本 /CurrQstats.txt 字段所表达的信息 浏览器支持的媒体类型为*/* 支持的编码类型 HTTP/1.1 User-Agent User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 使用的用户代理Mozilla/4.0 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 3.0.4506.2152; .NET4.0C; .NET4.0E) www.rfc-editor.org Keep-Alive 请求的服务地址 连接类型为:持久连接 Host Connection 表2 HTTP 应答报文格式
版 本 短 语 首部字段名 Date Server 字段值 Fri, 11 Dec 2015 01:46:46 GMT Apache HTTP/1.1 状态码 OK 字段所表达的信息 报文创建时间 服务器为Apache 浏览器当前资源最后缓存时间 缓存相关的头 单位 实体内容长度 保持多长时间 保持持久连接 告诉浏览器回送数据类型 200 Last-Modified Tue, 08 Dec 2015 07:20:02 GMT ETag Accept-Ranges Content-Length Keep-Alive Connection Content-Type \ bytes 1282 timeout=15, max=99 Keep-Alive text/plain (3) 分析在截获的报文中,客户机与服务器建立了几个连接?服务器和客户机分别
使用了哪几个端口号?
客户机:3505 服务器:80
(4)综合分析截获的报文,理解HTTP 协议的工作过程,将结果填入表3 中。 表3 HTTP 协议工作过程 HTTP 客户机端口号 HTTP 服务器端口号 所包括的报文号 步骤说明 3050 80 140 客户端发起tcp请求
4
3050 80 144 服务器应答tcp请求 3050 80 145 客户端第三次握手 3050 80 146 发送http请求报文 3050 80 157 服务器回应http请求 (4) 分析此次页面获取过程中建立了几次TCP链接,此链接是否释放了。 答:并没有释放连接;没有发送FIN报文。 实验2、超媒体页面捕获与分析 (1) 启动浏览器,将浏览器的缓存清空。
(2) 启动WireShark分组俘获器。开始WireShark分组俘获。
(3) 在浏览器的地址栏中输入某个地址,(需要满足该地址下的网页是包含多个内嵌对
象即可)。 (4) 停止WireShark分组俘获,将捕获结果保存为test2
(5) 重新启动Web browser。启动WireShark分组俘获器,进行分组捕获。在Web browser
当中重新输入相同的URL或单击浏览器中的“刷新”按钮。 (6) 步骤同(5)。将捕获结果保存为test3。
根据操作回答下面的问题。 (1) 填写浏览器的输入的URL地址。
在命令行输入ipconfig/flushdns完成操作 URL地址: www.http://www.wodefanwen.com/
(2) 分析test2的捕获文件,你的浏览器一共发出了多少个HTTP GET请求,每个GET 请
求的对象是什么?这些请求被发送到的目的地的IP地址是多少? 序号 GET 的对象 目的地的IP地址 与此GET请求相对应的响应报文的状态码 200 200 200 200 200 200 200 25 38 39 45 50 56 111
/ /img/baidu_sylogo.gif /cache/global/img/gs.gif /r/www/cache/sug/js/bdsug-1.1.js /r/www/cache/sug/js/hps-1.5.js /r/www/img/i-1.0.0.png /favicon.ico 119.75.218.70 119.75.218.70 119.75.218.70 119.75.215.108 119.75.215.108 119.75.215.108 119.75.218.70 (3) 分析你的浏览器向服务器发出的第一个HTTP GET请求的内容,在该请求报文中,是
否有一行是:IF-MODIFIED-SINCE?分析服务器响应报文的内容,服务器是否明确返回了文件的内容?如何获知?
If-Modified-Since是标准的HTTP请求头标签,在发送HTTP请求时,把浏览器端缓存页面的最后修改时间一起发到服务器去,服务器会把这个时间与服务器上实际文件的最后修改时间进行比较。
如果时间一致,那么返回HTTP状态码304(不返回文件内容),客户端接到之后,就直接把本地缓存文件显示到浏览器中。
5
如果时间不一致,就返回HTTP状态码200和新的文件内容,客户端接到之后,会丢弃旧文件,把新文件缓存起来,并显示到浏览器中。
(4) 分析捕获文件test3分析你的浏览器向服务器发出的第二个“HTTP GET”请求,在
该请求报文中是否有一行是:IF-MODIFIED-SINCE?如果有,在该首部行后面跟着的信息是什么?
没有,是最新的缓存,服务器回应304
(5) 服务器对第二个HTTP GET请求的响应中的HTTP状态代码是多少?服务器是否明确
返回了文件的内容?请解释。
如果不是最新,服务器将返回200,并发送最新内容。
实验3、观察在HTTP/1.0和HTTP/1.1下的TCP连接的建立与释放过程(何时、由谁启动)
HTTP/1.0协议使用非持久连接,即在非持久连接下,一个tcp连接只传输一个Web对象,; HTTP/1.1默认使用持久连接(然而,HTTP/1.1协议的客户机和服务器可以配置成使用非持久连接)
在持久连接下,不必为每个Web对象的传送建立一个新的连接,一个连接中可以传输多个对象
6
如果时间不一致,就返回HTTP状态码200和新的文件内容,客户端接到之后,会丢弃旧文件,把新文件缓存起来,并显示到浏览器中。
(4) 分析捕获文件test3分析你的浏览器向服务器发出的第二个“HTTP GET”请求,在
该请求报文中是否有一行是:IF-MODIFIED-SINCE?如果有,在该首部行后面跟着的信息是什么?
没有,是最新的缓存,服务器回应304
(5) 服务器对第二个HTTP GET请求的响应中的HTTP状态代码是多少?服务器是否明确
返回了文件的内容?请解释。
如果不是最新,服务器将返回200,并发送最新内容。
实验3、观察在HTTP/1.0和HTTP/1.1下的TCP连接的建立与释放过程(何时、由谁启动)
HTTP/1.0协议使用非持久连接,即在非持久连接下,一个tcp连接只传输一个Web对象,; HTTP/1.1默认使用持久连接(然而,HTTP/1.1协议的客户机和服务器可以配置成使用非持久连接)
在持久连接下,不必为每个Web对象的传送建立一个新的连接,一个连接中可以传输多个对象
6
正在阅读:
实训二 用WireShark分析IP、TCP、HTTP09-20
ETF业务常见问题解答07-25
有史以来最全的C&C++语言笔试面试题05-03
2019精选教育高中语文《获得教养的途径》教学反思 doc11-29
爱在人间作文700字06-20
初中数学北师大版《七年级下》《第一章 整式的运算》《1.7 平方差公式》精选专项试题训练含12-25
中考历史复习提纲05-01
“十三五”规划重点-年产50万台大功率永磁电机生产线项目建议书03-24
女性不孕症患者心理分析及护理干预05-10
- 通信原理实验报告
- 2016年上半年安徽省临床医学检验技术中级技师职称试题
- 传智播客刘意老师JAVA全面学习笔记
- 星级酒店客房部保洁服务标准与工作流程操作规范 - PA新员
- 算法竞赛入门经典授课教案第1章 算法概述
- 《微信公众平台架起家校互通桥》结题报告
- 2018年宁夏银川市高考数学三模试卷(理)Word版含解析
- 大学生创业基础 - 尔雅
- 2016年6月英语六级真题写作范文3套
- 中国磁性材料纸行业专项调查与发展策略分析报告(2015-2020)
- 云南省2018届高三普通高中学业水平考试化学仿真试卷二Word版缺答案
- 窗函数法设计低通滤波器
- 第三章 绩效考评方法与绩效管理模式
- 高等数学教案
- 个人独资合伙企业习题及答案
- 小学语文沪教版三年级上册第六单元第30课《想别人没想到的》公开课优质课教案比赛讲课获奖教案
- 曳引钢丝绳及其他曳引系统校核计算 - 图文
- 淮阴工学院管理学期末试卷7 - 图文
- 受力分析方法(1)
- 2013-2014学年陕西省西安市西工大附小五年级(上)期末数学试卷及解析
- WireShark
- 分析
- HTTP
- TCP
- 城市建筑余泥渣土处理及再生利用
- 铁路运输安全管理试卷
- 杯弓蛇影-word范文(4页)
- 骨科出科考试
- 9平衡态与分子热运动的统计规律习题思考题
- 现浇混凝土结构模板现场质量检验单
- 福建省教育厅关于进一步加强学校及周边治安防范工作的通知
- 市政工程竣工验收质量评价报告(监理单位) 2
- 《工程制图》期末考试题(大专)
- ISO27001 2013版信息安全内部审核及管理评审全套资料2018年最新企业内部管理体系审核资料汇编 - 图文
- 流水线调度优化模型 武大数模选拔
- 互换性实验指导书 - 图文
- 作文评分标准(完整版全)内含作文评分标准以及议论记叙的评分标准,还有注意事项,内附两篇佳作
- 辽宁省辽阳市第九中学八年级生物上册 第十四章 丰富多彩的生物世界知识点 苏教版 - 图文
- 泰医局部解剖复习题
- 2005年11月助理人力资源管理师试题及答案
- 2014真卷仿句及病句修改
- 高炉停蒸汽应急预案
- 四六级作文讲座专题
- 2014级 表1高级英语课程目标达成度评价表3