哈尔滨理工大学
软件与微电子学院
实 验 报 告
(2019-2020第二学期)
课程名称: | 计算机网络 |
班 级: | 软件18- 1 班 |
学 号: | 1814010130 |
姓 名: | 张立辉 |
哈尔滨理工大学软件与微电子学院
实验名称: | 实验一、HTTP和TCP协议分析 | 专 业 | 软件工程 | |||
---|---|---|---|---|---|---|
姓 名 | 张立辉 | 学 号 | 1814010130 | 班 级 | 软件18-1 |
一、实验目的:
1.掌握Ethereal/Wireshark的使用
2.分析HTTP协议
3.分析TCP协议
二、实验内容:
利用协议分析器Ethereal/Wireshark完成HTTP协议和TCP协议的分析
三、实验设备及软件环境:
与因特网连接的计算机网络系统;主机操作系统为windows;Ethereal/Wireshark、IE等软件
四、实验原理:
HTTP协议原型,TCP协议原型
五、实验过程及结果:
1.HTTP GET/response交互
首先通过下载一个非常简单的HTML文件(该文件非常短,并且不嵌入任何对象)。
启动Web browser。
启动Ethereal/Wireshark分组嗅探器。在窗口的显示过滤说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。
一分钟以后,开始Ethereal分组俘获。
在打开的Web browser窗口中输入一下地址(浏览器中将显示一个只有一行文字的非常简单的HTML文件):
http://gaia.cs.umass.edu/ethereal-labs/HTTP-ethereal-file1.html
http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file1.html
停止分组俘获。
窗口如图1所示。根据俘获窗口内容,回答1-6题。
2.HTTP 条件GET/response交互
启动浏览器,清空浏览器的缓存(在浏览器中,选择“工具”菜单中的“Internet选项”命令,在出现的对话框中,选择“删除文件”)。
启动Ethereal/Wireshark分组俘获器。开始Ethereal/Wireshark分组俘获。
在浏览器的地址栏中输入以下URL: http://gaia.cs.umass.edu/ethereal-labs/HTTP-ethereal-file2.html
http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file2.html
浏览器中将显示一个具有五行的非常简单的HTML文件。
在你的浏览器中重新输入相同的URL或单击浏览器中的“刷新”按钮。
停止Ethereal分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。
根据操作回答7-10题。
3.获取长文件
启动浏览器,将浏览器的缓存清空。
启动Ethereal/Wireshark分组俘获器。开始Ethereal/Wireshark分组俘获。
在浏览器的地址栏中输入以下URL:
http://gaia.cs.umass.edu/ethereal-labs/HTTP-ethereal-file3.html
http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file3.html,
浏览器将显示一个相当大的美国权力法案。
停止Ethereal/Wireshark分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。
根据操作回答11-13题。
4.嵌有对象的HTML文档
启动浏览器,将浏览器的缓存清空。
启动Ethereal/Wireshark分组俘获器。开始Ethereal/Wireshark分组俘获。
在浏览器的地址栏中输入以下URL:
http://gaia.cs.umass.edu/ethereal-labs/HTTP-ethereal-file4.html
http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file4.html
浏览器将显示一个具有两个图片的短HTTP文件
停止Ethereal/Wireshark分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。
操作回答14-15题。
5.HTTP认证
(1) 启动浏览器,将浏览器的缓存清空。
(2) 启动Ethereal/Wireshark分组俘获器。开始Ethereal/Wireshark分组俘获。
(3) 在浏览器的地址栏中输入以下URL:
http://gaia.cs.umass.edu/ethereal-labs/protected_pages/HTTP-ethereal-file5.html
浏览器将显示一个HTTP文件,输入所需要的用户名和密码(用户名:eth-students,密码:network)。
http://gaia.cs.umass.edu/wireshark-labs/protected_pages/HTTP-wireshark-file5.html
使用wireshark访问这个地址,用户名wireshark-students,密码 network
(4) 停止Ethereal/Wireshark分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。
根据操作回答“四、实验报告内容”中的16-17题。
6.俘获大量的由本地主机到远程服务器的TCP传输
http://gaia.cs.umass.edu/ethereal-labs/alice.txt网页,
http://gaia.cs.umass.edu/wireshark-labs/alice.txt
得到ALICE'S ADVENTURES IN WONDERLAND文本,将该文件保存到你的主机上。
打开http://gaia.cs.umass.edu/ethereal-labs/TCP-ethereal-file1.html
http://gaia.cs.umass.edu/wireshark-labs/TCP-wireshark-file1.html
窗口如下所示。
在Browse按钮旁的文本框中输入保存在你的主机上的文件ALICE'S ADVENTURES IN WONDERLAND的全名(含路径),此时不要按“Upload alice.txt file”按钮
启动Ethereal/Wireshark,开始分组俘获。
在浏览器中,单击“Upload alice.txt file”按钮,将文件上传到gaia.cs.umass.edu服务器,一旦文件上传完毕,一个简短的贺词信息将显示在你的浏览器窗口中。
停止俘获。
浏览追踪信息
在显示筛选规则中输入“tcp”,你可以看到在你的主机和服务器之间传输的一系列的tcp和http报文,你应该能看到包含SYN报文的三次握手。也可以看到有你的主机向服务器发送的一个HTTP POST报文和一系列的“http continuation”报文。
根据操作回答18-21题。
过滤方式示例
(ip.src==192.168.1.102 && ip.dst==128.119.245.12) or (ip.dst==192.168.1.102 && ip.src==128.119.245.12 )
六、实验结果分析:
在实验的基础上,回答以下问题:
(1) 你的浏览器运行的是HTTP1.0,还是HTTP1.1?你所访问的服务器所运行的HTTP版本号是多少?(截图)
答:1.1
(2) 你的浏览器向服务器指出它能接收何种语言版本的对象?(截图)
答:中文
(3) 你的计算机的IP地址是多少?服务器gaia.cs.umass.edu的IP地址是多少?(截图)
答:Source:192.168.1.5(本计算机IP地址),Destination:128.119.245.12(服务器IP地址)
(4) 从服务器向你的浏览器返回的状态代码是多少?(截图)
答:200
(5)你从服务器上所获取的HTML文件的最后修改时间是多少?(截图)
答:05-Jun-21
(6)返回到你的浏览器的内容一共有多少字节?(截图)
答:467
(7)分析你的浏览器向服务器发出的第一个HTTP GET请求的内容,在该请求报文中,是否有一行是:IF-MODIFIED-SINCE?(文字描述)
答:无
(8)分析服务器响应报文的内容,服务器是否明确返回了文件的内容?如何获知?(文字描述+截图)
答:返回了文件的内容
(9)分析你的浏览器向服务器发出的第二个“HTTP GET”请求,在该请求报文中是否有一行是:IF-MODIFIED-SINCE?如果有,在该首部行后面跟着的信息是什么?
答:
(10)服务器对第二个HTTP GET请求的响应中的HTTP状态代码是多少?服务器是否明确返回了文件的内容?请解释。(文字说明)
答:304,没有因为此文件在缓冲中已经下载过
(11)你的浏览器一共发出了多少个HTTP GET请求?(文字说明)
答:1个
(12)承载这一个HTTP响应报文一共需要多少个data-containing TCP报文段?(文字说明+截图)
答:4个
(13)与这个HTTP GET请求相对应的响应报文的状态代码和状态短语是什么?(文字说明)
答:200,ok
(14)你的浏览器一共发出了多少个HTTP GET请求?这些请求被发送到的目的地的IP地址是多少?(文字说明+截图)
答:3个,128.119.245.12
浏览器在下载这两个图片时,是串行下载还是并行下载?请解释。(文字说明)
答:分成两次传输的GET请求报文,并且在每次请求后分别对应收到响应报文。所以是串行的
(16) 对于浏览器发出的最初的HTTP GET请求,服务器的响应是什么(状态代码和状态短语)? (文字说明+截图)
答:401,unauthorized
(17 ) 当浏览器发出第二个HTTP GET请求时,在HTTP GET报文中包含了哪些新的字段?(文字说明+截图)
答:Authorization和Credentials
(18) Gaia.cs.umass.edu服务器的IP地址是多少?对这一连接,它用来发送和接收TCP报文段的端口号是多少?(文字说明+截图)
答:128.119.245.12 80
(19)客户服务器之间用于初始化TCP连接的TCP SYN报文段的序号(sequence number)是多少?在该报文段中,是用什么来标示该报文段是SYN报文段的?(文字说明+截图)
答:序号为0,该报文段中使用表示报文段。
(20)服务器向客户端发送的SYNACK报文段序号是多少?该报文段中,ACKnowledgement字段的值是多少?Gaia.cs.umass.edu服务器是如何决定此值的?在该报文段中,是用什么来标示该报文段是SYNACK报文段的?(文字说明+截图)
答:ACKnowledgement=1,
该报文段中,用 和 标识SYNACK。
(21)包含HTTP POST命令的TCP报文段的序号是多少?
答:151606
实验成绩: 指导教师: 年 月 日