1、实验五 使用Ethereal分析数据包一、实验目的:了解和熟悉常见网络协议的内部通信过程二、实验内容:安装网络包捕获软件,观察网络中的数据包三、实验环境:PC机、Ethereal软件。四、预备知识要深入理解网络协议,需要仔细观察协议实体之间交换的报文序列。为探究协议操作细 节,可使协议实体执行某些动作,观察这些动作及其影响。这些任务可以在仿真环境下 或在如因特网这样的真实网络环境中完成。观察在正在运行协议实体间交换报文的基本 工具被称为分组嗅探器(packet sniffer)o顾名思义,一个分组嗅探器捕获(嗅探)计算 机发送和接收的报文。一般情况下,分组嗅探器将存储和显示出被捕获报文的各协议
2、头 部字段内容。图19为一个分组嗅探器的结构。trJfrnm notwnrkpacket sniffer图19分组嗅探器的结构图19右边是计算机上正常运行的协议(在这里是因特网协议)和应用程序(如:web 浏览器和ftp客户端)。分组嗅探器(虚线框中的局部)是附加计算机普通软件上的,主 要有两局部组成。分组捕获库接收计算机发送和接收的每一个链路层帧的拷贝。高层协 议(如: 、FTP、TCP、UDP、DNS、IP等)交换的报文都被封装在链路层帧(Frame) 中,并沿着物理介质(如以太网的电缆)传输。图1假设所使用的物理媒体是以太网, 上层协议的报文最终封装在以太网帧中。分组嗅探器的第二个组成局
3、部是分析器。分析器用来显示协议报文所有字段的内容。 为此,分析器必须能够理解协议所交换的所有报文的结构。例如:我们要显示图1中 协议所交换的报文的各个字段。分组分析器理解以太网帧格式,能够识别包含在帧中的 IP数据报。分组分析器也要理解IP数据报的格式,并能从IP数据报中提取出TCP报文 段。然后,它需要理解TCP报文段,并能够从中提取出 消息。最后,它需要理解 消息。Ethereal(或WireShark)是一种可以运行在Windows, UNIX, Linux等操作系统上的分组 分析器。Ethereal(或 WireShark)是免费的,可以从 :/ Ethereal(或 WireShar
4、k). com 得到。运行Ethereal(或WireShark)程序时,其图形用户界面如图2所示。最初,各窗口 中并无数据显示。Ethereal(或WireShark)的界面主要有五个组成局部:。(UnhtlMl) - Rhctralcommandmenus3 Et Jflew Qph/g 牛a卜2HeJpdisplay filterspecificationlisting of captured packets斗臼十 n”,口 &erW fiPPhrNo. .TimSou81 DenaoanPfOttKOlJrfo1 0.0000002 0.0293583 0.0301354 0.0517
5、315 0.051752128.119,245.12srandard query a Standard query response A 12B. 119.24S. 121874 SYN seq-3573611696 Ack-0 w1 n-65535 l 1874 SYN, ACK Seq-4216559525 Ack-3573C1H1874 Seq= 3 5611697 A&M216539524 V7 Q. 054081TCPQ 0.084808 9 0.255754192.168.1,101TCP10 4.225117OROW11 6.467413Xntd_52:2b:23Broadcas
6、tARP12 6.470563lnre1_52:2b:23BroadcasxARP13 6.473238intel_52!2b:23BroadcasxARP14 10.086262TCP15 10.086309TCP 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=3
7、S730.2; 1874 hup ack seq-3 573612242 Ad:-42165a891 sdetails ofselected packet header Frame 6 (599 b:es on wire. 599 bxes 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) Transmis
8、sion 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,lrnHost; gaia.cs.unass.edurnUser-Agent; Mozilla/5.0 (windows; U; windo*s 所 5.1; en-U5; rv;1.0.2) Geeko/20021120 Net5c
9、ape/7.01rnAccept: application/x-shockwave-flash,text/wnl,application/xml,application/xhtml+xmlrtext/html;q-0.9,text/plAccept-Linguage: en-us. en;q=0.5QrnAccept-Encoding: gzip, deflate, compress;q=D.9rnAccept-charset: iso-8859-1. utf-s:q=Q.66, ”;q=Q68rnKeep-Alive: 300rnconnect1on: keep-allvernpacket
10、contentin hexadecimaland ASCIIOOOA ort*2 3 UMr.060 0 Be DUD D DrlQQ 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
11、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 卜一2Jzl团i匕国*句)a q*动谷史ieeai膜的晓案Rte: (United)2473bytes ;|P: 15D15 M: 0图20Ethereal(或 WireShark)的用户界面 命令菜单(command menus):命令菜单位于窗口的最顶部,是标准的下拉式菜单。 最常用菜单命令有两个:File、Captureo File菜单允许你保存捕获的分组数据
12、或翻开一个 已被保存的捕获分组数据文件或退出Ethereal(或WireShark)程序。Capture菜单允许你开 始捕获分组。 捕获分组列表(listing of captured packets):按行显示已被捕获的分组内容,其中包 括:Ethereal(或WireShark)赋予的分组序号、捕获时间、分组的源地址和目的地址、协议 类型、分组中所包含的协议说明信息。单击某一列的列名,可以使分组按指定列进行排序。在该列表中,所显示的协议类型是发送或接收分组的最高层协议的类型。 分组头部明细(details of selected packet header):显示捕获分组列表窗口中被选中分
13、组的头部详细信息。包括:与以太网帧有关的信息,与包含在该分组中的IP数据报有关的信息。单击以太网帧或IP数据报所在行左边的向右或向下的箭头可以展开或里小化 相关信息。另外,如果利用TCP或UDP承载分组,Ethereal(或WireShark)也会显示TCP 或UDP协议头部信息。最后,分组最高层协议的头部字段也会显示在此窗口中。 分组内容窗口(packet content):以ASCII码和十六进制两种格式显示被捕获帧的 完整内容。 显示筛选规那么(display filter specification):在该字段中,可以填写协议的名称或其 他信息,根据此内容可以对分组列表窗口中的分组进行
14、过滤。四、实验步骤(一)Ethereal(或 WireShark)的使用1 .启动主机上的web浏览器。2 .启动Ethereal(或WireShark)。你会看到如图20所示的窗口,只是窗口中没有任何分 组列表。3 .开始分组捕获:选择“c叩ture”下拉菜单中的“Start”命令,会出现如图21所示的 “Ethereal(或WireShark): Capture Options”窗口,可以设置分组捕获的选项。136% of total0.0%97.1%1.5%0.0%1.5%0.0%0.0%0.0%0.0%0.0%0.0%图 21 Ethereal 的 Capture Option4 .在
15、实验中,可以使用窗口中显示的默认值。在“Ethereal(或WireShark): Capture Options” 窗口的最上面有一个interface”下拉菜单,其中显示计算机中所安装的网络接口(即网卡)。 当计算机具有多个涛动网声(装有多块网卡,并且均正常工作)时,需要选择其中一个 用来发送或接收分组的网络接口(如某个有线接口)。随后,单击“ok”开始进行分组捕获, 所有由选定网卡发送和接收的分组都将被捕获。5 .开始分组捕获后,会出现如图22所示的分组捕获统计窗口。该窗口统计显示各类 已捕获分组的数量。在该窗口中有一个stop”按钮,可以停止分组的捕获。6 .在运行分组捕获的回时,在浏
16、览器地址栏中输入某网页的URL,如: 。为显示该网页,浏览器需要连接的服务器,并与 之交换 消息,以下载该网页。包含这些 消息的以太网帧(Frame)将被 Ethereal(或 WireShark)捕获。 Ethereal: Capture - Interface DeviceNPICaptured PacketsTotalSCTPTCPUDPICMPARPOSPFGRENetBIOSIPXVINESRunningRunning00:00:44Other图 22 Ethereal(或 WireShark)的 Packet Capture Windows7 .当完整的Web页面下载完成后,单击E
17、thereal(或WireShark)捕获窗口中的stop按钮, 停止分组捕获。此时,分组捕获窗口关闭。Ethereal(或WireShark)主窗口显示已捕获的你 的计算机与其他网络实体交换的所有协议报文,其中一局部就是与月艮务 器交换的 消息。此时主窗口与图20相似。8 .在显示筛选编辑框中输入“ ”,单击“apply”,分组列表窗口将只显示 消息。9 .选择分组列表窗口中的第一条 消息。它应该是你的计算机发向 服务器的 GET消息。当你选择该消息后,以太网帧、IP数据报、TCP报文段、以 及 消息首部信息都将显示在分组首部子窗口中。单击分组首部详细信息子窗口中 向右和向下箭头,可以最小化帧、以太网、IP、TCP信息显示量,可以最大化 协 议相关信息的显示量。五、实验报告:1 .配合屏幕截图描述使用Ethereal的过程及捕获到的数据包(包括如何设置捕获条件、 抓取到的数据包列表及单个包的解析结果、对具体的会话的跟踪记录。2 .详细记录实验过程,分析捕获的各个数据包格式。