您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 开发文档 > 利用OmniPeek进行空口抓包以及80211报文分析
利用OmniPeek进行空口抓包以及802.11报文分析omnipeek是一款不错的网络报文扫描软件,他不仅可以扫描有线网络下的报文信息,还可以针对无线网卡进行监控和扫描。通过该软件我们就可以更清晰更快捷的定位无线网络故障,根据扫描结果调整自己无线设备的位置和参数信息。一、OmniPeek能做什么和其他sniffer工具一样OmniPeek可以针对自己网卡接收和发送的每个报文进行分析和保存,另外还可以针对一些广播报文进行分析,结合各种过滤规则可以让我们更清楚的了解当前网络中存在的问题。当然和其他sniffer工具不同的是OmniPeek可以针对无线网卡进行监控,通过对无线报文的分析了解无线网络的运行状况,让用户可以清楚的知道无线网络使用的频段,信号强弱,SSID信息等内容。二、安装OmniPeek软件第一步:下载后运行主程序将进行自解压操作,我们指定一个路径点“unzip”解压按钮即可。第二步:到解压缩目录中找到可执行安装程序,运行后选择第一行的installOmniPeek。第三步:出现OmniPeek安装向导,我们点“NEXT”按钮继续操作。第四步:经过注册步骤后同意安装许可协议。第五步:在安装过程中会要求在本机安装.netframework2.0程序,我们点YES即可自动安装。第六步:软件会自动将.netframework2.0安装到本地硬盘,大概需要几分钟的时间。第七步:顺利安装.NETFramework2.0后点完成按钮返回到OmniPeek安装向导。第八步:选择安装类型,一般为了更好的分析网络我们选择“Complete”完全安装,点“NEXT”按钮继续。第九步:接下来是选择安装的语言,只有英文和日文两种,对于我们大多数用户来说选择英文界面即可。第十步:同样除了.NETFramework2.0程序外我们还需要在本机安装MicrosoftVisualC++2005程序,点确定开始安装。第十一步:安装完MicrosoftVisualC++2005后才是正式的复制OmniPeek软件必须文件到本地硬盘。第十二步:完成全部安装设置工作,最后我们点“Finish”按钮结束安装。至此我们就完成了OmniPeek软件的全部安装工作,我们可以通过他来分析无线网络了。OmniPeek并不支持所有无线网卡,下面这个地址是它支持的网卡信息:需要注意的是,网卡需要安装OmniPeek专用的驱动才可以进行抓包。一切准备就绪之后,就可以进行抓包分析了。三、无线扫描从OmniPeek开始下载和安装好OmniPeek之后,启动OmniPeek。启动OmniPeek后首先我们选择建立一个新的捕获扫描事件——NEWCapture。OmniPeek支持有线网卡和无线网卡,我们只需要在捕获选项窗口中的左边选择适配器。需要注意的是,WildPacketsAPI属性为Yes表明该网卡支持OmniPeek,No为不支持。接下来我们选择需要抓包的信道。点击确定后出现如下界面。点击开始捕获之后就开始抓包了。四、扫面附近环境中存在的SSIDOmnipeek的一个基本功能就是扫描附近环境中存在多少ESSID,以及BSSID和STA相关的信息。在OmniPeek的启动初始界面点击NewCapture之后出现捕获选项:选择合适的网卡:在802.11选项卡中选中扫描单选框:点击编辑搜索项,在弹出的频道扫描选项窗口中复选需要扫描的信道:点击确定后开始捕获:注意观察扫描结果中的频道列,已经有多个频道的包出现了。点击左侧选项卡中的WLAN选项卡:可以看到附近的无线环境。包括存在哪些ESSID、BSSID以及下属终端等很多信息。五、过滤器跟wireshark一样,OmniPeek也提供了强大的过滤器功能,下面我们介绍如何新建一个过滤器。在初始界面点击视图|过滤器:点击插入后弹出插入过滤器窗口:选中地址过滤器复选框,并在地址栏中填入地址,在地址类型中选择相应的类型,别忘了给你的过滤器命名:点击确定后就可以看到我们自己的过滤器了。OmniPeek预置了很多过滤器,我们可以充分利用他们。六、高级过滤器高级过滤器功能能够帮助我们自定义一些复杂的过滤规则。在插入过滤器对话框中我们至少选中一个复选框,然后点击类型下拉菜单,选择Advanced:如果我们仅需要捕获从88:1F:A1:87:74:1B这个地址往返的ICMP包,则右击地址规则框,在弹出的菜单中选择“和”(AND),子菜单中选择“协议”。弹出协议过滤器对话框:在这里面其实就可以找到很多协议了,但是这个看上去很不方便,于是我们选择“特殊ProtoSpec”这就是大家喜闻乐见的协议树了,找到ICMP协议,单击确定:但是如果我们不仅仅要抓ICMP,同时还要抓ARP报文,那该怎么办呢?在协议规则框上面单击右键,选择“或”(OR),调出协议过滤器:找到ARP协议,点击确定:到此,一个相对复杂一点的过滤器就完成了。高级过滤器的功能非常强大,并且相对wireshark来说增加了可视化元素,更方便于我们的使用。七、使用OmniPeek抓取指定终端的报文知道如何使用过滤器之后,我们就可以进行具体的抓包分析某终端的通信状态了。7.1抓取未关联任何AP的终端报文我们都知道终端关联上AP之后会向外发送信息,但是一个没有关联任何AP的终端会不会向外发送信息呢?我们来抓包分析一下。打开OmniPeek,新建过滤器,设置为抓取源MAC为88:1F:A1:87:74:1B的报文。点击新建捕获,选择好网卡和扫描范围。开始捕获可以看到我们抓到了很多包,有些是终端发出去的,目的地址是广播地址。有的是其他设备发送给终端的。那么,这些包是干什么用的呢?这里涉及到一个主动扫描的机制。终端发现SSID的方法有两种:主动扫描和被动扫描。主动扫描就是终端发送被称为探寻请求(Proberequest)的帧来探测附近环境中存在哪些SSID。下面我们深入了解一下探寻请求帧的帧格式:跟在wireshark里类似,双击1号报文,弹出详细的报文窗口:PacketInfo里面是关于该报文基本信息,包括:PacketInfo报文编号PacketNumber:1Flags:0x00000000Status:0x00000000报文长度PacketLength:149接收时间Timestamp:11:34:35.30579040010/21/2015数据速率DataRate:21.0Mbps信道/频率Channel:12412MHz802.11b信号等级SignalLevel:91%信号强度SignaldBm:-59噪声等级NoiseLevel:91%噪声强度NoisedBm:-62注意:这些信息并不是报文的内容,他只是这些报文到达OmniPeek时候的状态。802.11MACHeader即802.11报文的报头,长度为0~16bit:版本(一般为0)Version:0[0Mask0x03]与Subtype共同定义帧类型Type:%00Management[0]Subtype:%0100ProbeRequest[0]FrameControlFlags:%00000000[1]时隙Duration:0Microseconds[2-3]目的地址Destination:FF:FF:FF:FF:FF:FFEthernetBroadcast[0-5]原地址Source:88:1F:A1:87:74:1B[6-11]BSSIDBSSID:FF:FF:FF:FF:FF:FFEthernetBroadcast[12-17]序号SeqNumber:18[18-19Mask0xFFF0]接下来是ProbeRequest帧的内容,这里面的内容比较多,我们挑选一部分来说明:802.11Management-ProbeRequest要探寻的SSIDSSID支持的速率SupportedRates支持的扩展速率ExtendedSupportedRatesSSID所在的信道DirectSequenceParameterSetHT能力信息HTCapabilityInfoAP在接收到终端发出的探寻请求之后,会返回一个Proberesponse,来表明自己有一个这样的SSID存在:7.2抓取信标管理帧前面我们说了还有两种扫描方式,那么什么是被动扫描呢?我们常说“AP向外广播SSID”,那么这个“广播”是怎么一回事呢。其实这就是AP向广播地址发送一种名叫信标管理帧(Beaconmanagementframe)的报文来标示自己有一个SSID等待终端来连接,外信标管理帧内还包含了终端加入BSS之前需要了解的所有必要信息。验证一下,我们在电脑上利用软件新建一个SSID为“test”热点,并且不让任何终端连接。利用OmniPeek扫描功能找到这个SSID,可以看到BSSID为0A:11:96:D0:DE:F8,信道为11。新建过滤器,只抓取该BSSID的报文:选择好网卡和扫描范围后开始扫描:可以看到我们的热点发送了大量的Proberesponse,这是因为有很多终端在主动扫描。除了Proberesponse之外,我们还可以看到Beacon,也就是信标管理帧。双击显示帧内容:Timestamp:[0-9]400916951[24-31]Microseconds[0-11]Beacon除了标示向外SSID之外,还用来确保客户端和AP的时钟同步,Timestamp就是用来实现这一功能。BeaconInterval:[0-15]160[32-33]Beacon发送的间隔,可以调节。CapabilityInfo:[0-15]%1000010000110001[34-35]扩频参数集,指FHSS、DSSS、ERP、OFDM或HT特定信息。SSID用于显示SSIDSupportedRates支持的速率。DirectSequenceParameterSet信道TrafficIndicationMap流量指示图,节电进程使用的字段。RSNInformationRSN信息。TKIP或CCMP加密信息和认证方法。VendorSpecific[0-14]厂商自定义字段八、抓取终端关联到AP的过程8.1开放认证的SSID连接到BSS需要两个步骤,即认证和关联。下面我们通过抓包来逐步认识一下这一过程。由于一开始我们并不知道关联过程中有哪些类型的报文参与其中,所以我们将过滤器的筛选粒度设置的大一些,抓取终端发送和接受的所有报文。开始捕获,然后关联上CMCC-WEB。可以看到从第一个802.11Auth帧开始,到第一个ARPReq结束,共有802.11Ack、802.11Auth、802.11AssocReq、和802.11AssocRsp4种类型的帧参与。于是我们剔除其他帧,排除干扰。新建过滤器,在高级模式下选择上面的协议。在捕获窗口点击左上角的筛选按钮,插入我们刚刚新建的过滤器。复制选择的报文到新窗口可以看到,除了我们需要的报文之外,还有很多ACK混了进来。这是因为AP在每收到终端的一条数据之后都会返回一条ACK。点开802.11Auth报文,可以看到由于这个SSID是未加密的,所以这个报文内容非常简单。802.11Ack的内容也非常简单,只有MAC子层报头而已。802.11AssocReq终于有内容了,仔细看看是不是跟Beacon帧的内容类似。注意这是终端发送给AP的,终端在哪里知道的这些信息呢?方法有两种:主动扫描和被动扫描。802.11AssocRsp,相当于精简了的802.11ProbeRsp通过以上一系列交互,终端终于成功关联上了AP。8.2PSK认证的SSID下面我们来抓取终端关联到使用PSK认证的SSID过程。新建过滤器,为了去除多于报文的干扰,我们将不抓取802.11ProbeReq、802.11ProbeRsp和802.11ACK报文,并且过滤掉所有的错误报文:新建捕获,同时设置好网卡和信道。注意:这里的信道设置十分重要,一定
本文标题:利用OmniPeek进行空口抓包以及80211报文分析
链接地址:https://www.777doc.com/doc-2608799 .html