第一次实验报告:使用Packet Tracer分析HTTP数据包

姓名:黄思婷

学号:201821121065

班级:计算1813

0.摘要

        这篇博客记录的是我的第一个抓包实验,是我对计算机网络了解的初始。在下面的实验报告中,我将阐述我第一次使用Packet Tracer工具来抓取HTTP数据包的过程,并对抓取到的数据包中的信息进行解析,通过这样的实验来加深网络协议在网络信息传输中起到的作用的理解。

1 实验目的

熟练使用Packet Tracer工具。分析抓到的HTTP数据包,深入理解:HTTP协议,包括语法、语义、时序。

2 实验内容

客户端向服务器发送请求报文,服务器向客户端发送响应报文。具体包含:

  • 建立网络拓扑结构
  • 配置参数
  • 抓包
  • 分析数据包

3. 实验报告

3.1 实验过程及分析

(1)建立网络拓扑结构

最终建立网络拓扑结构如图。左侧的PC-PT为客户端,右侧的Server-PT为服务器端。

       在客户端上将会运行客户程序,而在服务器端上将会运行服务器程序。在两个应用程序之间将会产生通信关系:客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的文档。 

 (2)配置参数

单击PC,打开Desktop的IP-Configuration

 

 

 

客户端的IP地址(xx.xx.xx.xx)(后两位必须是你学号的尾数)。因此我将客户端的IP地址设置为:192.168.1.65

 

 

服务器的IP地址被设置成:192.168.1.66

 

(3)访问服务器

 

在客户端中,将服务器端的IP地址输入,表示客户程序对服务器程序将要发出请求。当服务器接收到了来自客户端的请求后,将会把相关的文档传输回客户端,这时在客户端上,我们将会看到客户程序向服务器程序发送请求所要的文档内容。

 

 

 

 (4)抓包并分析抓到的数据包

打开PC的Desktop选项的中的Web Browser

输入192.168.1.66

 

单击Go。返回到页面,选择HTTP,单击PLAY开始抓包。

 

 

 

 

 

上图是在对网络传输过程进行仿真模拟后的结果。

          HTTP有两类报文——请求报文与响应报文。下面将对这两类报文进行简单地分析:

HTTP REQUEST(请求报文)

HTTP Data:Accept-Language: en-us
Accept: */*
Connection: close
Host: 192.168.1.65

HTTP RESPONSE(响应报文)

HTTP Data:Connection: close
Content-Length: 369
Content-Type: text/html
Server: PT-Server/5.2

 

分析数据包

Accept-Language: en-us   {表示用户希望优先得到英文版本的文档}

Accept: */*                          {表示告知服务器客户端会接受与其请求相符的任意媒体类型}

HTTP/1.1 200 OK               {该行表示的是状态行。 状态码为200表示请求成功。该行省略}

Connection: close              {表示告诉服务器发送完请求的文档后就可释放连接}

Host: 192.168.1.65            {表示主机的域名}

Connection: close              {表示告诉服务器发送完请求的文档后就可释放连接}

Content-Length: 369          {表示描述HTTP消息实体的传输长度为369}

Content-Type: text/html     {表示具体请求中的媒体类型为HTML格式}

Server: PT-Server/5.2        {表示服务器的名称和版本}

 

(5)HTTP报文结构整理

         在对HTTP协议进行抓包仿真实验后,我对于HTTP的请求与响应报文的组成有了初步的了解。通过阅读课本,对于HTTP的报文结构的一些主要特点进行罗列。

  • HTTP的请求报文与响应报文都是由三个部分组成的,即开始行(请求报文中称请求行,响应报文中称状态行)、首部行、实体主体(在请求报文中一般不用该字段,在响应报文中也可能没有该字段)。
  • 请求报文中的请求行只有三个内容:方法、请求资源的URL、HTTP的版本
  • 响应报文中的状态行也只有三个内容:HTTP的版本、状态码、解释状态码的简单短语
  • 状态码都是三位数字,分为5大类。这5大类的状态码都是以不同的数字开头的,下面为5大类状态码表示的意思。

                  1xx:表示通知信息,如请求收到了或正在进行处理

                  2xx:表示成功,如接受(HTTP/1.1 202 Accepted)或知道了

                  3xx:表示重定向,如要完成请求还必须采用进一步的行动

                  4xx:表示客户的差错,如请求中有错误的语法(HTTP/1.1 400 Bad Request——错误的请求)或不能完成(HTTP/1.1 404 Not Found——找不到)

                  5xx:表示服务器的差错,如服务器失效无法完成请求

 3.2  通过该实验产生新的疑问及解答

(1)什么是网络拓扑图

 

  网络拓扑是网络形状,或者是它在物理上的连通性。构成网络的拓扑结构有很多种。网络拓扑结构是指用传输媒体互连各种设备的物理布局,就是用什么方式把网络中的计算机等设备连接起来。拓扑图给出网络服务器、工作站的网络配置和相互间的连接,它的结构主要有星型结构、环型结构、总栈结构、分布式结构、树型结构、网状结构、蜂窝状结构等。

 

(2) 什么是抓包

 

  抓包就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包也经常被用来进行数据截取等。

(3)为什么PC和服务器的IP地址不可以相同

 

posted @ 2019-09-08 15:02  哒哒-哒  阅读(1601)  评论(0编辑  收藏  举报