网络分析专家论坛 netexpert's Archiver

garnett_wu 发表于 2007-2-9 12:41

Sniffer使用简介

一、捕获数据包前的准备工作

在默认情况下,sniffer将捕获其接入碰撞域中流经的所有数据包,但在某些场景下,有些数据包可能不是我们所需要的,为了快速定位网络问题所在,有必要对所要捕获的数据包作过滤。Sniffer提供了捕获数据包前的过滤规则的定义,过滤规则包括2、3层地址的定义和几百种协议的定义。定义过滤规则的做法一般如下:

1、在主界面选择captureàdefinefilter选项。

2、definefilteràaddress,这是最常用的定义。其中包括MAC地址、ip地址和ipx地址的定义。以定义IP地址过滤为例,见图1。

[[i] 本帖最后由 garnett_wu 于 2007-2-9 17:41 编辑 [/i]]

garnett_wu 发表于 2007-2-9 12:41

比如,现在要捕获地址为10.1.30.100的主机与其他主机通信的信息,在Mode选项卡中,选Include(选Exclude选项,是表示捕获除此地址外所有的数据包);在station选项中,在任意一栏填上10.1.30.100,另外一栏填上any(any表示所有的IP地址)。这样就完成了地址的定义。

注意到Dir.栏的图标:
表示,捕获station1收发的数据包;[attach]12989[/attach]


表示,捕获station1发送的数据包;[attach]12990[/attach]


表示,捕获station1收到的数据包。[attach]12991[/attach]


最后,选取 [attach]12992[/attach]

将定义的规则保存下来,供以后使用。

[[i] 本帖最后由 garnett_wu 于 2007-2-9 12:46 编辑 [/i]]

garnett_wu 发表于 2007-2-9 12:47

[attach]12993[/attach]3、definefilteràadvanced,定义希望捕获的相关协议的数据包。

如图6

比如,想捕获FTP、NETBIOS、DNS、HTTP的数据包,那么说首先打开TCP选项卡,再进一步选协议;还要明确DNS、NETBIOS的数据包有些是属于UDP协议,故需在UDP选项卡做类似TCP选项卡的工作,否则捕获的数据包将不全。

如果不选任何协议,则捕获所有协议的数据包。

PacketSize选项中,可以定义捕获的包大小,图3,是定义捕获包大小界于64至128bytes的数据包。


图7

[[i] 本帖最后由 garnett_wu 于 2007-2-9 12:48 编辑 [/i]]

garnett_wu 发表于 2007-2-9 12:50

4、definefilteràbuffer,定义捕获数据包的缓冲区。如图8:



[align=center] [/align]
Buffersize选项卡,将其设为最大40M。

Capturebuffer选项卡,将设置缓冲区文件存放的位置。

garnett_wu 发表于 2007-2-9 12:51

5、最后,需将定义的过滤规则应用于捕获中。如图9:

garnett_wu 发表于 2007-2-9 12:53

[align=left]二、捕获数据包时观察到的信息

CaptureàStart,启动捕获引擎。

sniffer可以实时监控主机、协议、应用程序、不同包类型等的分布情况。如图10:
[/align]

garnett_wu 发表于 2007-2-9 12:53

[size=3]Dashboard:可以实时统计每秒钟接收到的包的数量、出错包的数量、丢弃包的数量、广播包的数量、多播包的数量以及带宽的利用率等。

HostTable:可以查看通信量最大的前10位主机。

Matrix:通过连线,可以形象的看到不同主机之间的通信。

ApplicationResponseTime:可以了解到不同主机通信的最小、最大、平均响应时间方面的信息。

HistorySamples:可以看到历史数据抽样出来的统计值。

Protocoldistribution:可以实时观察到数据流中不同协议的分布情况。

Switch:可以获取cisco交换机的状态信息。

在捕获过程中,同样可以对想观察的信息定义过滤规则,操作方式类似捕获前的过滤规则。[/size]

garnett_wu 发表于 2007-2-9 12:54

三、捕获数据包后的分析工作

要停止sniffer捕获包时,点选CaptureàStop或者CaptureàStopandDisplay,前者停止捕获包,后者停止捕获包并把捕获的数据包进行解码和显示。

如图11:

garnett_wu 发表于 2007-2-9 12:55

[size=3]Decode:对每个数据包进行解码,可以看到整个包的结构及从链路层到应用层的信息,[/size]
[size=3][/size]
[size=3]事实上,sniffer的使用中大部分的时间都花费在这上面的分析,同时也对使用者在网络的理论及实践经验上提出较高的要求。[/size]
[size=3][/size]
[size=3]素质较高的使用者借此工具便可看穿网络问题的结症所在。[/size]
[size=3]
Expert:这是sniffer提供的专家模式,系统自身根据捕获的数据包从链路层到应用层进行分类并作出诊断。

其中diagnoses提出非常有价值的诊断信息。图8,是sniffer侦查到IP地址重叠的例子及相关的解析。

如图12[/size]

garnett_wu 发表于 2007-2-9 12:56

[size=3]sniffer同样提供解码后的数据包过滤显示。

