分类: BSD
2005-10-31 11:25:09
这是偶第一次用哦,高手不屑于写这些小事,偶做吧
ethereal使用说明
功能:嗅探
用途:用于协议分析,更好理解tcp/ip实现
例子一:
如何设定包过滤规则?包显示规则?
分二种:
捕获规则一,如协议+地址+端口,其实是真正的捕获包的规则.
规则二,数据包里的 关键字 过滤, 如定义只显示捕获的http协议的包,其实是定义 已捕获包 的过滤规则,对捕获的包过滤显示.
步骤:
假设我想捕获发给192.168.0.1的http包里含某一关键字 的包,设定如下:
对规则一,Capture->Capture filters,可以设定如dst host 192.168.0.1,意思是只捕获数据包的目的IP是此IP的包,还有别的规则.具体看help,不过看看例程差不多了.以后再补充。有两个选项建议选上,在Iris中是默认的。位置:
Capture->Capture filters->Display Options:
Update list of packets in realtime和Hide capture info dialog
对规则二,Analyze->Display filters->新建一 Filter,再点击Expression... 有大量选项,如我先选左面的Field name->Linebased text data,Relation项选contains,右面Value(protocol)里填入 关键字,然后确定,保存,应用. -------------------快捷方法:(在工具栏中选Filter和+Expression...)
然后选Capture->start就可以捕获包含 关键字 的http包.
上面列出的只是一种情况,在Expression...--》Field name-->HTML里有大量关于http的,自己一试就知道了。
下面列出规则二的一些,如果捕获的包数量巨大,可以利用此类规则快速定位我们所需的包:
eth.addr == 00:08:15:00:08:15
eth.type == 0x0806
not arp
ip
ip.addr == 192.168.0.1
!(ip.addr == 192.168.0.1)
ipx
tcp
udp
!(tcp.port == 53)
tcp.port == 80 || udp.port == 80
http
not arp and !(udp.port == 53)
not (tcp.port == 80) and not (tcp.port == 25) and ip.addr
http http.date contains "password"
上面有些错误 ,已更正。
例子二:只捕获目标地址是的http包
规则一:(Ctrl+K) Capture->Capture filters,可以设定 host 222.36.44.5,
规则二:在工具栏中选Filter,然后选择http.
续1:
过滤规则的一些通用例子:
MAC例子: 捕获来自MAC地址为08:00:08:15:ca:fe的所有包:
ether host 08:00:08:15:ca:fe
IP地址例子: 捕获所有与IP地址为192.168.0.10有关的包,无论是发送和接收
host 192.168.0.10
TCP例子:捕获来自端口80的TCP包
tcp port 80
多种规则例子:捕获所有包含IP192.168.0.10的包,http包除外.
host 192.168.0.10 and not tcp port 80
注:如果设定了host或者port,arp规则将无效.
续1:
今天用了某宽带,发现用的是和ADSL一样的PPPOE验证.不过不是用的ADSL猫,是用网卡接在交换机上的.
反复断开,连接发现,前面的TCP协议在这儿不行了.仔细一想,什么过滤也不设,再连接,果然一大堆包被抓住.
经分析,用PPP AP协议的包,含有Peer-ID和Passwd,分别是偶的用户名和密码.不知能不能嗅外边的,晕,这个小区内没几家,嗅了一天不知是没上网的还是嗅不到?
分析过程:
在抓到一大堆包后,看清楚用的是什么协议,然后在此协议里用contains(好象是)加自己的用户名作过滤变量值.一找就找到包含偶用户名的包了.
然后在Peer-ID一行上右键单击,选择做为过滤规则的那一项(具体忘了),以后就会只显示过滤后的包了.
下面的链接给出了更详细的解释,可以深入了解PPP认证.
附上一些资料,有缘者得之。感谢原创者的辛勤劳
ethereal 中文用户手册
|
|