应用层报文的服务器软件,【实验指导】应用层实验

本文详细介绍了如何使用Ethereal软件分析应用层的DNS和HTTP协议。首先,讲解了DNS协议的层次结构、域名解析过程及DNS高速缓存的工作原理,并提供了DNS服务器配置和报文捕获的实验步骤。接着,探讨了HTTP协议的工作原理,包括其请求和响应报文格式,以及在浏览器和服务器间交互的过程。最后,给出了一个实际的HTTP协议分析实验,要求读者分析截获的报文以理解协议工作流程。
摘要由CSDN通过智能技术生成

实验五

用Ethereal分析应用层协议

•掌握传输层协议的层次结构

•掌握并分析DNS协议的数据包格式

•掌握并分析HTTP协议的数据包格式

安装Ethereal软件和相应的WinpCap软件,启动Ethereal并设置相应的选项,捕获应用层数据包,并分析包格式。

PC机、Ethereal软件、WinpCap软件

1. 应用层协议分析

网络体系结构中的最高层是应用层,它包括了所有的高层协议,并且随着网络应用的日

益推广,不断有新的协议加入。TCP/IP 体系的应用层协议主要有:

* 域名服务DNS (Domain Name

System),用于实现互联网中主机域名到IP 地址的映

射功能;

* 文件传输协议FTP(File Transfer Protocol),用于实现互联网中交互式文件传输;

* 超文本传输协议HTTP(Hyper Text Transfer Protocol),用于WWW 服务。

* 电子邮件协议SMTP (Simple Mail Transfer Protocol)和POP3 (Post Office Protocol),用于实现电子邮件的传送和读取功能;

* 远程终端协议TELNET,用于实现互联网中远程登录功能;

计算机通信的对象是应用层中的应用进程,在

TCP/IP 体系中,两个应用进程采用客户

服务器方式进行通信。客户服务器方式描述进程之间服务和被服务关系。当A 进程需要B 进

程的服务时,A 是客户,B 是服务器。也许在下次通信时,B 需要A

的服务,此时,B 是客

户而A

是服务器。客户与服务器的通信关系一旦建立,通信就可以是双向的,客户和服务器

都可以发送和接收信息。

一、DNS

协议分析实验

1.DNS 协议简介

DNS 是域名系统

(Domain Name

System)的缩写,是一种分层次的、基于域的命名方案,

主要用来将主机名和电子邮件目标地址映射成IP 地址。当用户在应用程序中输入DNS 名称

时,DNS

通过一个分布式数据库系统将用户的名称解析为与此名称相对应的IP 地址。

(1)域名服务器和域名解析

在互联网中,DNS 的实现是通过域名服务器实现的。域名服务器构成对应的层次结构,

每个域名服务器保存着它所管辖区域内的主机的名字和IP

地址的对照表。这组域名服务器是域名解析的核心。域名解析有两种:递归解析和反复解析。

(2)域名解析

递归解析就是本地域名服务器系统一次性地完成域名到IP

地址的转换,即使它没有所要查询的域名信息,它也会查询别的域名服务器。反复解析则是当本地域名服务器中没有被查询的主机域名的信息时,它就会将一个可能有该域名信息的

DNS

服务器的地址返回给请求域名解析的DNS

客户,DNS

客户再向指定的DNS 服务器查询。

在实际应用中通常是将两种解析方式结合起来进行域名解析。当本地域名服务器没有所

要查询的域名信息时,就请求根域名服务器,根域名服务器将有可能查到该域名信息的域名

服务器地址返回给要求域名解析的本地域名服务器,本地域名服务器再到指定的域名服务器

上查询,如指定域名服务器上还没有该域名信息,它再将它的子域名服务器的IP

地址返回给要求域名解析的本地域名服务器,这样直到查询到待解析的域名的IP 地址为止 (没有注册的主机域名除外),本地域名服务器再将查询结果返回给DNS 客户,完成域名解析。

(3)DNS 高速缓存

每个域名服务器都维护着一个高速缓存,存放最近用到过的域名信息和此记录的来源。

当客户请求域名解析时,域名服务器首先检查它是否被授权管理该域名,若未被授权,则查

看自己的高速缓存,检查该域名是否最近被转换过。如果有这个域名信息,域名服务器就会

将有关域名和IP

地址的绑定信息报告给客户,并标志为非授权绑定,同时给出获得此绑定的域名服务器的域名,本地域名服务器也会将该绑定通知客户。但该绑定信息可能是过时的。

根据是强调高效还是准确性,客户可以选择接受该绑定信息还是直接与该绑定信息的授权服

务器联系。

实验步骤:

步骤1:将PC1 配置成DNS 服务器(可用虚拟机)。

步骤2:配置PC2 的DNS

服务器为PC1,方法是打开

“网络和Internet

连接”的“网络连接”窗口,“本地连接”,右键快捷菜单 “属性”,在常规选项卡中打开“Internet 协议(TCP/IP)属性”对话框。设置首选DNS 服务器地址为 192.168.10.10 (以图例)。

步骤3:清空DNS 服务器缓存,方法:在Simple DNS Plus 主菜单执行Tools-Clear

DNS

Cache。

步骤4:在PC1 和PC2

上启动Ethereal,设置PC1 的截获条件为 “not

broadcast and not multicast”,PC2 的截获条件为 “host

192.168.

10.10 ”,开始截获报文。

步骤5:在PC2 上打开命令行窗口。如图38 所示,执行Nslookup,查询www.sina.com。

图38 NSLOOKUP 操作示意

步骤6:停止截获报文。分析DNS 的请求和应答报文,完成下面的要求。

1)选择一条计算机发出的DNS 请求报文和相应的DNS 应答报文 (它们Transaction ID 字段的值相同),将两条报文的信息填入表 5.15。