要对包进行显示过滤需切换到Decode模式。

Displayàdefinefilter,定义过滤规则。

Displayàselectfilter,应用过滤规则。

显示过滤的使用基本上跟捕获过滤的使用相同[/size]

garnett_wu 发表于 2007-2-9 12:57

四、sniffer提供的工具应用

sniffer除了提供数据包的捕获、解码及诊断外,还提供了一系列的工具,包括包发生器、ping、traceroute、DNSlookup、finger、whois等工具。

其中,包发生器比较有特色,将做简单介绍。其他工具在操作系统中也有提供,不做介绍。

包发生器提供三种生成数据包的方式:


点选 [attach]13000[/attach]


新构一个数据包,包头、包内容及包长由用户直接填写。图9,定义一个广播包,使其连续发送,包的发送延迟位1ms

[attach]13001[/attach]

garnett_wu 发表于 2007-2-9 12:59

点选

[attach]13002[/attach]

发送在Decode中所定位的数据包,同时可以在此包的基础上对数据包进行如前述的修改。


点选 [attach]13003[/attach]


发送buffer中所有的数据包,实现数据流的重放。


见图:[attach]13004[/attach]


可以定义连续地发送buffer中地数据包或只发送一次buffer中地数据包。请特别注意,不要在运行的网络中重放数据包,否则容易引起严重的网络问题。数据包的重放经常用于实验环境中。

[[i] 本帖最后由 garnett_wu 于 2007-2-9 13:00 编辑 [/i]]

usertest 发表于 2007-2-9 18:11

LZ写得好详细,该文偏重于讲述Sniffer的抓包、解码,什么时候再写写利用Sniffer对网络进行监控如何?
另外,如果能够做成PDF或Word以供下载就更好了。

xiaotian 发表于 2007-2-9 18:41

威望都设置为80搞的我刷了半天才解禁!
我先顶在看
帮LZ说明下缓存设置::loveliness:

[[i] 本帖最后由 xiaotian 于 2007-2-9 19:04 编辑 [/i]]

woody 发表于 2007-2-12 14:24

牛人。。。。。。。。。。。。。。

netvistauser 发表于 2007-2-15 15:56

楼主辛苦!

zhang_ming 发表于 2007-2-17 06:21

最精彩的一部分数据包的过滤设置没说呀!!!!;)

hacker 发表于 2007-2-24 16:41

确实很详细
不够偶已经会了
哈哈
能不能多发点案例分析啊

ctct 发表于 2007-2-26 10:38

谢谢,好好学习一下

anycallye 发表于 2007-2-28 14:14

在下新人,想多看点实用的东东了

sogohappy 发表于 2007-3-2 17:02

谢谢分享!

雷霆战机 发表于 2007-3-2 23:06

谢谢,使我对sinffer有了一个新的了解。:)

danielahj 发表于 2007-3-7 09:47

能否对monitor中的switch功能的使用做详细的说明,因为我们的cisco交换机较多。谢谢!

violet88 发表于 2007-3-7 14:33

最精彩的一部分数据包的过滤设置没说呀!!!!同求!!:)

zjx760303 发表于 2007-3-9 09:23

辛苦,谢谢

sunmex 发表于 2007-3-13 12:03

谢谢,学习了。

woody 发表于 2007-3-30 15:52

收藏了。。。谢谢非常好。。。

ivan0067 发表于 2007-3-31 21:54

楼主辛苦了

YPZHOU25 发表于 2007-4-4 11:21

高!!!!!!!!!!!!

yuehong 发表于 2007-4-24 15:03

楼主辛苦!

xhcytsd 发表于 2007-4-28 22:08

多谢,我也正在学习这个.

hanmeng 发表于 2007-4-29 12:52

精彩学习中

suizhiming 发表于 2007-4-30 11:35

不错 谢谢了 正在学习中

98hqh 发表于 2007-5-5 15:41

强,这么详细!

lanfeng190952 发表于 2007-5-14 11:28

恩,谢谢,很有收获

hydejon 发表于 2007-5-25 17:16

精彩!! 太适合我这样的新手了  收下了

pjlcc1234 发表于 2007-5-28 17:48

楼主辛苦了
讲的也很详细
能发些实例的话就更好了        期待中ING

yuehong 发表于 2007-6-3 18:19

谢谢,好好学习一下

Antiy7 发表于 2007-6-6 14:10

楼主:
      如你下图所示,新构建的数据包,包头信息在那个地方写呢?     









新构一个数据包,包头、包内容及包长由用户直接填写。图9,定义一个广播包,使其连续发送,包的发送延迟位1ms

[img]http://www.netexpert.cn/attachments/forumid_34/14_spiH7wx6HBCJ.gif[/img]
[img]http://www.netexpert.cn/images/default/attachimg.gif[/img]
[img]http://www.netexpert.cn/images/attachicons/image.gif[/img] [url=http://www.netexpert.cn/attachment.php?aid=13001&nothumb=yes]14.GIF[/url] (13.96 KB)
2007-2-9 12:57

lqgef 发表于 2007-6-13 13:11

看了,,

页: [1] 2

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.