1、抓包工具抓包工具Ethereal的使用的使用2006年2月南研测试部文档密级:内部公开目录目录nEthereal简介nEthereal安装nEthereal使用nEthereal的抓包过滤器nEthereal使用小技巧南研测试部文档密级:内部公开Ethereal简介lEthereal是我们在测试中常用到的抓包工具,它适用于linux和windows操作系统,它会从网卡处捕获本机向外发的包文件和外界比如服务器向本机发的包文件,然后详细陈列所抓到的各个包的具体协议信息,对于抓到的包文件,我们既可以保存,也可以把他们打开,也可以用过滤来对指定的机器和端口进行分析。南研测试部文档密级:内部公开Ethe
2、real简介lEthereal能够支持许多协议,但有些协议需要安装插件以后才能抓包。首先要下载Ethereal的协议插件,然后解压到Ethereal安装目录的plugins下面,启动Ethereal,在菜单Edit-preferences下进行设置。南研测试部文档密级:内部公开目录目录nEthereal简介nEthereal安装nEthereal使用nEthereal的抓包过滤器nEthereal使用小技巧南研测试部文档密级:内部公开Ethereal安装l在windows操作系统下,执行文件WinPcap_3_0.exe,然后再执行文件ethereal-setup-0.10.10.exe,这样
3、执行完这两个文件后我们就可以运用Ethereal进行抓包或者对linux所抓到的包文件进行分析。南研测试部文档密级:内部公开目录目录nEthereal简介nEthereal安装nEthereal使用nEthereal的抓包过滤器nEthereal使用小技巧南研测试部文档密级:内部公开Ethereal使用l启动Ethereal以后,选择菜单Capture-start,将会出现以下配置页面:南研测试部文档密级:内部公开Ethereal使用l其中在interface输入框中,要求填入所要选择的网卡,对于有多个网卡的服务器这是必要的,但一般对pc机,这一项则不必。lCapture filter框中要求
4、输入过滤条件,即用户所需要的信息,而把一切无关的信息过滤掉。比如我可以按照端口来进行过滤,我只想得到端口号是5060和8080的信息,那么,我在capture Filter栏中输入过滤条件:port 5060 and port 8080 南研测试部文档密级:内部公开Ethereal使用lCapture packets in promiscuous mode:是否打开混杂模式。如果打开,抓取所有的数据包,一般情况下只需要监听本机收到或者发出的包,因此应关闭这个选项。lFile:如果需要将抓到的包写到文件中,在这里输入文件名。lLimit each pocket:限制每个包的大小,缺省情况不限制。
5、南研测试部文档密级:内部公开Ethereal使用l点击ok按钮后出现如下图示:南研测试部文档密级:内部公开Ethereal使用l然后点击stop按钮,就会出现所有的抓包所抓到的信息,最上方显示的是协议包,中间显示的是协议解释,最下面的是二进制码流。如下图所示:南研测试部文档密级:内部公开Ethereal使用l当然我们也可以采取滚动方式来显示所抓到的信息,如下图所示:南研测试部文档密级:内部公开Ethereal使用l如上图选择实时更新和自动滚动后,点击“OK”按钮,就可以滚动显示所抓到的信息。点击“停止”按钮就会停止抓包。南研测试部文档密级:内部公开目录目录nEthereal简介nEtherea
6、l安装nEthereal使用nEthereal的抓包过滤器nEthereal使用小技巧南研测试部文档密级:内部公开Ethereal的抓包过滤器 如果不在Capture filter框中输入过滤条件,上述操作显示的是抓包抓到的所有信息,看起来很繁琐,我们可以用抓包过滤器对它进行过滤,来抓取感兴趣的包。抓包过滤器使用的是libcap过滤器语言,在tcpdump的手册中有详细的解释,基本结构是:not primitive and or not primitive 如果你想抓取某些特定的数据包时,可以有以下两种方法:l在抓包的时候,就先定义好抓包过滤器,这样结果就是只抓到你设定好的那些类型的数据包;l
7、先不管三七二十一,把本机收到或者发出的包一股脑的抓下来,然后使用显示过滤器,只让Ethereal显示那些你想要的那些类型的数据包。南研测试部文档密级:内部公开Ethereal的抓包过滤器南研测试部文档密级:内部公开Ethereal的抓包过滤器l当然我们也可以利用Expression命令来设置过滤条件,如下图:南研测试部文档密级:内部公开Ethereal的抓包过滤器请记住一个诀窍,如果请记住一个诀窍,如果Filter的背景是绿色,就证明你设定的的背景是绿色,就证明你设定的Filter是合乎规定是合乎规定的;但是当背景是红色的,就说明你设定的的;但是当背景是红色的,就说明你设定的Filter是是E
8、thereal不允许的,是不对不允许的,是不对的。的。南研测试部文档密级:内部公开Ethereal的抓包过滤器南研测试部文档密级:内部公开Ethereal的抓包过滤器对于属于对于属于tcp或者或者http协议的信息,选中后点击右键,选择协议的信息,选中后点击右键,选择follow TCP stream就会显示详细的信息:就会显示详细的信息:南研测试部文档密级:内部公开Ethereal的抓包过滤器南研测试部文档密级:内部公开目录目录nEthereal简介nEthereal安装nEthereal使用nEthereal的抓包过滤器nEthereal使用小技巧南研测试部文档密级:内部公开Etherea
9、l使用小技巧n抓包的时候,我们往往想把过滤后的信令保存下来,而不是保存所有信令,这时只需要在保存的时候点击displayed按钮,再保存,保存下来的就是过滤后的信令。这样的包的体积就比较小。n根据call-id过滤所需要的包:选中一条SIP信令的call-id字段,右键选择Apply as Filter-Selected。南研测试部文档密级:内部公开Ethereal使用小技巧n包长度太长导致无法查看消息体后面的内容:将包保存后用UltraEdit打开,在菜单Edit中选择Hex Edit。nXCAP包中消息体很长且一行显示,看起来很费事:将消息体复制后保存到.xml文件中,然后用IE打开可呈现层次结构。南研测试部文档密级:内部公开Ethereal使用小技巧n抓包后利用Etheral主菜单中的StatisticsVoIP Calls菜单项,在弹出的界面中单击按钮,可以看到流程图对分析理解业务流程非常有效。南研测试部文档密级:内部公开Q&A南研测试部文档密级:内部公开结束语结束语Thank you!