实验四 利用Ethereal分析HTTP

更新时间:2023-12-18 02:42:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验四 利用Ethereal分析HTTP、TCP和IP

一、实验目的

熟悉并掌握Ethereal的基本操作,了解网络协议实体间进行交互以及报文交换的情况。 二、实验环境

Windows 9x/NT/2000/XP/2003与因特网连接的计算机网络系统 Ethereal等软件。 三、实验原理

1、 深入理解网络协议,仔细观察协议实体之间交换的报文序列。在仿真环境下或在如因特网这样的真实网络环境中完成。观察在正在运行协议实体间交换报文的基本工具被称为分组嗅探器(packet sniffer)。一般情况下,分组嗅探器将存储和显示出被俘获报文的各协议头部字段的内容。

2、 分组嗅探器(虚线框中的部分)是附加计算机普通软件上的,主要有两部分组成。分组俘获库(packet capture library)接收计算机发送和接收的每一个链路层帧的拷贝。高层协议(如:HTTP、FTP、TCP、UDP、DNS、IP 等)交换的报文都被封装在链路层帧中,并沿着物理媒体(如以太网的电缆)传输。 3、 分组嗅探器的第二个组成部分是分析器。分析器用来显示协议报文所有字段的内容。为此,分析器必须能够理解协议所交换的所有报文的结构。分组分析器理解以太网帧格式,能够识别包含在帧中的IP 数据报。分组分析器也要理解IP 数据报的格式,并能从IP 数据报中提取出TCP 报文段。然后,它需要理解TCP 报文段,并能够从中提取出HTTP 消息。最后,它需要理解HTTP 消息。

Ethereal 是一种可以运行在Windows, UNIX, Linux 等操作系统上的分组分析器。ethereal 的界面主要有五个组成部分:

命令菜单(command menus):最常用菜单命令有两个:File、Capture。File 菜单允许你保存俘获的分组数据或打开一个已被保存的俘获分组数据文件或退出ethereal 程序。Capture 菜单允许你开始俘获分组。

俘获分组列表(listing of captured packets):按行显示已被俘获的分组内容,其中包括:ethereal 赋予的分组序号、俘获时间、分组的源地址和目的地址、协议类型、分组中所包含的协议说明信息。单击某一列的列名,可以使

分组按指定列进行排序。在该列表中,所显示的协议类型是发送或接收分组的最高层协议的类型。

分组头部明细(details of selected packet header):显示俘获分组列表窗口中被选中分组的头部详细信息。包括:与以太网帧有关的信息,与包含在该分组中的IP 数据报有关的信息。

分组内容窗口(packet content):以ASCII 码和十六进制两种格式显示被俘获帧的完整内容。

显示筛选规则(display filter specification):在该字段中,可以填写协议的名称或其他信息,根据此内容可以对分组列表窗口中的分组进行过滤。 4、 Ethereal 的使用

启动主机上的web 浏览器。 开始分组俘获:选择“capture”下拉菜单中的“Start”命令,设置分组俘获的选项。

在实验中,可以使用窗口中显示的默认值。在“Ethereal: Capture Options”窗口的最上面有一个“interface”下拉菜单,选择其中一个用来发送或接收分组的网络接口(如某个有线接口)。随后,单击“ok”开始进行分组俘获,所有由选定网卡发送和接收的分组都将被俘获。 开始分组俘获后,会出现分组俘获统计窗口。在该窗口中有一个“stop”按钮,可以停止分组的俘获。但此时你最好不要停止俘获分组。 在运行分组俘获的同时,在浏览器地址栏中输入某网页的URL,显示该网页,浏览器需要连接www.hit.edu.cn 的服务器, 并与之交换HTTP 消息,以下载该网页。包含这些HTTP 报文的以太网帧将被Ethereal 俘获。 当完整的页面下载完成后,单击Ethereal 俘获窗口中的stop 按钮,停止分组俘获。此时,Ethereal主窗口显示已俘获的你的计算机与其他网络实体交换的所有协议报文,其中一部分就是与www.hit.edu.cn服务器交换的HTTP报文。

