华为ENSP实现dns、web服务器传输本地数据并用wireshark抓包

实验目的:

1.用客户机访问自己上传到web服务器的数据

2.通过ENSP设置web服务器和DNS服务器,客户机访问web的域名,通过域名解析从而访问数据

3.wireshark抓包验证试验的正确性

实验设备和环境:

 华为ENSP实现dns、web服务器传输本地数据并用wireshark抓包_第1张图片

实验过程及步骤:

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

     此实验是搭建使用http协议,所以需要搭建一个wbe服务器,这里我们用WEB_Server1表示。同时需要一个dns域名解析服务器,这里我们用DNS_server2表示。然后搭建了一个客户机一个主机。客户机的名字叫Brower。都通过交换机相连。

 

 2.根据相关信息进行客户端、DNS服务器、WEB服务器的ip设置

服务器使用的ip地址是192.168.56.30。这个ip地址是根据我自己的主机电脑配置的,如下所示:

华为ENSP实现dns、web服务器传输本地数据并用wireshark抓包_第2张图片

类似的,DNS服务器使用的ip是192.168.56.20,客户端使用的ip是192.168.56.10,我的主机使用的ip是192.168.56.40。以下是基础配置:

客户机:

华为ENSP实现dns、web服务器传输本地数据并用wireshark抓包_第3张图片

Web服务器

华为ENSP实现dns、web服务器传输本地数据并用wireshark抓包_第4张图片

DNS服务器

 

华为ENSP实现dns、web服务器传输本地数据并用wireshark抓包_第5张图片

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

华为ENSP实现dns、web服务器传输本地数据并用wireshark抓包_第6张图片

        服务器里面的内容来自我下载的京东网页和一个csnd的网页。这个服务器将会向访问这个服务器的所有客户端发送他们所需的内容。

4.完成DNS的设置

可参考下图:

华为ENSP实现dns、web服务器传输本地数据并用wireshark抓包_第7张图片

这里我所使用的域名是www.hello.com,我所使用的ip地址是web的ip地址为:192.168.56.30

5.抓取浏览器的数据

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

5.1当web服务器没有开启

首先,在服务器端进行访问并进行抓包,结果如下所示:

华为ENSP实现dns、web服务器传输本地数据并用wireshark抓包_第8张图片

  上述结果表明,启动了DNS服务器,但是web服务器并没有应答。所以数据获取失败。

5.2当DNS服务器没有开启

同理,首先在服务器端进行访问并进行抓包,结果如下所示:

  上述结果表明,启动了DNS服务器启动失败,也就是ip为192.168.56.10的客户机并不知道谁是www.hello.com,从而无法解析域名。所以数据获取失败。如下所示:

华为ENSP实现dns、web服务器传输本地数据并用wireshark抓包_第9张图片

5.3当DNS服务器和web服务器都开启的时候

    再次获取来自www.hello.com网站的东西就可以得到如下结果。即成功收到了来自服务器的文件。

华为ENSP实现dns、web服务器传输本地数据并用wireshark抓包_第10张图片

  此时利用抓包工具就得到了发送的数据和http协议的包,如下所示:

华为ENSP实现dns、web服务器传输本地数据并用wireshark抓包_第11张图片

实验成功完成!!!

5.4分析http协议

经过三次握手和四次挥手:

对文件长度的分析

华为ENSP实现dns、web服务器传输本地数据并用wireshark抓包_第12张图片

TCP报文的长度是343121,http报文的长度是342990。如上图所示,TCP报文的长度比http报文的长度长131字节.差值来自于HTTP协议的头部。

http的传输经过三次

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

http请求由请求行,消息报头,请求正文三部分构成,请求行由请求Method,URL字段和HTTP Version三部分构成, 总的来说请求行就是定义了本次请求的请求方式, 请求的地址, 以及所遵循的HTTP协议版本例如本次的抓包:

华为ENSP实现dns、web服务器传输本地数据并用wireshark抓包_第13张图片

使用的http版本是1.1。语言是中文。Accetp-Encoding是指定的压缩编码类型,这里使用的是gzip。Host是访问的主机域名。

HTTP响应也由三部分组成,包括状态行,消息报头,响应正文。状态代码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值:1xx:指示信息表示请求已接收,继续处理2xx:成功表示请求已被成功接收、理解、接受3xx:重定向要完成请求必须进行更进一步的操作4xx:客户端错误请求有语法错误或请求无法实现 *5xx:服务器端错误服务器未能实现合法的请求常见状态代码、状态描述、说明200:OK客户端请求成功400:Bad Request客户端请求有语法错误,不能被服务器所理解401:Unauthorized请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用403:Forbidden服务器收到请求,但是拒绝提供服务404:Not Found请求资源不存在,eg:输入了错误的URL500:Internal Server Error服务器发生不可预期的错误503:Server Unavailable服务器当前不能处理客户端的请求,一段时间后,可能恢复正常。例如本文得到的:

华为ENSP实现dns、web服务器传输本地数据并用wireshark抓包_第14张图片

如上所示表明一切正常。

 

你可能感兴趣的:(计算机网络实验,wireshark,网络,服务器,华为)