一、sniffer原理 sniffer是用于高级分组检错的工具。它可提供分组获取和译码的功能,它可以提供图形以确切的指出在你的网络中哪里正出现严重的业务拥塞。 在以太网中,所有的通讯都是广播的,也就是说通常在同一个网段的所有网络接口都可以访问在物理媒体上传输的所有数据,而每一个网络接口都有一个唯一的硬件地址,这个硬件地址也就是网卡的MAC地址,大多数系统使用48比特的地址,这个地址用来表示网络中的每一个设备,一般来说每一块网卡上的MFC地址都是不同的,每个网卡厂家得到一段地址,然后用这段地址分配给其生产的每个网卡一个地址。在硬件地址和IP地址间使用ARP和RARP协议进行相互转换。 在正常的情况下,一个网络接口应该只响应这样的两种数据帧: 1.与自己硬件地址相匹配的数据祯 2.发向所有机器的广播数据帧。 在一个实际的系统中,数据的收发是由网卡来完成的,网卡接收到传输来的数据,网卡内的单片程序接收数据帧的目的MAC地址,根据计算机上的网卡驱动程序设置的接收模式判断该不该接收,认为该接收就接收后产生中断信号通知CPU,认为不该接收就丢掉不管,所以不该接收的数据网卡就截断了,计算机根本就不知道。CPU得到中断信号产生中断,操作系统就根据网卡的驱动程序设置的网卡中断程序地址调用驱动程序接收数据,驱动程序接收数据后放入信号堆栈让操作系统处理。而对于网卡来说一般有四种接收模式: 广播方式:该模式下的网卡能够接收网络中的广播信息。 组播方式:设置在该模式下的网卡能够接收组播数据。 直接方式:在这种模式下,只有目的网卡才能接收该数据。 混杂模式:在这种模式下的网卡能够接收一切通过它的数据,而不管该数据是否是传给它的。 总结一下,首先,我们知道了在以太网中是基于广播方式传送数据的,也就是说,所有的物理信号都要经过我的机器,再次,网卡可以置于一种模式叫混杂模式(promiscuous),在这种模式下工作的网卡能够接收到一切通过它的数据,而不管实际上数据的目的地址是不是他。这实际上就是我们SNIFF工作的基本原理:让网卡接收一切他所能接收的数据。 二、网络监控的几种模式 1、moniteràhosttable 图中不同颜色的区块代表了同一网段内与你的主机相连接的通信量的多少。本例以IP地址为测量基准。 2、monitoràmatrix 该兰色圆中的各点连线表明了当前处于活跃状态的点对点连接,也可通过将鼠标放在IP地址上点右键àshowselectnodes查看特定的点对多点的网络连接,如下图,表示出与192.168.0.250相连接的IP地址 3、monitoràprotocoldistribution查看协议分布状态,可以看到不同颜色的区块代表不同的网络协议 4、monitoràdashboard 该表显示各项网络性能指标包括利用率、传输速度、错误率 5、monitor-sizedistribution可以查看网络上传输包的大小比例分配。 6、monitoràapplicationresponsetime 该表显示了局域网内的通信其响应速度列表,并将本地网段的机器名以NETBIOS名的形式解析出来。 三、包的抓取与分析 1、过滤器的定制definefilter.Capture-definefilter 进入该界面后address指定以IP地址为类型,然后在下面的station1和station2中分别指定源和目的地地址。并将该设置指定为某settingprofile. 这个图中显示的是sniffer设置过滤条件的对话框。过滤条件可以用逻辑关系,比如像AND、OR、NOT等组合来设置。在这里可以设置的过滤条件有IP地址或者物理地址。 第一、地址类型,选择IP了。选择模式,如果选包括,其意义就是指sniffer在捕获的时候就会只对你在Station1中和Station2中所列的节点包进行捕获。选择除外则恰恰相反。也就是说它在捕获的时候会过滤掉Station1和Station2中所列及的地址数据包的。 第二、在Station1和Station2以及DIR的设置中,你可以指定地址对,而我要对它截获的是与他连接的所有主机,也就是说这个Any代表的是任何主机的意思。至于Dir,则是要选择你要捕获的目标主机与其连接主机间的信息流向,这里选的是互流,即为要截获的是与之所连接的所有主机与它的信息数据.