sniffer 软件的使用方法
一、捕获数据包前的准备工作
在默认情况下,sniffer将捕获其接入碰撞域中流经的所有数据包,但在某些场景下,有些数据包可能不是我们所需要的,为了快速定位网络问题所在,有必要对所要捕获的数据包作过滤。Sniffer提供了捕获数据包前的过滤规则的定义,过滤规则包括2、3层地址的定义和几百种协议的定义。定义过滤规则的做法一般如下:
1、在主界面选择captureàdefinefilter选项。
2、definefilteràaddress,这是最常用的定义。其中包括MAC地址、ip地址和ipx地址的定义。以定义IP地址过滤为例,见图1。

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

表示,捕获station1收发的数据包;

表示,捕获station1发送的数据包;

表示,捕获station1收到的数据包。
最后,选取

,将定义的规则保存下来,供以后使用。
3、definefilteràadvanced,定义希望捕获的相关协议的数据包。如图2。

图2
比如,想捕获FTP、NETBIOS、DNS、HTTP的数据包,那么说首先打开TCP选项卡,再进一步选协议;还要明确DNS、NETBIOS的数据包有些是属于UDP协议,故需在UDP选项卡做类似TCP选项卡的工作,否则捕获的数据包将不全。
如果不选任何协议,则捕获所有协议的数据包。
PacketSize选项中,可以定义捕获的包大小,图3,是定义捕获包大小界于64至128bytes的数据包。

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

图4
Buffersize选项卡,将其设为最大40M。
Capturebuffer选项卡,将设置缓冲区文件存放的位置。
5、最后,需将定义的过滤规则应用于捕获中。如图5:
图5
点选SelectFilteràCapture中选取定义的捕获规则。

二、捕获数据包时观察到的信息
CaptureàStart,启动捕获引擎。
sniffer可以实时监控主机、协议、应用程序、不同包类型等的分布情况。如图6:

图6
Dashboard:可以实时统计每秒钟接收到的包的数量、出错包的数量、丢弃包的数量、广播包的数量、多播包的数量以及带宽的利用率等。
HostTable:可以查看通信量最大的前10位主机。
Matrix:通过连线,可以形象的看到不同主机之间的通信。
ApplicationResponseTime:可以了解到不同主机通信的最小、最大、平均响应时间方面的信息。
HistorySamples:可以看到历史数据抽样出来的统计值。
Protocoldistribution:可以实时观察到数据流中不同协议的分布情况。
Switch:可以获取cisco交换机的状态信息。
在捕获过程中,同样可以对想观察的信息定义过滤规则,操作方式类似捕获前的过滤规则。
三、捕获数据包后的分析工作
要停止sniffer捕获包时,点选CaptureàStop或者CaptureàStopandDisplay,前者停止捕获包,后者停止捕获包并把捕获的数据包进行解码和显示。如图7:

图7
Decode:对每个数据包进行解码,可以看到整个包的结构及从链路层到应用层的信息,事实上,sniffer的使用中大部分的时间都花费在这上面的分析,同时也对使用者在网络的理论及实践经验上提出较高的要求。素质较高的使用者借此工具便可看穿网络问题的结症所在。
Expert:这是sniffer提供的专家模式,系统自身根据捕获的数据包从链路层到应用层进行分类并作出诊断。其中diagnoses提出非常有价值的诊断信息。图8,是sniffer侦查到IP地址重叠的例子及相关的解析。

图8
sniffer同样提供解码后的数据包过滤显示。
要对包进行显示过滤需切换到Decode模式。
Displayàdefinefilter,定义过滤规则。
Displayàselectfilter,应用过滤规则。
显示过滤的使用基本上跟捕获过滤的使用相同。
四、sniffer提供的工具应用
sniffer除了提供数据包的捕获、解码及诊断外,还提供了一系列的工具,包括包发生器、ping、traceroute、DNSlookup、finger、whois等工具。
其中,包发生器比较有特色,将做简单介绍。其他工具在操作系统中也有提供,不做介绍。
包发生器提供三种生成数据包的方式:
点选

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

图9
点选

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

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