在显示筛选规则中输入“http”,单击“apply”,分组列表窗口将只显示HTTP协议报文。

选择分组列表窗口中的第一条http报文。它应该是你的计算机发向www.hit.edu.cn服务器的HTTP GET报文。当你选择该报文后,以太网帧、IP数据报、TCP报文段、以及HTTP报文首部信息都将显示在分组首部子窗口中。单击分

组首部详细信息子窗口中向右和向下箭头,可以最小化帧、以太网、IP、TCP信息显示量,可以最大化HTTP协议相关信息的显示量。 5、 HTTP分析

1)HTTP GET/response交互

首先通过下载一个非常简单的HTML文件(该文件非常短,并且不嵌入任何对象)。

启动Web browser,然后启动Ethereal分组嗅探器。在窗口的显示过滤说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。

开始Ethereal分组俘获。

在打开的Web browser窗口中输入一下地址(浏览器中将显示一个只有几行文字的非常简单的HTML文件):

http://hitgs.hit.edu.cn/news/detail1.jsp?ID1=9042 停止分组俘获。

2)HTTP 条件GET/response交互

启动浏览器,清空浏览器的缓存(在浏览器中,选择“工具”菜单中的“Internet选项”命令,在出现的对话框中,选择“删除文件”)。 启动Ethereal分组俘获器。开始Ethereal分组俘获。

在浏览器的地址栏中输入以下URL: http://hitgs.hit.edu.cn/,在你的浏览器中重新输入相同的URL或单击浏览器中的“刷新”按钮。 停止Ethereal分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。 6、 TCP分析

注:访问以下网址需要设置代理服务器。如无法访问可与实验TA联系,下载tcp-ethereal-trace文件,利用该文件进行TCP协议分析。

A. 俘获大量的由本地主机到远程服务器的TCP分组 (1) 启动浏览器,打开

http://gaia.cs.umass.edu/ethereal-labs/alice.txt网页,得到ALICE'S ADVENTURES IN WONDERLAND文本,将该文件保存到你的主机上。

(2) 打开

http://gaia.cs.umass.edu/ethereal-labs/TCP-ethereal-file1.html (3) 窗口如下图所示。在Browse按钮旁的文本框中输入保存在你的主机上 的文件ALICE'S ADVENTURES IN WONDERLAND的全名(含路径),此时不要按“Upload alice.txt file”按钮

(4) 启动Ethereal,开始分组俘获。

(5) 在浏览器中,单击“Upload alice.txt file”按钮,将文件上传到gaia.cs.umass.edu服务器,一旦文件上传完毕,一个简短的贺词信息将显示在你的浏览器窗口中。

(6) 停止俘获。 B. 浏览追踪信息

(1) 在显示筛选规则中输入“tcp”,可以看到在本地主机和服务器之间传输的一系列tcp和http报文,你应该能看到包含SYN报文的三次握手。也可以看到有主机向服务器发送的一个HTTP POST报文和一系列的“http continuation”报文。

C. TCP 基础

7、 IP分析 通过分析执行traceroute程序发送和接收到的IP数据包,我们将研究IP数据包的各个字段,并详细研究IP分片。

A. 通过执行traceroute执行捕获数据包

为了产生一系列IP数据报,我们利用traceroute程序发送具有不同大小的数据包给目的主机X。回顾之前ICMP实验中使用的traceroute程序,源主机发送的第一个数据包的TTL设位1,第二个为2,第三个为3,等等。每当路由器收到一个包,都会将其TTL值减1。这样,当第n个数据包到达了第n个路由器时,第n个路由器发现该数据包的TTL已经过期了。根据IP协议的规则,路由器将该数据包丢弃并将一个ICMP警告消息送回源主机。 在Windows自带的tracert命令不允许用户改变由tracert命令发送的ICMP echo请求消息(ping消息)的大小。一个更优秀的traceroute程序是pingplotter,下载并安装pingplotter。ICMP echo请求消息的大小可以通过下面方法在pingplotter中进行设置。

