实验目的:

1.熟悉网络协议分析软件的使用;

2.学会抓包和过滤,并能对抓取的数据进行简单分析。

实验设备和环境:

 

ensp打开wireshark没反应_ensp打开wireshark没反应

实验过程及步骤:

1.根据实验拓扑图完成实验环境的搭建;

ensp打开wireshark没反应_ensp打开wireshark没反应_02

2.根据相关信息进行网络配置,此处可以自己发挥,并可以故意设置错误,通过抓包来分析错误的原因,并解决此问题;

ensp打开wireshark没反应_ensp打开wireshark没反应


3.完成web服务器的设置:

ensp打开wireshark没反应_HTTP_04

4.完成DNS的设置:

ensp打开wireshark没反应_客户端_05

5.抓取浏览器的数据,观察DNS服务器及web服务器开启和没开启时的数据有何不同,并进行简单的解释说明;

        当DNS服务器没有开启,WEB服务器开启时:

ensp打开wireshark没反应_客户端_06

        上述结果表明,启动DNS服务器失败,无法解析域名,数据获取失败。

        DNS服务器开启,WEB服务器没有开启时:

ensp打开wireshark没反应_服务器_07

        上述结果表明,启动了DNS服务器,但连接WEB服务器失败,数据获取失败。

        当两个服务器都开启时:

ensp打开wireshark没反应_ensp打开wireshark没反应_08

        成功接收到了文件。这个响应报文的状态码是200,表示请求成功。服务器软件是ENSP HttpServer,认证的信息是华为,响应体是一个长度为576523字节、媒体类型为HTML的文本内容。

        得到了发送的数据和http协议的包。

ensp打开wireshark没反应_计算机网络_09

6.分析HTTP协议,了解应用层协议实现的一些细节问题。

ensp打开wireshark没反应_HTTP_10

ensp打开wireshark没反应_HTTP_11

HTTP请求是客户端向服务器发送的请求消息。HTTP协议定义了几种常用的请求方法,包括GET、POST、PUT、DELETE等。这些方法用于指定客户端希望服务器执行的操作。当服务器收到HTTP请求后,会根据请求方法、URL等信息进行相应的处理,并返回对应的响应信息给客户端。

HTTP响应是Web服务器向客户端返回的数据。它包括一个状态行、响应头和响应体。状态行包含了HTTP版本、状态码和相应的状态信息。状态码是一个三位数的数字,用于指示请求的处理结果。常见的状态码包括200表示成功,404表示资源未找到,500表示服务器内部错误等。

本次请求使用GET请求方法,使用HTTP/1.1协议版本。

请求头部包括以下信息:

Accept: 表示客户端可接受的响应内容类型,这里是指接受任意类型。

Accept-Language: 客户端接受的语言类型,这里是中文。

User-Agent: 客户端的浏览器信息,这里是Mozilla/4.0。

Accept-Encoding: 客户端接受的内容压缩方式,这里是gzip和deflate。

Host: 请求的主机名,这里是www.jd.com。

Connection: 指示客户端请求响应后的连接状态,这里是Keep-Alive,表示保持连接。

ensp打开wireshark没反应_客户端_12

如图,HTTP报文携带576523 字节,而TCP报文段数据共576654字节,相减为131字节,即为HTTP报文请求行、请求头的长度。

ensp打开wireshark没反应_计算机网络_13

实验总结:

遇到问题:抓包抓不到信息。

解决办法:没有获取地址,获取后问题解决。

收获和体会:

        从实验中学习了HTTP协议的工作原理。在实验中我们可以清晰地看到HTTP请求和响应报文的结构,以及报文中的各个字段和数据。这有助于我们理解HTTP协议是如何在客户端和服务器之间进行通信的。

        HTTP协议是无状态的、基于请求-响应的协议。在实验中,我们可以看到每个HTTP请求和响应都是独立的,服务器不会保存任何关于客户端的状态信息,这需要客户端自己保存和传递状态。

        通过实验,我们可以学会如何分析和解读一个HTTP响应报文。从状态行中获取响应的状态码和原因短语,从响应头中获取关于响应的一些元数据信息,例如响应的类型、长度、日期等,最后通过解析响应体来获取实际的响应内容。