Ethereal抓包工具使用大全新太科技股份有限公司2009年6月目录1.ETHEREAL 简介 (3)2.ETHEREAL基本操作 (3)3. ETHEREAL几个使用场景 (5)3.1根据协议过滤 (5)3.2指定IP和端口进行过滤 (6)3.3指定某个呼叫的过滤 (10)3.4把抓到的RTP流存成语音文件 (11)附录一:常用的DISPLAY FILTER (14)附录二:ETHEREAL安装说明及重要链接 (15)附录三:TCPDUMP使用方法 (16)1.T CPDUMP简介 (16)2.T CPDUMP安装 (16)3.T CPDUMP使用示例 (16)4.T CPDUMP使用方法链接 (16)1.E thereal简介E thereal是一个开放源码的网络分析系统,也是是目前最好的开放源码的网络协议分析器,支持Linux和windows平台。
事实上,Ethereal本身并不能抓包,它只能用来解析数据包,要抓取数据包,它需要借助于PCap。
Pcap在windows下面的实现称作winpcap,这也就是为什么我们在安装前要先安装好winpcap工具。
2.Ethereal基本操作首先运行Ethereal,出现Ethereal的主界面,如下图所示:图1 Ethereal主界面要捕获网络上的数据包,首先进行相关设置,点击Capture->Options出现以下窗口,如图所示:指定网卡图2 指定网卡设置完毕后,点击Start,Etheteal便会开始动态的统计目前所截获的数据包,点击Capture->Stop,即可停止。
下图为Ethereal截获数据包后的界面:封包列表封包的详细资料封包的内容图4 Ethereal截获数据包后的界面如果需要保存截获的数据包信息,可点击File->Save / Save as 进行保存。
3. Ethereal几个使用场景在介绍使用场景之前,首先要明确Ethereal的两类不同的过滤器:一类是抓包过滤器Capture Filter,即只抓取符合规则的数据包;一类是显示过滤器Display Filter,是在抓取的数据包中显示符合规则的数据包。
二者在使用上及在语法上是有区别的。
如果您想抓取特定的数据包,可以采用以下两种方式:一在抓包的时候在capture->options->Capture Filter中定义过滤规则,这样结果就是只抓取您设定好的那些类型的数据包,二是把本机收到或发出的数据包全部抓取下来,然后使用显示过滤器,只显示您感兴趣的数据包。
注意:在这里我们介绍的几个场景都是针对显示过滤器的。
3.1根据协议过滤当您截获数据包以后,如果您只想查看使用SIP协议的数据包,您可以在Filter中输入:sip,按enter键后,您可以看到在封包列表中显示的只有使用SIP协议的包了。
同样的道理,您可以输入其它的协议:tcp, rtp, udp等等,来查看使用相应协议的数据包。
图1 根据SIP协议过滤数据包3.2指定IP和端口进行过滤在Filter中输入: ip.addr==10.200.100.222,按enter键后,您可以看到在封包列表中显示的只有源地址或目的IP地址为10.200.100.222主机的数据包了。
图2 ip.addr==10.200.100.222如果你只想查看从该主机流出的数据包,则只需要把addr改为src即可,如下图所示:图3 ip.src==10.200.100.222如果你只想查看流向该主机的数据包,则只需要把addr改为dst即可,如下图所示:图4 ip.dst==10.200.100.222如果您想同时查看主机IP地址为:172.16..55.255的封包信息,可以用or操作,即在Filter中输入: ip.addr==10.200.100.222 or ip.addr==172.16.55.255。
图5 ip.addr==10.200.100.222 or ip.addr==172.16.55.255如果您想查看主机IP地址为:172.16.55.83,使用UDP协议,端口号为7557的封包信息,可以用and操作,即在Filter中输入:ip.addr==172.16.55.83 and udp.port==7557。
图6 ip.addr==172.16.55.83 and udp.port==75573.3 指定某个呼叫的过滤首先在Filter中输入:sip,可以查看所有关于SIP协议的封包信息,如果您只想查看关于某个指定过滤主叫号码或被叫号码的呼叫的封包信息,则可以在Filter中输入:sip contains 6324,如下图所示:图1 指定过滤被叫号码是6324呼叫3.4 把抓到的RTP流存成语音文件在Fliter中输入:sip or rtp ,封包列表中,会显示所有使用SIP或RTP协议的数据包。
选中一个使用RTP协议的数据流,然后点击Ethereal主界面菜单栏的Statistics->RTP->Stream Analysis,弹出 RTP Stream Analysis对话框。
图1打开RTP流分析图2 RTP 流分析点击想要保存的RTP 流,然后点击Save payload… 出现保存对话框,选择好存放的目录后,然后选择要保存的格式,一般选择.au格式,这种格式的文件在普通播放器中就可以播放,根据你保存的数据流向,选定Channels,在下方输入保存的数据流的名字(带后缀名),然后点击OK保存。
如下图所示:图3 RTP 流保存如果想要打开保存后的RTP流文件,可以用windows Media Player播放。
3.5 通过网络交换机抓包在交换以太网的环境下,一般两台工作站之间的通讯是不会被第三者侦听到的。
若需要侦听就要做SPAN(cisco)或者端口镜像(更早的功能)侦听的对象可以是一个或多个交换机端口,或者整个VLAN。
如果要侦听的端口(“源端口”)或VLAN和目标端口在同一台交换机上,只需配置SPAN; 如果不在同一台交换机上,需要配置RSPAN 。
某些交换机不支持RSPAN,2900必须在同一个lan。
具体支持特性需要针对不同的交换机。
下面的配置是同一台交换机上的监控(全局环境下)4000/6000 CatOS 交换机:set span 6/17 6/19 //SPAN:源端口为6/17 目标端口为6/192950/3550/4000IOS/6000IOS 交换机:monitor session 1 local //SPANmonitor session 1 source interface fastethernet 0/17 both //源端口,也可以是某个VLAN monitor session 1 destination interface fastethernet 0/19 //目标端口2900/3500XL 交换机:interface fastethernet 0/19 //目标端口port monitor fastethernet 0/17 //源端口1900 交换机: (或使用菜单 [M] Monitoring)monitor-port monitored 0/17 //源端口(0/17和0/18端口)monitor-port monitored 0/18monitor-port port 0/19 //目标端口monitor-port //开始监控中兴3928交换机端口镜像(监控端口上)interface fei_1/6negotiation autoswitchport access vlan 10switchport qinq normalmonitor session 1 source direction both附录一:常用的Display Filter1. 操作符:eq, == Equalne, != Not Equalgt, > Greater Thanlt, < Less Thange, >= Greater than or Equal tole, <= Less than or Equal to2. 搜索操作contains 协议,包,包含指定内容matches Perl标准表达式3.常见关键词frameipethudptcphttp4. 数组操作[i:j] i = 起点, j = 长度[i-j] i = 起点, j = 末点, 包含.[i] i = 起点, 长度1[:j] 起点等于 0, 长度= j[i:] 起点 = i, 至最后5.逻辑操作and, && Logical ANDor, || Logical ORnot, ! Logical NOT6.位操作bitwise_and, & Bitwise AND附录二:Ethereal安装说明及重要链接windows 下ethereal 的安装方法:1)安装winpcap,下载地址h ttp:///install/default.htm2)安装ethereal ,官方网站地址:h ttp:/// (如不可用可以在这里下载:h ttp:///soft/3906.htm)安装请参考:Ethereal软件下载与安装手册:h ttp:///Class/Ethereal/200610/16497.html官方使用手册:h ttp:///docs/eug_html_chunked/(英文版)Ethereal汉化使用手册:h ttp:///download/user-guide.html重要链接:中国协议分析网->关于Ethereal的参考资料:h ttp:///Class/Ethereal/index.html附录三:Tcpdump使用方法1.Tcpdump简介linux下抓包工具——Tcpdump ,它是一种免费的网络数据分析采集工具,可以将网络中传送的数据包的“头”完全截获下来提供分析。
它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助您去掉无用的信息。
2.Tcpdump安装在安装Tcpdump之前,首先要安装Libpcap。
可以在h ttp:///下载到Tcpdump 和 Libpcap最新发布版本。
在这里下面的操作是基于用SecureCRT工具在Windows 操作系统下远程链接到Linux操作系统的。
1.首先把下载的libpcap-1.0.0.tar.gz和tcpdump-4.0.0.tar.gz用linux命令:rz 上传到linux 系统指定的文件下。