当前位置:精华知识首页 >> linux系统 >> linux下抓包工具Ethereal的基本使用

linux下抓包工具Ethereal的基本使用

2008-11-28 22:49:50    作者:佚名  来源:互联网
抓包工具Ethereal
这是网上热心人写的教程,我实践了一下,很简单,不过基本的工作是够用了,我暂且整理整理。
完全可以按照步骤进行基本的抓包。

1.    使用前参数设定——capture 选项设置

Interface:  指定在哪个接口(网卡)上抓包。一般情况下都是单网卡,使用缺省。
Limit each packet:  限制每个包的大小,缺省情况不限制
Capture packets in promiscuous mode:是否打开混杂模式。如果打开,抓取所有的数据包。一般情况下只需要监听本机收到或者发出的包,因此应该关闭这个选项。
Filter: 过滤器。只抓取满足过滤规则的包(暂时略过,在主界面上进行,比较方便)
File: 如果需要将抓到的包写到文件中,在这里输入文件名称。
use ring buffer: 是否使用循环缓冲。缺省情况下不使用,即一直抓包。注意,循环缓冲只有在写文件的时候才有效。如果使用了循环缓冲,还需要设置文件的数目,文件多大时回卷

其他的项选择缺省的就可以了

2. 使用抓包

2.1直接使用
      启动ethreal以后,选择菜单Capature->Start,开始抓包,按stop结束抓包。抓的包就会显示在面板中,并且已经分析好了。

      注意:该方法十分简单,但是却没有进行过滤,抓的包过多,对分析问题不太方便。

2.2过滤器抓包

2.2.1  基本结构是:
[not] primitive [and|or [not] primitive ...]

在抓包完成以后,显示过滤器可以用来找到你感兴趣的包,可以根据
1)协议
2)是否存在某个域         
3)域值
4)域值之间的比较
来查找你感兴趣的包。

举个例子,如果你只想查看使用tcp协议的包,在ethereal窗口的左下角的Filter中输入tcp,然后回车,ethereal就会只显示tcp协议的包。如下图所示
值比较表达式

2.2.2  过滤器操作符
可以使用下面的操作符来构造显示过滤器

自然语言 类c表示   举例
eq  ==   ip.addr==10.1.10.20
ne  !=   ip.addr!=10.1.10.20
gt  >   frame.pkt_len>10
lt  
ge  >=   frame.pkt_len>=10
le  

表达式组合
可以使用下面的逻辑操作符将表达式组合起来
自然语言 类c表示   举例
and  &&   逻辑与,比如ip.addr=10.1.10.20&&tcp.flag.fin
or  ||   逻辑或,比如ip.addr=10.1.10.20||ip.addr=10.1.10.21
xor  ^^   异或,如tr.dst[0:3] == 0.6.29 xor tr.src[0:3] ==
not  !   逻辑非,如 !llc

例如:

我想抓取IP地址是192.168.2.10的主机,它所接收收或发送的所有的HTTP报文,那么合适的显示Filter(过滤器)就是

请记住一个诀窍:只好在Filter的背景是绿色,就证明你设定的Filter是合乎规定的,但是当背景是红色时,就说明你设定的Filter是Ethereal不允许的,是不对的。如


所有的过滤器(Filter)都可以在Filter旁边的Expression…中选取。

3.  升级抓包软件——在ethereal使用协议插件

ethereal能够支持许多协议,但有些协议需要安装插件以后才能解,比如H.323

以H.323协议为例,首先下载ethereal的H.323插件,下载地址
http://www.voice2sniff.org/
下载完了以后将文件(h323.dll)解压到ethereal安装目录的plugin\0.9.x目录下面,比如我的是0.9.11
然后,需要进行一下设置
1)启动ethereal
2)菜单Edit->Preference
3)单击Protocols前面的"+"号,展开Protocols
4)找到Q931,并单击
5)确保"Desegment....   TCP segments"是选中的(即方框被按下去)
6)单击TCP
7)确保"Allow....TCP streams"是选中的
8)确保没有选中"Check....TCP checksum"和"Use....sequence numbers"
9)单击TPKT
10)确保"Desegment....TCP segments"是选中的
11)点击Save,然后点击Apply,然后点击OK

你也完全可以不断地重新安装新版本winpcap和ethreal,这样就可以不需在旧的ethreal的版本中安装新的插件来支持新的协议插件。这也是懒人的一种做法J

    后续有时间再根据工作用到添加,整理手头的另外几份抓包资料。

[打印] [关闭]