内容发布更新时间 : 2024/11/8 0:35:00星期一 下面是文章的全部内容请认真阅读。
实验一:使用包嗅探及协议分析软件Ethereal 分析 Ethernet帧及应用层FTP协
议的分析
【实验目的】
1、 掌握包嗅探及协议分析软件Ethereal的使用。 2、掌握Ethernet帧的构成 3、掌握 FTP协议包的构成
【实验环境】
安装好Windows 2000 Server操作系统+Ethereal的计算机
【实验时间】 2节课 【实验重点及难点】
重点学习掌握如何利用Ethereal来分析Ethernet帧。
【实验内容】
1、捕捉任何主机发出的Ethernet 802.3格式的帧和DIX Ethernet V2(即Ethernet II)格式的帧并进行分析。
2、捕捉并分析局域网上的所有ethernet broadcast帧进行分析。 3、捕捉局域网上的所有ethernet multicast帧进行分析。
【实验步骤】
一、Ethereal的安装
Ethereal是一个图形用户接口(GUI)的网络嗅探器,由于Ethereal需要WinPcap库, 所以先安装WinPcap_2_3.exe, 再安装Ethereal.exe。(已装好) 二、仔细阅读附件中的Ethereal使用方法和TcpDump的表达式详解,学习
Ethereal的使用。 三、 捕捉任何主机发出的Ethernet 802.3格式的帧和DIX Ethernet V2(即Ethernet II)格式的帧并进行分析。
捕捉任何主机发出的Ethernet 802.3格式的帧(帧的长度字段<=1500), Ethereal的capture filter 的filter string设置为:ether[12:2] <= 1500。捕捉任何主机发出的DIX Ethernet V2(即Ethernet II)格式的帧(帧的长度字段>1500, 帧的长度字段实际上是类型字段), Ethereal的capture filter 的filter string设置为:ether[12:2] > 1500。
①观察并分析帧结构,802.3格式的帧的上一层主要是哪些PDU?是IP、LLC 还是其它哪种?(学校里可能没有,如果没有,注明没有就可以了) ②观察并分析帧结构,Ethernet II的帧的上一层主要是哪些PDU?是IP、LLC 还是其它哪种? 四、 捕捉并分析局域网上的所有ethernet broadcast帧,Ethereal的capture filter 的
filter string设置为:ether broadcast。
①观察并分析哪些主机在发广播帧,这些帧的高层协议是什么?
②你的LAN的共享网段上连接了多少台计算机?1分钟内有几个广播帧?有 否发生广播风暴? 五、捕捉局域网上的所有ethernet multicast帧,Ethereal的capture filter 的filter string设置为:ether multicast
①观察并分析哪些节点在发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”选单,然后选择“Capture Filters...”菜单项,打开“Edit Capture Filter List”对话框(如下图所示)。因为此时还没有添加任何过滤规则,因而该对话框右侧的列表框是空的。
在Ethereal中添加过滤器时,需要为该过滤器指定名字及规则。例如,要在主机10.1.197.162和www.sohu.com间创建过滤器,可以在“Filter name”编辑框内输入过滤器名字“sohu”,在“Filter string”编辑框内输入过滤规则
“host 10.1.197.162 and www.sohu.com”,然后单击“New”按钮即可,如下图所示。
在Ethereal中使用的过滤规则和Tcpdump几乎完全一致,这是因为两者都基于pcap库的缘故。Ethereal能够同时维护很多个过滤器。网络管理员可以根据实际需要选用不同的过滤器,这在很多情况下是非常有用的。例如,一个过滤器可能用于截获两个主机间的数据包,而另一个则可能用于截获ICMP包来诊断网络故障。
当所有需要的过滤器都创建好后,单击“Save”按钮保存创建的过滤器,然后单击“Close”按钮来关闭“Edit Capture Filter List”对话框。要将过滤器应用于嗅探过程,需要在截获数据包之前或之后指定过滤器。要为嗅探过程指定过滤器,并开始截获数据包,可以单击“Capture”选单,选择“Start...”选单项,打开“Capture Options”对话框,单击该对话框中的“Filter:”按钮,然后选择要使用的过滤器,如下图所示。
注意在“Capture Options”对话框中,“Update list of packets in real time”复选框被选中了。这样可以使每个数据包在被截获时就实时显示出来,而不是在嗅探过程结束之后才显示所有截获的数据包。
在选择了所需要的过滤器后,单击“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地址(Ethernet II)、IP地址(Internet Protocol)、TCP端口号(Transmission Control Protocol),以及HTTP协议的具体内容(Hypertext Trnasfer Protocol)。通过扩展协议树中的相应节点,可以得到该数据包中携带的更详尽的信息。
图4最下边是以十六制显示的数据包的具体内容,这是被截获的数据包在物理媒体上传输时的最终形式,当在协议树中选中xz某行时,与其对应的十六进制代码同样会被选中,这样就可以很方便地对各种协议的数据包进行分析。
Ethereal提供的图形化用户界面非常友好,管理员可以很方便地查看到每个数据包的详细信息,协议树及其对应的十六进制表示对分析每个数据包的目的很有帮助,综合使用Ethereal和Tcpdump能够基本满足网络管理员在Linux和windows系统上的所有嗅探要求。 4. tcpdump的表达式介绍
tcpdump的表达式就是前面提到的Ethereal过滤规则。
表达式是一个正则表达式,tcpdump利用它作为过滤报文的条件,如果一个报文满足表达式的条件,则这个报文将会被捕获。如果没有给出任何条件,则网络上所有的信息包将会被截获。
在表达式中一般如下几种类型的关键字,一种是关于类型的关键字,主要包括host,net,port, 例如 host 210.27.48.2,指明 210.27.48.2是一台主机,net 202.0.0.0 指明202.0.0.0是一个网络地址,port 23 指明端口号是23。如果没有指定类型,缺省的类型是host.
第二种是确定传输方向的关键字,主要包括src , dst ,dst or src, dst and src , 这些关键字指明了传输的方向。举例说明,src 210.27.48.2 ,指明ip包中源地址是210.27.48.2 , dst net 202.0.0.0 指明目的网络地址是202.0.0.0 。如果没有指明方向关键字,则缺省是src or dst关键字。
第三种是协议的关键字,主要包括:ether, fddi, tr, ip, ip6, arp, rarp, decnet, tcp, udp.。Fddi指明是在 FDDI(分布式光纤数据接口网络)上的特定的网络协议,实际上它是\的别名,fddi和ether具有类似的源地址和目的地址,所以