Ethereal软体介绍Ethereal封包监听器,是一套网管人员必备的超强软体。举凡在网路故障排除,监听异常封包,软体封包问题检测等等问题,甚至包含针对网路通讯协定的教育训练,都可以利用这套免费的软体来做到。Unix及Windows平台封包撷取、网路分析程式-Ethereal,可以从动态的网路撷取封包,或者是由硬碟中撷取档桉来检查资料,您可以同时浏览每一个封包的撷取资料内容、检视概要及详细资讯,还有强大的过滤器语言显示、检视重建的TCPsession串流功能。不久之前,Sniffer和NetXRay大概是网管人员最熟悉的封包监听软体,但Ethereal这套免费的软体,由于採取开放原始码的方式,更新通讯协定Protocol迅速,支援不同软体汇出的封包撷取档桉格式,目前广为世界各地专业网管使用。很容易的可以选取撷取封包时间,主要透过图形介面来表示,清晰易懂。此外,使用过滤的功能,可以让你轻易的判别出封包种类,可以让你清楚的分析网路中各式各样流窜的封包内容。目前支援620种不同的Protocol,还在持续增加之中。相容的封包撷取档桉格式包含:tcpdump、,NAI的Sniffer,NetXray,Sunsnoop,AIX的iptrace,Microsoft的NetworkMonitor,Novell的LANalyzer,Cisco的IDSiplog等,几乎全部知名的封包撷取软体,通通都可以在这套软体中读取检视。目前各种不同的作业系统几乎都有不同的版本可以支援使用。可以到网站中下载不同平台的版本。说到抓封包看内容来说,这一套免费软体说是超强,支援协定出乎意料的多,常常更新版本,可惜的是目前还没有繁体中文版本本文读者要先知道的智识:ISO7和TCP/IP协定,FTP基础使用教学内容:这一次的教学,我要使用Ethereal找出本台电脑FTP的连线密码以目前笔者使用最新的版本为0.99.0也以这一版本作介绍使用方法请到左上角有一下载处DownloadNow,点一下下载这边有分不同的作业系统有不同版本,Ethereal支援多种作业系统喔这边其实也有以前的版本下载,打上这有以前的版本,还包括了windows系列使用Ethereal前一定要先安装的WinPcap,不过,自从0.99.0之后的版本,都不用另外下载安装winpcap了,因为都封装在ethereal裡面,那之前的版本就必须要另行下载安装winpcap了下面这张图就是下载回来后的档桉清单,有各种版本,其中winpcap3.0和winpcap3.1是因为ethereal0.10的版本要另外下载安装执行安装过程的第一个欢迎画面这是协议书这是选择要安装的套件内容,一般都全选了这是选择要在那裡建立始动捷径startmenugroup=在开始-程式集-desktopicon=桌面quicklaunchicon=快速工具列而下面fileexetnsions勾勾的就是说要把那一些副档名和ethereal建立关联选择安装的路径也就是我之前所说的,winpcap已经寺装在一起了,所以在这裡要选择安装winpcap3.1开始複製档桉了……会特别跳出winpcap的安装程式已经安装完成这是ethereal的软体画面了我们开始来抓封包了,点选Capture-Options在Interface选项裡,选择你要抓封包的网卡,我这张图裡有5张网卡,但我上网的是RTL8139,我就选择RTL8139选好再按START这是在抓封包的过程,可以观察得到各协定所抓到的封包数量(同时也可以看看协定比例对不对),你觉得抓得到你想要的封包时,就可以按STOP了,不过我先不按,因为这一次的教学我要找出FTP的连线密码,当然要先作ftp连线结束才再来按stop我打开我的ftp用户端,要连线的主机,帐号,密码都打上了,按下我的connect连线YA!连线成功认证成功,伺服器回应的讯息这就是一般的ftp连线登入认证时所有过程,那到底ftp软体做了些什麽事情呢!?我们一来看看封包的内容吧我们回到这个画面,按下stop来停止封包抓取的动作按stop后的画面,这画面有分三大部份1.最上面的是似照封包的接收顺序来排序的,就是左边的1.2.3.4.5.6.7......每一行就是一个封包2.中间是每单一个封包的内容,大致上有四行,这四行是TCP/IP协定内所定意的四层,最上面是第一层-实体层和网路介面层(frame)第二层-网路层(包括来源ip和目的地ip,有时候也有macaddress)第三层-协定的种类(如http,ftp,telnet,pop,smtp..........)第四层-应用层(包括所传送的内容,帐号,密码,或msn的通话内容......这一层也是单一封包内容最多的)参考图片:3.最下面的画面是封包真正的内容,也就是01010101010......的,不过是以16进位法表示的(看得懂的才有鬼呢...)因为我们所抓的封包,是只要有经过我们网卡上的封包都会被抓下来,包括是我们要的,不是我们要的,都会抓下来,如何找出我们真正想要的封包呢?我们来点选上一图Expression...的按钮,会出现下图,这是一个封包搜寻器辅助工具,也就是可以辅助我们输入正确的关建字在左边选出我们要的协定或关键的字串,我们这一次是找ftp的封包,所以选完ftp就好了,如果按+号,会出现更多的细项,但我们不需要,所以直接按ok就好还没搜索出来,因为刚刚只是辅助我们输入正确的关建字,现在在关建字多了ftp三个英文字,现在再按Filter,会出现下图这是一些说明及搜寻ftp封包时所定的条件,可以不用理会直接按ok(或在上图中直接按Alpply)这样就可以找到这一次封包中所收集的ftp封包点一下NO.,似照封包的顺序来排列,这是第11个封包我们直接看第四层内容220FTPSrverreday.rn这个封包是ftp主机先sayhi,说他自己是存在的,再要求我们提供资料(其中n是Enter键的意思)那我们看看我们给ftp主机什麽东西,看第12个封包我们也是直接看第四层内容引用:USERnetbirdrn我们的ftp软体会输入指令USER,再接是帐号netbird(按+是分析Requestcommanr:USER回应指令是:USER,--Requestarg:netbird回应内容是:netbird)下面是伺回应,第14个封包,有该帐号存在,该帐号需要密码,请输入密码我们到送出密码的封包,是第15个封包,如下图看到了密码是2pzwst87因为ftp协定是明码传送封包的,所以使用ethereal是可以看得到的,明码传送密码的协定有telnet,http,ftp,pop,smtp.....等如果说不要被看到密码的,那就请用SSL,HTTPS,POP+SSL,SMTP+SSL,SSH.....EtherealCaptureOptions详解Options:Interface:选择采集数据包的网卡IPaddress:选择的网卡所对应的IP地址Link-layerheadertype:数据链路层的协议,在以太网中一般是EthernetIIBuffersize:数据缓存大小设定,默认是1M字节Capturepacketsinpromiscuousmode:设定在混杂模式下捕获数据,如果不选中,将只能捕获本机的数据通讯,默认情况下选中该项Limiteachpacketto:设定只捕获数据包的前多少个字节(从以太网头开始计算),默认是68CaptureFilter:设定当前的数据包采集过滤器CaptureFileFile:设定数据包文件的保存位置和保存文件名,默认不保存Usemultiplefiles:启用多文件保存,默认不启用Nextfileevery:设定每个数据包文件的大小(单位是M,默认1M),只有启用Usemultiplefiles后此项才可用Nextfileevery:设定每个数据包文件的大小(单位是分钟,默认1分钟),只有启用Usemultiplefiles后此项才可用Ringbufferwith:当保存多少个数据包文件后循环缓存,默认是2个文件,即保存2个数据包文件后丢弃缓存中的数据包,再添加新采集到的数据包Stopcaptureafter:当保存多少个数据包文件后停止捕获,默认是1个文件StopCapture…after:捕获到多少个数据包后停止捕获,默认不启用,如启用,默认值是1…after:捕获到多少M字节的数据包后停止捕获,默认不启用,如启用,默认值是1…after:捕获多少分钟后停止捕获,默认不启用,如启用,默认值是1DisplayOptionsUpdatelistofpacketsinrealtime:实时更新捕获到的数据包列表信息Automaticscrollinginlivecapture:对捕获到的数据包信息进行自动滚屏显示Hidecaptureinfodialog:隐藏捕获信息对话框NameResolutionEnableMACnameresolution:把MAC地址前3位解析为相应的生产厂商Enablenetworknameresolution:启用网络地址解析,解析IP,IPX地址对应的主机名Enabletransportnameresolution:启用端口名解析,解析端口号对应的端口名ethereal可以用来从网络上抓包,并能对包进行分析。下面介绍windows下面ethereal的使用方法安装1)安装winpcap,下载地址)安装ethereal,下载地址使用windows程序,使用很简单。启动ethereal以后,选择菜单Capature-Start,就OK了。当你不想抓的时候,按一下stop,抓的包就会显示在面板中,并且已经分析好了。下面是一个截图:ethereal使用-capture选项nterface:指定在哪个接口(网卡)上抓包。一般情况下都是单网卡,所以使用缺省的就可以了Limiteachpacket:限制每个包的大小,缺省情况不限制Capturepacketsinpromiscuousmode:是否打开混杂模式。如果打开,抓取所有的数据包。一般情况下只需要监听本机收到或者发出的包,因此应该关闭这个选项。Filter:过滤器。只抓取满足过滤规则的包(可暂时略过)File:如果需要将抓到的包写到文件中,在这里输入文件名称。useringbuffer:是否使用循环缓冲。缺省情况下不使用,即一直抓包。注意,循环缓冲只有在写文件的时候才有效。如果使用了循环缓冲,还需要设置文件的数目,文件多大时回卷其他的项选择缺省的就可以了ethereal的抓包过滤器抓包过滤器用来抓取感兴趣的包,用在抓包过程中。抓包过滤器使用的是libcap过滤器语言,在tcpdump的手册中有详细的解释,基本结构是:[not]primitive[and|or[not]primitive...]个人观点,如果你想抓取某些特定的数据包时,可以有以下两种方法,你可以任选一种,个人比较偏好第二种方式:1、在抓包的时候,就先定义好抓包过滤器,这样结果就是只抓到你设定好的那些类型的数据包;2、先不管三七二十一,把本机收到或者发出的包一股脑的抓下来,然后使用下节介绍的显示过滤器,只让Ethereal显示那些你想要的那些类型的数据包;etheral的显示过滤器(重点内容)在抓包完成以后,显示过滤器可以用来找到你感兴趣的包,可以根据1)协议2)是否存在某个域3)域值4)域值之间的比较来查找你感兴趣的包。举个例子,如果你只想查看使用tcp协议的包,在ethereal窗口的左下角的Filter中输入tcp,然后回车,ethereal就会只显