表15 DNS 请求报文和应答报文信息

DNS 报文类型

报文序号

源站点

目的站点

报文信息

DNS 请求报文

DNS 应答报文

2)如图39所示,在众多报文中找出图39 所示的①~⑧报文,并将这些报文填入表 5.16。

图39 DNS 的解析过程

表16 DNS 请求报文格式

序号

报文序号

源站点

目的站点

报文主要作用

所属查询类型

1

2

3

4

5

6

7

8

3)从报文②可以得知,DNS 服务器所请求的根域名服务器IP 地址为多少?Simple DNS

Plus 内部存储了多少个根域名服务器的IP 地址?

4 )分析报文③,找出DNS 服务器向哪一个.com 域名服务器发出请求报文,并写出它的域名和IP 地址。

二、 HTTP

协议分析实验

1.HTTP 协议简

HTTP 是超文本传输协议

(Hyper Text Transfer

Protocol)的缩写,用于WWW 服务。

(1)HTTP 的工作原理

HTTP 是一个面向事务的客户服务器协议。尽管HTTP 使用TCP 作为底层传输协议,但

HTTP 协议是无状态的。也就是说,每个事务都是独立地进行处理。当一个事务开始时,就

在万维网客户和服务器之间建立一个TCP 连接,而当事务结束时就释放这个连接。此外,客

户可以使用多个端口和和服务器

(80

端口)之间建立多个连接。其工作过程包括以下几个阶段。

服务器监听TCP 端口 80,以便发现是否有浏览器 (客户进程)向它发出连接请求;

一旦监听到连接请求,立即建立连接。

浏览器向服务器发出浏览某个页面的请求,服务器接着返回所请求的页面作为响应。

释放TCP 连接。

在浏览器和服务器之间的请求和响应的交互,必须遵循HTTP 规定的格式和规则。

当用户在浏览器的地址栏输入要访问的HTTP 服务器地址时,浏览器和被访问HTTP 服

务器的工作过程如下:

浏览器分析待访问页面的URL

并向本地DNS 服务器请求IP 地解析;

DNS 服务器解析出该HTTP 服务器的IP 地址并将IP 地址返回给浏览器;

浏览器与HTTP

服务器建立TCP

连接,若连接成功,则进入下一步;

浏览器向HTTP 服务器发出请求报文

(含GET 信息),请求访问服务器的指定页面;

服务器作出响应,将浏览器要访问的页面发送给浏览器,在页面传输过程中,浏览

器会打开多个端口,与服务器建立多个连接;

释放TCP 连接;

浏览器收到页面并显示给用户。

(2)HTTP 报文格式

HTTP 有两类报文:从客户到服务器的请求报文和从服务器到客户的响应报文。图

5.46

显示了两种报文的结构。

图46 HTTP 的请求报文和响应报文结构

在图46

中,每个字段之间有空格分隔,每行的行尾有回车换行符。各字段的意义如下:

请求行由三个字段组成:

* 方法字段,最常用的方法为

“GET”,表示请求读取一个万维网的页面。常用的方法

还有

“HEAD(指读取页面的首部)”和“POST(请求接受所附加的信息);

* URL 字段为主机上的文件名,这时因为在建立TCP 连接时已经有了主机名;

* 版本字段说明所使用的HTTP 协议的版本,一般为 “HTTP/1.1”。

状态行也有三个字段:

* 第一个字段等同请求行的第三字段;

* 第二个字段一般为

“200”,表示一切正常,状态码共有41 种,常用的有:301

(网站已转移),400(服务器无法理解请求报文),404(服务器没有锁请求的对象)等;

* 第三个字段时解释状态码的短语。

根据具体情况,首部行的行数是可变的。请求首部有Accept 字段,其值表示浏览器

可以接受何种类型的媒体;Accept-language,其值表示浏览器使用的语言;User-agent

表明可用的浏览器类型。响应首部中有Date、Server、Content-Type、Content-Length 等字段。在请求首部和响应首部中都有 Connection 字段,其值为Keep-Alive 或 Close,表示服务器在传送完所请求的对象后是保持连接或关闭连接。

若请求报文中使用 “GET”方法,首部行后面没有实体主体,当使用 “POST”方法

是,附加的信息被填写在实体主体部分。在响应报文中,实体主体部分为服务器发送给客户

的对象。

图47 和图48 显示了Ethereal 捕获的HTTP 请求和响应报文,结合上面的介绍,请自己分析和体会。

图47 HTTP 请求报文示例

图48 HTTP 响应报文示例

实验步骤:

步骤1:在PC 机上运行Ethereal,开始截获报文,为了只截获和我们要访问的网站相关的数据报,将截获条件设置为

“not broadcast and not

multicast”;

步骤2:从浏览器上访问Web 界面,如http://202.202.43.125。打开网页,待浏览器的状态栏出现 “完毕”信息后关闭网页。

步骤3:停止截获报文,将截获的报文命名为http-学号保存。

分析截获的报文,回答以下几个问题:

1)综合分析截获的报文,查看有几种HTTP 报文?

2)在截获的HTTP 报文中,任选一个HTTP 请求报文和对应的 HTTP 应答报文,仔细

分析它们的格式,填写表20 和表 5.21。

表20 HTTP 请求报文格式

URL

首部字段名

字段值

字段所表达的信息

表21 HTTP 应答报文格式

状态码

首部字段名

字段值

字段所表达的信息

3)分析在截获的报文中,客户机与服务器建立了几个连接?服务器和客户机分别使用

了哪几个端口号?

4 )综合分析截获的报文,理解HTTP 协议的工作过程,将结果填入表22 中。

表22 HTTP 协议工作过程

HTTP 客户机端口号

HTTP 服务器端口号

所包括的报文号

步骤说明

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值