图10
可以定义连续地发送buffer中地数据包或只发送一次buffer中地数据包。请特别注意,不要在运行的网络中重放数据包,否则容易引起严重的网络问题。数据包的重放经常用于实验环境中
sniffer 软件的使用方法的更多相关文章
- 【转】蓝牙4.0BLE cc2540 usb-dongle的 SmartRF Packet Sniffer 抓取数据方法--不错
原文网址:http://blog.csdn.net/mzy202/article/details/32408223 蓝牙4.0BLE cc2540 usb-dongle的 SmartRF Packet ...
- 蓝牙4.0BLE cc2540 usb-dongle的 SmartRF Packet Sniffer 抓取数据方法 【原创,多图】
蓝牙4.0BLE cc2540 usb-dongle的 SmartRF Packet Sniffer 抓取数据方法 [原创,多图] spm=a1z10.1.w4004-5319414070.11.Zd ...
- 【转】CentOS yum安装和卸载软件的使用方法
在CentOS yum安装和卸载软件的使用方法安装方法安装一个软件时. CentOS yum -y install httpd安装多个相类似的软件时 CentOS yum -y install ...
- 蓝牙4.0BLE cc2540 usb-dongle的 SmartRF Packet Sniffer 抓取数据方法
蓝牙4.0的开发, 现在真热火的很, 但是很多朋友买了我们出品的cc2540 usb-dongle后, 都反馈说不知道如何抓包, 并且, 即使很多朋友到TI官网论坛去找信息,不少朋友依然是无功而返,实 ...
- I2C总线协议的软件模拟实现方法
I2C总线协议的软件模拟实现方法 在上一篇博客中已经讲过I2C总线通信协议,本文讲述I2C总线协议的软件模拟实现方法. 1. 简述 所谓的I2C总线协议的软件模拟实现方法,就是用软件控制GPIO的输入 ...
- 利用U盘进行软件加密的方法
利用U盘进行软件加密的方法 一般的U盘不具备加密的功能,虽然U盘和加密狗外形有一些相似,但是内部完全不一样的,U盘只是一个存储器芯片和简单的附属电路,而现在的智能卡加密狗都具有一个单独的CPU或者加密 ...
- 在Centos中yum安装和卸载软件的使用方法(转)
在Centos中yum安装和卸载软件的使用方法 安装方法 安装一个软件时 yum -y install httpd 安装多个相类似的软件时 yum -y install httpd* 安装多个非类似软 ...
- 在Centos中yum安装和卸载软件的使用方法(转载)
转自: http://gzmaster.blog.51cto.com/299556/72278 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任. ...
- 总结Themida / Winlicense加壳软件的脱壳方法
总结下Themida/ Winlicense (TM / WL) 的脱壳方法. 1, 查看壳版本,这个方法手动也可以,因为这个壳的版本号是写在程序里面的,在解压后下断点即可查看,这里有通用的脚本,我 ...
随机推荐
- Orientation Auto Rotation旋转屏幕crash问题(Unity3D开发之十四)
猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/44133127 ...
- 求剁手的分享,如何简单开发js图表
前段时间做的一个项目里需要用到js图表,在网上找了下,大概找到了highcharts.fusioncharts这些国外产品. 因为都收费,虽然有盗版,我也不敢用,万一被找上们来就砸锅卖铁了要.自己写j ...
- workbench的schema讲解一:(维度dimension设置的基本内容)
维度名字尽量用英文:因为,saiku读取schema配置文件时,用中文会出现不可预知的错误.比如,引用维度用中文,就容易出现不可预估的错误.如果要显示中文:每个对象的caption字段里键入中文,则可 ...
- iOS监听模式系列之通知中心
补充--通知中心 对于很多初学者往往会把iOS中的本地通知.推送通知和iOS通知中心的概念弄混.其实二者之间并没有任何关系,事实上它们都不属于一个框架,前者属于UIKit框架,后者属于Foundati ...
- 苹果新的编程语言 Swift 语言进阶(十三)--类型检查与类型嵌套
一 类型检查 1. 类型检查操作符 类型检查用来检查或转换一个实例的类型到另外的类型的一种方式. 在Swift中,类型检查使用is和as操作符来实现. is操作符用来检查一个实例是否是某种特定类型,如 ...
- ORACLE ERP各模块会计分录
ORACLE ERP各模块会计分录 第一章 采购模块 一.资产采购(科目来源:库存组织) 1.物料接收 借 材料采购 接收数量*采购单价 贷 应计暂估 接收数量*采购单价 2 ...
- 安卓系统启动脚本init.rc说明文件readme.txt翻译
本说明文件位于system/core/init/readme.txt 本文参考深入解析安卓系统一书,进行翻译,版权部分归书的作者 刘超,资深Android专家,系统架构师. 博客地址:http:// ...
- css选择器语法速查
通用选择器 *{} 类似于通配符,匹配文档中所有元素类型: 类型选择器 h1,h2,p{} 匹配以逗号隔开元素列表中的所有元素 类选择器 .glass{} or p.glass{} id选择器 #id ...
- .Net C# 串口 Serialort safe handle has been closed 问题的解决
最近在一个平台上使用SerialPort类开发程序时,发现程序在使用SerialPort类时会异常退出,而且诡异的是,就算把所有操作串口的代码都放在try{}catch{}块中也无法捕获这个异常.最终 ...
- JVM学习--(八)java堆分析
上一节介绍了针对JVM的监控工具,包括JPS可以查看当前所有的java进程,jstack查看线程栈可以帮助你分析是否有死锁等情况,jmap可以导出java堆文件在MAT工具上进行分析等等.这些工具都非 ...