实验三使用wireshark查看协议数据单元.docx
《实验三使用wireshark查看协议数据单元.docx》由会员分享,可在线阅读,更多相关《实验三使用wireshark查看协议数据单元.docx(13页珍藏版)》请在冰豆网上搜索。
实验三使用wireshark查看协议数据单元
使用Wireshark™查看协议数据单元
学习目标
∙能够说明协议分析器(Wireshark)的用途。
∙能够使用Wireshark执行基本的PDU捕获。
∙能够对简单的网络数据通信量执行基本的PDU分析。
∙实验Wireshark的功能和选项,如PDU捕获和显示过滤。
背景
Wireshark是一种协议分析器软件,即“数据包嗅探器”应用程序,适用于网络故障排除、分析、软件和协议开发以及教学。
2006年6月前,Wireshark的原名是Ethereal。
数据包嗅探器(亦称网络分析器或协议分析器)是可以截取并记录通过数据网络传送的数据通信量的计算机软件。
当数据流通过网络来回传输时,嗅探器可以“捕获”每个协议数据单元(PDU),并根据适当的RFC或其它规范对其内容进行解码和分析。
Wireshark的编程使其能够识别不同网络协议的结构。
因此,它可以显示PDU的封装和每个字段并可解释其含义。
对于从事网络工作的任何人来说,它都是一款实用工具,可以用于数据分析和故障排除。
要了解相关信息并下载该程序,请转到http:
//www.Wireshark.org
场景
要捕获PDU,安装了Wireshark的计算机必须有效地连接到网络且必须在运行Wireshark才能捕获数据。
启动Wireshark后将显示如下屏幕。
要开始数据捕获,首先需要选择Capture(捕获)菜单中的Options(选项)。
Options(选项)对话框显示了多项设置和过滤器,用于确定捕获的数据通信类型及其数量。
首先,必须确保将Wireshark设置为监控正确的接口。
从Interface(接口)下拉列表中选择使用中的网络适配器。
通常,在计算机上是连接的以太网适配器。
然后可以设置其它选项。
在CaptureOptions(捕获选项)对话框的可用选项中,需要检查下图突出显示的两个选项。
将Wireshark设置为在混杂模式下捕获数据包
如果未选中此功能,将只捕获发往本计算机的PDU。
如果选中此功能,则会捕获发往本计算机的所有PDU和该计算机网卡在同一网段上检测到的所有PDU(即“途经”该网卡但不发往该计算机的PDU)。
注意:
捕获其它的PDU要依靠此网络中连接终端设备计算机的中间设备。
由于这些课程的各部分使用了不同的中间设备(集线器、交换机、路由器),因此您会看到不同的Wireshark结果。
设置Wireshark进行网络名称解析
此选项可用于控制Wireshark是否将PDU中出现的网络地址转换为名称。
尽管此功能很有用,但名称解析过程可能会将多余的PDU添加到捕获的数据中,从而造成分析失真。
此外,它还具有其它一些捕获过滤和过程设置功能。
单击Start(开始)按钮开始数据捕获过程,此时将出现一个消息框显示此过程的进度。
捕获数据PDU时,消息框中将显示其类型和数量。
以上示例显示了捕获ping过程然后捕获网页访问的进度。
单击Stop(停止)按钮时,捕获过程会终止并显示主屏幕。
以下是Wireshark的主显示窗口,有三个窗格。
PacketDetailsPane
图示顶部的PDU(或数据包)列表窗格显示了捕获的每个数据包的摘要信息。
单击此窗格中的数据包可控制另外两个窗格中显示的信息。
图示中间的PDU(或数据包)详细信息窗格更加详细地显示了“数据包列表”窗格中所选的数据包。
图示底部的PDU(或数据包)字节窗格显示了“数据包列表”窗格中所选数据包的实际数据(以十六进制形式表示实际的二进制),并突出显示了在“数据包详细信息”窗格中所选的字段。
“数据包列表”中的每行对应捕获数据的一个PDU或数据包。
如果选择此窗格中的一行,其相关详细信息将显示在“数据包详细信息”和“数据包字节”窗格中。
上例所示为使用ping实用程序和访问http:
//www.Wireshark.org时捕获的PDU。
此窗格中选择了编号为1的数据包。
数据包详细信息窗格以更加详细的形式显示了当前数据包(即“数据包列表”窗格中所选的数据包)。
此窗格显示了所选数据包的协议和协议字段。
该数据包的协议和字段以树结构显示,可以展开和折叠。
数据包字节窗格以称为“十六进制转储”的样式显示当前数据包(即“数据包列表”窗格中所选的数据包)的数据。
本实验不会详细研究此窗格。
但是,在需要进行更加深入的分析时,此处显示的信息有助于分析PDU的二进制值和内容。
捕获的数据PDU信息可以保存在文件中。
这样,将来就可以随时在Wireshark中打开此文件进行分析而无需再次捕获同样的数据通信量。
打开捕获文件时显示的信息与原始捕获的信息相同。
关闭数据捕获屏幕或退出Wireshark时,系统会提示您保存捕获的PDU。
单击ContinuewithoutSaving(继续但不保存)关闭该文件或退出Wireshark而不保存显示的捕获数据。
任务1:
PingPDU捕获
步骤1:
确定标准实验拓扑和配置正确后,在实验室的计算机上启动Wireshark。
按照上文概述中的说明设置CaptureOptions(捕获选项)并开始捕获过程。
在计算机的命令行中ping连接的其它网络的IP地址。
在本例中,使用命令ping192.168.254.254(根据具体的实验环境自己选择IP地址)。
命令行窗口中收到该ping命令的成功应答后,停止数据包捕获。
步骤2:
检查数据包列表窗格。
此时,Wireshark的数据包列表窗格应该显示如下信息:
观察上面列出的数据包;我们关注的是编号为6、7、8、9、11、12、14和15的数据包。
在您的计算机上找到数据包列表中的相应数据包。
如果您执行了上文所述的步骤1A,请将发出ping命令时命令行窗口中显示的消息与Wireshark捕获的六个数据包相匹配。
根据Wireshark数据包列表回答下列问题:
ping使用的协议是什么?
______________________________
协议的全称是什么?
___________________________________
两个ping消息的名称是什么?
___________________________
____________________________________________________
列出的源IP地址和目的IP地址是否与您的预期相同?
是/否
原因是什么?
________________________________________
步骤3:
用鼠标选择(突出显示)列表中的第一个回应请求数据包。
数据包详细信息窗格此时将显示如下信息:
逐个单击四个"+"号展开信息。
此时,数据包详细信息窗格将如同下图所示:
您可以看到,每个部分的详细信息和协议还可以进一步展开。
请花一些时间浏览这些信息。
在课程的当前阶段,您可能还无法完全理解显示的信息,但是请记录下您能够认知的信息。
找出两种不同类型的“源地址”和“目的地址”。
为什么会有两种类型?
__________________________________________________________________
以太网帧中的协议是什么?
__________________________________________________________________
当您在数据包详细信息窗格中选择某行时,数据包字节窗格中的全部或部分信息也会突出显示。
例如,当详细信息窗格中突出显示第二行(+EthernetII)时,字节窗格就会突出显示相应的值。
此值显示了代表PDU中信息的特定二进制值。
在课程的当前阶段不需要详细了解这方面信息。
步骤4:
选择File(文件)菜单中的Close(关闭)。
出现下面的消息框时单击ContinuewithoutSaving(继续但不保存)。
任务2:
FTPPDU捕获
步骤1:
开始数据包捕获。
假设从前面的步骤继续运行Wireshark,在Wireshark中单击Capture(捕获)菜单的Start(开始)选项开始数据包捕获。
在运行Wireshark的计算机的命令行中输入ftp192.168.254.254(根据具体的实验环境自己选择,在实验室可以使用ftp210.41.160.38)
建立连接后,输入anonymous作为用户,不需要口令。
Userid:
anonymous
Password:
成功登录后,输入get/pub/eagle_labs/eagle1/chapter1/gaim-1.5.0.exe并按Enter键。
这样将开始从ftp服务器下载该文件。
输出结果将如下所示:
C:
\DocumentsandSettings>ftp210.41.160.38
Connectedtoeagle-.
220Welcometotheeagle-serverFTPservice.
User(eagle-:
(none)):
anonymous
331Pleasespecifythepassword.
Password:
230Loginsuccessful.
ftp>get/pub/eagle_labs/eagle1/chapter1/gaim-1.5.0.exe
200PORTcommandsuccessful.ConsiderusingPASV.
150OpeningBINARYmodedataconnectionforpub/eagle_labs/eagle1/chapter1/gaim-1.5.0.exe(6967072bytes).
226FilesendOK.
ftp:
6967072bytesreceivedin0.59Seconds11729.08Kbytes/sec.
文件下载完成时输入quit
ftp>quit
221Goodbye.
C:
\DocumentsandSettings>
成功下载文件后,在Wireshark中停止PDU捕获。
步骤2:
扩大Wireshark数据包列表窗格的大小并浏览列出的PDU。
找到并记录与文件下载相关联的PDU。
这些PDU将是源自第4层协议TCP和第7层协议FTP的PDU。
找到与文件传输相关联的三组PDU。
如果您执行了上述步骤,请将这些数据包与FTP命令行窗口中的消息和提示相匹配。
第一组与“连接”阶段和登录服务器相关。
请列出几个此阶段交换消息的例子。
___________________________________________________________________
查找在第二阶段交换的消息(内容为实际下载请求和数据传输),并列出几个例子。
__________________________________________________________________
___________________________________________________________________
第三组PDU与注销和“断开连接”相关。
请列出几个此过程中交换消息的例子。
__________________________________________________________________
找到整个FTP过程中重复发生的TCP交换。
这说明了TCP的什么功能?
__________________________________________________________________
___________________________________________________________________
步骤3:
检查数据包详细信息。
在列表中选择(突出显示)与FTP过程第一阶段相关的数据包。
在详细信息窗格中查看数据包详细信息。
该帧中封装的协议是什么?
_________________________________________________________________
突出显示包含用户名和口令的数据包。
检查数据包字节窗格中突出显示的部分。
这表示此FTP登录过程的安全性如何?
_______________________________________________________
突出显示与第二阶段相关的数据包。
从任何窗格中查找包含该文件名的数据包。
文件名是:
_________________________________________________________
突出显示包含实际文件内容的一个数据包,注意字节窗格中显示的纯文本。
在详细信息和字节窗格中突出显示并检查在第三阶段(文件下载)交换的一些数据包。
什么功能负责区分这些数据包的内容?
__________________________________________________________________
完成后,关闭Wireshark文件,继续但不保存
任务3:
HTTPPDU捕获
步骤1:
开始数据包捕获。
假设从前面的步骤继续运行Wireshark,在Wireshark中单击Capture(捕获)菜单的Start(开始)选项开始数据包捕获。
注意:
如果从本实验前面的步骤继续,则不必设置CaptureOptions(捕获选项)。
在运行Wireshark的计算机上启动Web浏览器。
输入URL或输入IP地址210.41.166.195。
完全下载网页后,停止Wireshark数据包捕获。
步骤2:
扩大Wireshark数据包列表窗格的大小并浏览列出的PDU。
查找并确定与网页下载相关联的TCP和HTTP数据包。
注意此消息交换与FTP交换之间的相似之处。
步骤3:
在数据包列表窗格中,突出显示Info(信息)列中带有注解"(text/html)"的HTTP数据包。
在数据包详细信息窗格中单击"Line-basedtextdata:
html"旁边的"+"号
展开此信息会显示什么?
___________________________________________________________
检查字节窗格中突出显示的部分。
此部分显示了该数据包传送的HTML数据。
完成后,关闭Wireshark文件,继续但不保存
任务4:
思考
思考属于Wireshark可提供的捕获网络数据的封装信息。
将此信息与OSI模型和TCP/IP层模型联系起来。
您必须学会认知这些模型所代表的协议、协议层和封装类型,并将这些内容与Wireshark提供的信息联系起来。