资源描述
实验五 使用Ethereal分析数据包
一、实验目的:了解和熟悉常见网络协议的内部通信过程
二、实验内容:安装网络包捕获软件,观察网络中的数据包
三、实验环境:PC机、Ethereal软件。
四、预备知识
要深入理解网络协议,需要仔细观察协议实体之间交换的报文序列。为探究协议操作细 节,可使协议实体执行某些动作,观察这些动作及其影响。这些任务可以在仿真环境下 或在如因特网这样的真实网络环境中完成。观察在正在运行协议实体间交换报文的基本 工具被称为分组嗅探器(packet sniffer)o顾名思义,一个分组嗅探器捕获(嗅探)计算 机发送和接收的报文。一般情况下,分组嗅探器将存储和显示出被捕获报文的各协议头 部字段内容。图19为一个分组嗅探器的结构。
trJfrnm notwnrk
packet sniffer
图19分组嗅探器的结构
图19右边是计算机上正常运行的协议(在这里是因特网协议)和应用程序(如:web 浏览器和ftp客户端)。分组嗅探器(虚线框中的局部)是附加计算机普通软件上的,主 要有两局部组成。分组捕获库接收计算机发送和接收的每一个链路层帧的拷贝。高层协 议(如: 、FTP、TCP、UDP、DNS、IP等)交换的报文都被封装在链路层帧(Frame) 中,并沿着物理介质(如以太网的电缆)传输。图1假设所使用的物理媒体是以太网, 上层协议的报文最终封装在以太网帧中。
分组嗅探器的第二个组成局部是分析器。分析器用来显示协议报文所有字段的内容。 为此,分析器必须能够理解协议所交换的所有报文的结构。例如:我们要显示图1中 协议所交换的报文的各个字段。分组分析器理解以太网帧格式,能够识别包含在帧中的 IP数据报。分组分析器也要理解IP数据报的格式,并能从IP数据报中提取出TCP报文 段。然后,它需要理解TCP报文段,并能够从中提取出 消息。最后,它需要理解 消息。
Ethereal(或WireShark)是一种可以运行在Windows, UNIX, Linux等操作系统上的分组 分析器。Ethereal(或 WireShark)是免费的,可以从 :// Ethereal(或 WireShark). com 得到。运行Ethereal(或WireShark)程序时,其图形用户界面如图2所示。最初,各窗口 中并无数据显示。Ethereal(或WireShark)的界面主要有五个组成局部:
。(UnhtlMl) - Rhctral
command
menus
3« Et Jflew @ Qph/g 牛a卜2®HeJp
display filter
specification
listing of captured packets
①斗臼十▼ ]⑻n”
,口 &er
W fiPPhr
No. .
Tim
Sou8
1 De^naoan
PfOttKOl
Jrfo
1 0.000000
2 0.029358
3 0.030135
4 0.051731
5 0.051752
128.119,245.12
srandard query a
Standard query response A 12B. 119.24S. 12
1874 > [SYN] seq-3573611696 Ack-0 w1 n-65535 l > 1874 [SYN, ACK] Seq-4216559525 Ack-3573C1H
1874 > Seq= 3 5^611697 A&M216539524 V
7 Q. 054081
TCP
Q 0.084808
9 0.255754
192.168.1,101
TCP
10 4.225117
OROW
11 6.467413
Xntd_52:2b:23
Broadcast
ARP
12 6.470563
lnre1_52:2b:23
Broadcasx
ARP
13 6.473238
intel_52!2b:23
Broadcasx
ARP
14 10.086262
TCP
15 10.086309
TCP
> 1874 [ACK] Seq=^216539524 Ack=3573612242 V /1.1 200 ok (rexT/himl)
1874 > [ACK] 5eq-3573612242 Ad.7216539890 w DniflalnA/orkgroup Announcatient workgroup, nt worksi
> 1874 [FIN. ACK] Seq=4216539890 Ack=3S730.2; 1874 > hup [ack] seq-3 573612242 Ad:-42165a891 s
details of
selected packet header
[> Frame 6 (599 b>":es on wire. 599 b>xes captured)
0 Ethernet II, £rc! Q0:0a:74:4f:96:29, OST! OQ!06!25:da:af!73
» inter net proxocol, src Addr: 192.168.1.101 (1«. 168.1.101), dst Addr: 128.119.245.12 (12B.U9.245.12)
» Transmission conirol prorocol, src port: 1874 (1874.), dst port: htxp (80), seq: 35736L1697, Ack: 4216539524, l v Hypertext Transfer prcrtocol
「 GET /ethereal-labs/INTRO-ethereal-filel.html /l,l\r\n
Host; gaia.cs.unass.edu\r\n
User-Agent; Mozilla/5.0 (windows; U; windo*s 所 5.1; en-U5; rv;1.0.2) Geeko/20021120 Net5cape/7.01\r\n
Accept: application/x-shockwave-flash,text/wnl,application/xml,application/xhtml+xmlrtext/html;q-0.9,text/pl
Accept-Linguage: en-us. en;q=0.5Q\r\n
Accept-Encoding: gzip, deflate, compress;q=D.9\r\n
Accept-charset: iso-8859-1. utf-s:q=Q.66, ”;q=Q・68\r\n
Keep-Alive: 300\r\n
connect1on: keep-allve\r\n
packet content
in hexadecimal
and ASCII
OOO□□A ort*2 3 UMr.
060 0 Be DUD D Drl
QQ 06 2 5 da if 73 00 OS 74 什 36 23 08 0。4 5 00 02 49 6c aF 40 00 8(l 06 54 6e cO a8 DI 65 8(l 77 f5 Oc 07 52 00 50 d5 00 fc bl fb 59 49 84 50 18 ff 仟 19 Cd DO QD 47 45 54 20 2f 65 74 68 65 72 65 61 6C 2d 6C 61 62 73 2f 49 4e 54 52 4f 2d 65 74 夕。71 AR Al 7T 6 乐 An Al fi.C. 31 f.Q 1A
.乐・S・・ XOW*.. E.
fl.. Tn.. .e.**
•••R.P.. •••SI.P.
..9...GE T /ether eal -1 abs /iNTRO-e ♦•卜一
2J
▲
zl
团i匕国*句)a ©q*动谷史ieeai膜的晓案[©Rte: (United)2473bytes ;|P: 15D15 M: 0
图20Ethereal(或 WireShark)的用户界面
• 命令菜单(command menus):命令菜单位于窗口的最顶部,是标准的下拉式菜单。 最常用菜单命令有两个:File、Captureo File菜单允许你保存捕获的分组数据或翻开一个 已被保存的捕获分组数据文件或退出Ethereal(或WireShark)程序。Capture菜单允许你开 始捕获分组。
• 捕获分组列表(listing of captured packets):按行显示已被捕获的分组内容,其中包 括:Ethereal(或WireShark)赋予的分组序号、捕获时间、分组的源地址和目的地址、协'议 类型、分组中所包含的协议说明信息。单击某一列的列名,可以使分组按指定列进行排
序。在该列表中,所显示的协议类型是发送或接收分组的最高层协议的类型。
• 分组头部明细(details of selected packet header):显示捕获分组列表窗口中被选中
分组的头部详细信息。包括:与以太网帧有关的信息,与包含在该分组中的IP数据报有
关的信息。单击以太网帧或IP数据报所在行左边的向右或向下的箭头可以展开或里小化 相关信息。另外,如果利用TCP或UDP承载分组,Ethereal(或WireShark)也会显示TCP 或UDP协议头部信息。最后,分组最高层协议的头部字段也会显示在此窗口中。
• 分组内容窗口(packet content):以ASCII码和十六进制两种格式显示被捕获帧的 完整内容。
• 显示筛选规那么(display filter specification):在该字段中,可以填写协议的名称或其 他信息,根据此内容可以对分组列表窗口中的分组进行过滤。
四、实验步骤
(一)Ethereal(或 WireShark)的使用
1 .启动主机上的web浏览器。
2 .启动Ethereal(或WireShark)。你会看到如图20所示的窗口,只是窗口中没有任何分 组列表。
3 .开始分组捕获:选择“c叩ture”下拉菜单中的“Start”命令,会出现如图21所示的 “Ethereal(或WireShark): Capture Options”窗口,可以设置分组捕获的选项。
136% of total
0.0%
97.1%
1.5%
0.0%
1.5%
0.0%
0.0%
0.0%
0.0%
0.0%
0.0%
图 21 Ethereal 的 Capture Option
4 .在实验中,可以使用窗口中显示的默认值。在“Ethereal(或WireShark): Capture Options” 窗口的最上面有一个"interface”下拉菜单,其中显示计算机中所安装的网络接口(即网卡)。 当计算机具有多个涛动网声(装有多块网卡,并且均正常工作)时,需要选择其中一个 用来发送或接收分组的网络接口(如某个有线接口)。随后,单击“ok”开始进行分组捕获, 所有由选定网卡发送和接收的分组都将被捕获。
5 .开始分组捕获后,会出现如图22所示的分组捕获统计窗口。该窗口统计显示各类 已捕获分组的数量。在该窗口中有一个"stop”按钮,可以停止分组的捕获。
6 .在运行分组捕获的回时,在浏览器地址栏中输入某网页的URL,如: 。为显示该网页,浏览器需要连接的服务器,并与 之交换 消息,以下载该网页。包含这些 消息的以太网帧(Frame)将被 Ethereal(或 WireShark)捕获。
◎ Ethereal: Capture - Interface \Device\NPICaptured Packets
TotalSCTP
TCPUDP
ICMPARP
OSPFGRE
NetBIOSIPX
VINESRunning
Running
00:00:44
Other图 22 Ethereal(或 WireShark)的 Packet Capture Windows
7 .当完整的Web页面下载完成后,单击Ethereal(或WireShark)捕获窗口中的stop按钮, 停止分组捕获。此时,分组捕获窗口关闭。Ethereal(或WireShark)主窗口显示已捕获的你 的计算机与其他网络实体交换的所有协议报文,其中一局部就是与月艮务 器交换的 消息。此时主窗口与图20相似。
8 .在显示筛选编辑框中输入“ ”,单击“apply”,分组列表窗口将只显示 消息。
9 .选择分组列表窗口中的第一条 消息。它应该是你的计算机发向 服务器的 GET消息。当你选择该消息后,以太网帧、IP数据报、TCP报文段、以 及 消息首部信息都将显示在分组首部子窗口中。单击分组首部详细信息子窗口中 向右和向下箭头,可以最小化帧、以太网、IP、TCP信息显示量,可以最大化 协 议相关信息的显示量。
五、实验报告:
1 .配合屏幕截图描述使用Ethereal的过程及捕获到的数据包(包括如何设置捕获条件、 抓取到的数据包列表及单个包的解析结果、对具体的会话的跟踪记录。
2 .详细记录实验过程,分析捕获的各个数据包格式。
展开阅读全文