实验一Ethereal协议分析软件的使用讲义.docx
- 文档编号:5205647
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:18
- 大小:1.47MB
实验一Ethereal协议分析软件的使用讲义.docx
《实验一Ethereal协议分析软件的使用讲义.docx》由会员分享,可在线阅读,更多相关《实验一Ethereal协议分析软件的使用讲义.docx(18页珍藏版)》请在冰豆网上搜索。
实验一Ethereal协议分析软件的使用讲义
实验一:
使用包嗅探及协议分析软件Ethereal分析Ethernet帧及应用层FTP协议的分析
【实验目的】
1、掌握包嗅探及协议分析软件Ethereal的使用。
2、掌握Ethernet帧的构成
3、掌握FTP协议包的构成
【实验环境】
安装好Windows2000Server操作系统+Ethereal的计算机
【实验时间】2节课
【实验重点及难点】
重点学习掌握如何利用Ethereal来分析Ethernet帧。
【实验内容】
1、捕捉任何主机发出的Ethernet802.3格式的帧和DIXEthernetV2(即Ethernet
II)格式的帧并进行分析。
2、捕捉并分析局域网上的所有ethernetbroadcast帧进行分析。
3、捕捉局域网上的所有ethernetmulticast帧进行分析。
【实验步骤】
一、Ethereal的安装
Ethereal是一个图形用户接口(GUI)的网络嗅探器,由于Ethereal需要WinPcap库,所以先安装WinPcap_2_3.exe,再安装Ethereal.exe。
(已装好)
二、仔细阅读附件中的Ethereal使用方法和TcpDump的表达式详解,学习
Ethereal的使用。
三、捕捉任何主机发出的Ethernet802.3格式的帧和DIXEthernetV2(即Ethernet
II)格式的帧并进行分析。
捕捉任何主机发出的Ethernet802.3格式的帧(帧的长度字段<=1500),Ethereal的capturefilter的filterstring设置为:
ether[12:
2]<=1500。
捕捉任何主机发出的DIXEthernetV2(即EthernetII)格式的帧(帧的长度字段>1500,帧的长度字段实际上是类型字段),Ethereal的capturefilter的filterstring设置为:
ether[12:
2]>1500。
观察并分析帧结构,802.3格式的帧的上一层主要是哪些PDU?
是IP、LLC
还是其它哪种?
(学校里可能没有,如果没有,注明没有就可以了)
观察并分析帧结构,EthernetII的帧的上一层主要是哪些PDU?
是IP、LLC
还是其它哪种?
四、捕捉并分析局域网上的所有ethernetbroadcast帧,Ethereal的capturefilter的filterstring设置为:
etherbroadcast。
观察并分析哪些主机在发广播帧,这些帧的高层协议是什么?
你的LAN的共享网段上连接了多少台计算机?
1分钟内有几个广播帧?
有
否发生广播风暴?
五、捕捉局域网上的所有ethernetmulticast帧,Ethereal的capturefilter的filterstring设置为:
ethermulticast
观察并分析哪些节点在发multicast帧,这些帧的高层协议是什么?
【实验指导材料】
用Ethereal分析协议数据包
Ethereal是一个图形用户接口(GUI)的网络嗅探器,能够完成与Tcpdump相同的功能,但操作界面要友好很多。
Ehtereal和Tcpdump都依赖于pcap库(libpcap),因此两者在许多方面非常相似(如都使用相同的过滤规则和关键字)。
Ethereal和其它图形化的网络嗅探器都使用相同的界面模式,如果能熟练地使用Ethereal,那么其它图形用户界面的嗅探器基本都可以操作。
1.Ethereal的安装
由于Ethereal需要WinPcap库,所以先安装WinPcap_2_3.exe,再安装Ethereal.exe。
2.设置Ethereal的过滤规则
当编译并安装好Ethereal后,就可以执行“ethereal”命令来启动Ethereal。
在用Ethereal截获数据包之前,应该为其设置相应的过滤规则,可以只捕获感兴趣的数据包。
Ethereal使用与Tcpdump相似的过滤规则(详见下面的“5.过滤规则实例”),并且可以很方便地存储已经设置好的过滤规则。
要为Ethereal配置过滤规则,首先单击“Edit”选单,然后选择“CaptureFilters...”菜单项,打开“EditCaptureFilterList”对话框(如下图所示)。
因为此时还没有添加任何过滤规则,因而该对话框右侧的列表框是空的。
在Ethereal中添加过滤器时,需要为该过滤器指定名字及规则。
例如,要在主机10.1.197.162和间创建过滤器,可以在“Filtername”编辑框内输入过滤器名字“sohu”,在“Filterstring”编辑框内输入过滤规则“host10.1.197.162and”,然后单击“New”按钮即可,如下图所示。
在Ethereal中使用的过滤规则和Tcpdump几乎完全一致,这是因为两者都基于pcap库的缘故。
Ethereal能够同时维护很多个过滤器。
网络管理员可以根据实际需要选用不同的过滤器,这在很多情况下是非常有用的。
例如,一个过滤器可能用于截获两个主机间的数据包,而另一个则可能用于截获ICMP包来诊断网络故障。
当所有需要的过滤器都创建好后,单击“Save”按钮保存创建的过滤器,然后单击“Close”按钮来关闭“EditCaptureFilterList”对话框。
要将过滤器应用于嗅探过程,需要在截获数据包之前或之后指定过滤器。
要为嗅探过程指定过滤器,并开始截获数据包,可以单击“Capture”选单,选择“Start...”选单项,打开“CaptureOptions”对话框,单击该对话框中的“Filter:
”按钮,然后选择要使用的过滤器,如下图所示。
注意在“CaptureOptions”对话框中,“Updatelistofpacketsinrealtime”复选框被选中了。
这样可以使每个数据包在被截获时就实时显示出来,而不是在嗅探过程结束之后才显示所有截获的数据包。
在选择了所需要的过滤器后,单击“OK”按钮,整个嗅探过程就开始了。
Ethereal可以实时显示截获的数据包,因此能够帮助网络管理员及时了解网络的运行状况,从而使其对网络性能和流量能有一个比较准确的把握。
3.用Ethereal分析数据包
Ethereal和其它的图形化嗅探器使用基本类似的界面,整个窗口被分成三个部分:
最上面为数据包列表,用来显示截获的每个数据包的总结性信息;中间为协议树,用来显示选定的数据包所属的协议信息;最下边是以十六进制形式表示的数据包内容,用来显示数据包在物理层上传输时的最终形式。
使用Ethereal可以很方便地对截获的数据包进行分析,包括该数据包的源地址、目的地址、所属协议等。
图4是在Ethereal中对一个HTTP数据包进行分析时的情形。
在图4最上边的数据包列表中,显示了被截获的数据包的基本信息。
从图中可以看出,当前选中数据包的源地址是10.1.197.162,目的地址为61.135.150.65,该数据包所属的协议是超文本传输协议(HTTP)。
更详细的信息表明该数据包中含有一个HTTP的GET命令,要求下载starrtlog.js文件到客户端的Web浏览器。
图4用Ethereal分析数据包内容
图4中间是协议树,通过协议树可以得到被截获的数据包的更多信息,如主机的MAC地址(EthernetII)、IP地址(InternetProtocol)、TCP端口号(TransmissionControlProtocol),以及HTTP协议的具体内容(HypertextTrnasferProtocol)。
通过扩展协议树中的相应节点,可以得到该数据包中携带的更详尽的信息。
图4最下边是以十六制显示的数据包的具体内容,这是被截获的数据包在物理媒体上传输时的最终形式,当在协议树中选中xz某行时,与其对应的十六进制代码同样会被选中,这样就可以很方便地对各种协议的数据包进行分析。
Ethereal提供的图形化用户界面非常友好,管理员可以很方便地查看到每个数据包的详细信息,协议树及其对应的十六进制表示对分析每个数据包的目的很有帮助,综合使用Ethereal和Tcpdump能够基本满足网络管理员在Linux和windows系统上的所有嗅探要求。
4.tcpdump的表达式介绍
tcpdump的表达式就是前面提到的Ethereal过滤规则。
表达式是一个正则表达式,tcpdump利用它作为过滤报文的条件,如果一个报文满足表达式的条件,则这个报文将会被捕获。
如果没有给出任何条件,则网络上所有的信息包将会被截获。
在表达式中一般如下几种类型的关键字,一种是关于类型的关键字,主要包括host,net,port,例如host210.27.48.2,指明210.27.48.2是一台主机,net202.0.0.0指明202.0.0.0是一个网络地址,port23指明端口号是23。
如果没有指定类型,缺省的类型是host.
第二种是确定传输方向的关键字,主要包括src,dst,dstorsrc,dstandsrc,这些关键字指明了传输的方向。
举例说明,src210.27.48.2,指明ip包中源地址是210.27.48.2,dstnet202.0.0.0指明目的网络地址是202.0.0.0。
如果没有指明方向关键字,则缺省是srcordst关键字。
第三种是协议的关键字,主要包括:
ether,fddi,tr,ip,ip6,arp,rarp,decnet,tcp,udp.。
Fddi指明是在FDDI(分布式光纤数据接口网络)上的特定的网络协议,实际上它是"ether"的别名,fddi和ether具有类似的源地址和目的地址,所以可以将fddi协议包当作ether的包进行处理和分析。
其他的几个关键字就是指明了监听的包的协议内容。
如果没有指定任何协议,则tcpdump将会监听所有协议的信息包。
除了这三种类型的关键字之外,其他重要的关键字如下:
gateway,broadcast,less,greater,还有三种逻辑运算,取非运算是'not''!
',与运算是'and','&&';或运算是'or','||';
这些关键字可以组合起来构成强大的组合条件来满足人们的需要,下面举几个例子来
1、想要截获所有210.27.48.1的主机收到的和发出的所有的数据包:
#tcpdumphost210.27.48.1
2、想要截获主机210.27.48.1和主机210.27.48.2或210.27.48.3的通信,使用命令:
(在命令行中适用括号时,一定要
#tcpdumphost210.27.48.1and\(210.27.48.2or210.27.48.3\)
3、如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包,使用命令:
iphost210.27.48.1and!
210.27.48.2
4、如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令:
tcpport23host210.27.48.1
5.过滤规则实例
●捕捉主机10.14.26.53和www服务器之间的通信(这里主机10.14.26.53可以是自身,也可以是通过普通HUB(而不是交换机)与本机相连的LAN上的其它主机或路由器,下同),Ethereal的capturefilter的filterstring设置为:
host10.14.26.53and
●捕捉局域网上的所有ARP包,Ethereal的capturefilter的filterstring设置为:
arp
●捕捉局域网上主机10.14.26.53发出或接受的所有ARP包,Ethereal的capturefilter的filterstring设置为:
arphost10.14.26.53
或者等价地设置为:
arpandhost10.12.105.27
●捕捉局域网上主机10.14.26.53发出或接受的所有POP包(即srcordstport=110),Ethereal的capturefilter的filterstring设置为:
tcpport110andhost10.14.26.53
或者等价地设置为:
tcpandport110andhost10.14.26.53
●捕捉局域网上主机10.14.26.53发出或接受的所有FTP包(即srcordstport=21),Ethereal的capturefilter的filterstring设置为:
tcpport21andhost10.14.26.53
(1).在主机10.14.26.53上用FTP客户端软件访问FTPserver。
(2).观察并分析10.14.26.53和FTPserver之间传输的EthernetII(即DIXEthernetv2)帧结构,IP数据报结构,TCPsegment结构。
(3).观察并分析FTPPDU名称和结构。
注意10.14.26.53发出的FTPrequestPDU中以USER开头、以PASS开头的两个PDU,他们包含了什么信息?
对INTERNET的FTP协议的安全性作出评价。
●捕捉局域网上的所有icmp包,Ethereal的capturefilter的filterstring设置为:
icmp
●捕捉局域网上的所有ethernetbroadcast帧,Ethereal的capturefilter的filterstring设置为:
etherbroadcast
●捕捉局域网上的所有IP广播包,Ethereal的capturefilter的filterstring设置为:
ipbroadcast
●捕捉局域网上的所有ethernetmulticast帧,Ethereal的capturefilter的filterstring设置为:
ethermulticast
●捕捉局域网上的所有IP广播包,Ethereal的capturefilter的filterstring设置为:
ipmulticast
●捕捉局域网上的所有ethernetmulticast或broadcast帧,Ethereal的capturefilter的filterstring设置为:
ether[0]&1!
=0
●要以MACaddress00:
00:
11:
11:
22:
22为抓封包条件,Filterstring设置为:
etherhost00:
00:
11:
11:
22:
22
FTP模型与测试分析环境
协议分析器
协议分析器的作用就是监视FTP客户与FTP服务器的协议交互过程,记录并对协议包进行分析;
分析环境的具体参数是:
FTP服务器:
MAC地址为00-00-C0-22-A1-01
IP地址为201.5.21.1
控制连接端口号为20
数据连接端口号为21
FTP客户:
MAC地址为02-60-8C-01-24-28
IP地址为201.5.21.25
数据连接端口号为15432
控制连接端口号为7180
FTP工作模型
FTP控制连接建立过程的协议分析
地址解析ARP协议执行过程
FTP控制连接建立过程
协议包4~6是FTP控制连接建立的协议执行过程
协议包4:
FTP客户请求建立与FTP服务器控制连接包
FTP控制连接建立的协议包交互过程
FTP用户登录身份验证过程的协议分析
协议包9~16是用户身份的协议执行过程
协议包9:
FTP客户发送给FTP服务器的User命令协议包
协议包10:
FTP服务器发送给FTP客户对User命令的应答包
协议包12:
FTP客户发送给FTP服务器的带有用户名与密码的应答包
FTP用户登录身份验证的协议包交互过程
FTP数据连接建立过程的协议分析
FTP数据连接建立分为:
连接建立准备、连接建立阶段
协议包17、18完成数据连接建立准备工作
协议包17:
FTP客户发送给FTP服务器的Port命令包
协议包18:
FTP服务器发送给FTP客户的Port命令应答包
根据FTP协议的规定,FTP客户可以动态地选择一个大于1024的本地端口号
FTP协议表示方法:
在Port命令中客户IP地址后面加上两个十进制的数P1、P2,表示16位的本地端口号,计算公式是本地端口号=P1×256+P2
协议包19:
FTP客户发送给FTP服务器的RETR命令包
FTP数据连接建立准备工作的协议包交互过程
数据连接建立过程
协议包20~22完成数据连接建立工作
FTP数据传输过程的协议分析
协议包23~25完成数据传输工作
协议包23:
FTP服务器向FTP客户发回文件netstart的
状态信息
协议包25:
FTP服务器向FTP客户发送的检索文件的数据包
协议包26:
FTP服务器在传输数据的同时,向FTP客户发送在文件传输结束时断开数据连接的通知协议包
FTP数据传输中最后一个数据包的结构
FTP数据传输和确认的协议包交换过程
FTP连接释放过程的分析
一个完美的传输连接的释放机制应该是任何一方都可以提出,但是必须双方都同意,才可以释放连接;
FTP连接建立分为控制连接建立与数据连接建立两个阶段,因此连接释放也应包括释放控制连接与释放数据连接两个阶段;
首先应该释放数据连接,然后再释放控制连接。
FTP客户做FIN置位的应答包
FTP客户的QUIT命令包结构
FTP服务器对QUIT命令的响应包的结构(tu)
FTP数据连接释放过程
FTP控制连接的释放过程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 Ethereal 协议 分析 软件 使用 讲义