Edit->Options->Packet,然后填写Packet Size(in bytes,default=56)域。

四、实验内容

1) 学习Ethereal的使用 2) 利用Ethereal分析HTTP协议 3) 利用Ethereal分析TCP协议 4) 利用Ethereal分析IP协议 五、实验步骤

(1) 启动Ethereal并开始数据包捕获

(2) 启动pingplotter并“Address to Trace Window”域中输入目的地址。 在“# of times to Trace”域中输入“3”,这样就不过采集过多的数据。Edit->Options->Packet,将Packet Size(in bytes,default=56)域设为56,这样将发送一系列大小为56字节的包。然后按下“Trace”按钮。得到的pingplotter窗口如下:

(1) Edit->Options->Packet,然后将Packet Size(in bytes,default=56)域改为2000,这样将发送一系列大小为2000字节的包。然后按下“Resume”按钮。

(2) 最后,将Packet Size(in bytes,default=56)域改为3500,发送一系列大小为3500字节的包。然后按下“Resume”按钮。

(3) 停止Ethereal的分组捕获。

注:如无法访问可与实验TA联系,下载已有的ip-ethereal-trace文件,利用该文件进行IP协议分析

B. 对捕获的数据包进行分析

(1)在你的捕获窗口中,应该能看到由你的主机发出的一系列ICMP Echo Request包和中间路由器返回的一系列ICMP TTL-exceeded消息。选择第一个你的主机发出的ICMP Echo Request消息,在packet details窗口展开数据包的Internet Protocol部分。

(2)单击Source列按钮,这样将对捕获的数据包按源IP地址排序。选择第一个你的主机发出的ICMP Echo Request消息,在packet details窗口展开数据包的Internet Protocol部分。在“listing of captured packets” 窗口,你会看到许多后续的ICMP消息(或许还有你主机上运行的其他协议的数据包)

(3)找到由最近的路由器(第一跳)返回给你主机的ICMP Time-to-live

exceeded消息。

(4)单击Time列按钮,这样将对捕获的数据包按时间排序。找到在将包大小改为2000字节后你的主机发送的第一个ICMP Echo Request消息。

C. 找到在将包大小改为3500字节后你的主机发送的第一个ICMP Echo Request消息。 六、实验总结

通过本次实验,我们了解利用Ethereal分析HTTP、TCP和IP,以及它的功能。实验中,熟悉并掌握Ethereal的基本操作,深入理解网络协议和分组嗅探器。HTTP分析了解到HTTP GET/response交互和HTTP 条件GET/response交互,TCP分析俘获大量的由本地主机到远程服务器的TCP分组、浏览追踪信息以及TCP 基础。IP分析执行traceroute执行捕获数据包 。这些东西是我对计算机的通信协议有了系统的认识。

exceeded消息。

(4)单击Time列按钮,这样将对捕获的数据包按时间排序。找到在将包大小改为2000字节后你的主机发送的第一个ICMP Echo Request消息。

C. 找到在将包大小改为3500字节后你的主机发送的第一个ICMP Echo Request消息。 六、实验总结

通过本次实验,我们了解利用Ethereal分析HTTP、TCP和IP,以及它的功能。实验中,熟悉并掌握Ethereal的基本操作,深入理解网络协议和分组嗅探器。HTTP分析了解到HTTP GET/response交互和HTTP 条件GET/response交互,TCP分析俘获大量的由本地主机到远程服务器的TCP分组、浏览追踪信息以及TCP 基础。IP分析执行traceroute执行捕获数据包 。这些东西是我对计算机的通信协议有了系统的认识。

本文来源:https://www.bwwdw.com/article/jjv5.html

Top