第一次作业:使用Packet Tracer分析HTTP包
0. 个人信息
班级:计算1811
姓名:罗廷杨
学号:201821121013
1. 实验目的
熟练使用Packet Tracer工具。分析抓到的HTTP数据包,深入理解:HTTP协议,包括语法、语义、时序。
2. 实验内容
客户端向服务器发送请求报文,服务器向客户端发送响应报文。具体包含:
- 建立网络拓扑结构
- 配置参数
- 抓包
- 分析数据包
3. 实验报告
本次实验将利用Cisco Packet Tracer 7.2软件来模拟网络环境。
3.1 建立网络拓扑结构
分析:该拓扑结构表示客户端终端(用户)和服务器端(网站)之前的请求和应答。
3.2 配置参数
客户端终端(用户)的参数配置:
服务器端(网站)的参数配置
注意:为了使得客户端终端(用户)与服务器端(网站)能够正常通信,在配置参数时一定要注意,客户端终端(用户)与服务器端(网站)必须在同一网段内,且配置的的掩码要相同。
3.3 抓包并分析抓到的数据包
3.3.1 网站访问
WebBrowser 是一个 .NET 控件类,在 .NET Framework 2.0 版中新增,WebBrowser 类使用户可以在窗体中导航网页。用户只需在URL栏中输入要访问网站的IP,然后按下GO就可以对网站进行访问。
3.3.2 抓包
抓包步骤:
抓包结果:
数据包:
PC0数据包内容:
HTTP REQUEST
Server0数据包内容:
HTTP RESPONSE
3.3.3 分析抓到的数据包
HTTP协议定义Web客户端如何从Web服务器请求Web页面,以及服务器如何把Web页面传送给客户端。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求报文,请求报文包含请求的方法、URL、协议版本、请求头部和请求数据。服务器以一个状态行作为响应,响应的内容包括协议的版本、成功或者错误代码、服务器信息、响应头部和响应数据(以下主要分析请求报文和响应报文的内容)。
请求报文的格式:
请求报文分析(注意请求行已省略):
- HTTP Data:Accept-Language:en-us 表示用户希望优先得到英文版本的文档
- Accept: */* 表示用户希望接受任意数据类型
- Connection:close 表示告诉服务器发送完请求的文档后就可释放链接
- Host:192.168.1.12 表示用户所访问主机的域名
响应报文格式:
响应报文分析(注意状态行已省略):
- HTTP Data:Connection:close 表示告诉服务器发送完响应的文档后就可释放链接
- Content-Length:369 表示HTTP消息实体的传输长度
- Content-Type:text/xml 表示设置页面内容是html
- Server:PT-Server/5.2 表示后台服务器
3.4 通过该实验产生新的疑问及解答
在浏览器地址栏键入URL,按下GO之后会经历以下流程?
- 浏览器向 DNS 服务器请求解析该 URL 中的域名所对应的 IP 地址;
- 解析出 IP 地址后,根据该 IP 地址和默认端口 80,和服务器建立TCP连接;
- 浏览器发出读取文件(URL 中域名后面部分对应的文件)的HTTP 请求,该请求报文作为 TCP 三次握手的第三个报文的数据发送给服务器;
- 服务器对浏览器请求作出响应,并把对应的 html 文本发送给浏览器;
- 释放 TCP连接;
- 浏览器将该 html 文本并显示内容;
什么是URL?
统一资源定位符(Uniform Resource Locator,URL)是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
参考资料:
[1] https://www.cnblogs.com/ddjl/p/8669774.html
[2] https://blog.csdn.net/carson_ho/article/details/82106781