此产品的文档集力求使用非歧视性语言。在本文档集中,非歧视性语言是指不隐含针对年龄、残障、性别、种族身份、族群身份、性取向、社会经济地位和交叉性的歧视的语言。由于产品软件的用户界面中使用的硬编码语言、基于 RFP 文档使用的语言或引用的第三方产品使用的语言,文档中可能无法确保完全使用非歧视性语言。 深入了解思科如何使用包容性语言。
思科采用人工翻译与机器翻译相结合的方式将此文档翻译成不同语言,希望全球的用户都能通过各自的语言得到支持性的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 Cisco Systems, Inc. 对于翻译的准确性不承担任何责任,并建议您总是参考英文原始文档(已提供链接)。
本文档介绍收集良好的无线嗅探器轨迹以进行 802.11 行为分析和故障排除的过程。
此过程可能是一个困难且耗时的操作。要简化和加速此过程,需要记住以下几点。通过无线嗅探,您可以了解自己想要做什么。您希望从空中捕获原始无线帧,如无线嗅探设备本身所见。
第1步:由于嗅探设备、客户端设备和AP使用射频生成无线电进行传输或接收,因此让无线嗅探器靠近目标设备(客户端计算机)很有帮助。 这样,您的嗅探设备就可以捕获客户端设备在空中侦听到信号的近似值。
步骤 2:使用单独的设备作为无线嗅探器。如果在受测试设备(要获取无线跟踪的客户端计算机)上运行,则无法进行良好的无线嗅探器跟踪。
第3步:在设置捕获之前,确切了解客户端设备使用的802.11信道和带宽。将您的嗅探器锁定到感兴趣的频道 — 请勿使用嗅探器的扫描频道模式! (对于扫描通道,嗅探器每每秒在通道之间循环一次。这对于现场勘测或查找恶意程序很有用,但当您尝试捕获802.11问题时则不然。)
此外,请记住,您的客户端设备可以漫游到位于不同RF信道或频段上的另一个AP,因此您需要进行相应的规划。通常,在802.11b/g(2.4GHz)环境中,可能需要一个三通道嗅探器。这涉及到在嗅探设备上使用3个无线适配器,每个适配器都设置为通道1、6和11。USB无线适配器最适合此类型的设置。
第4步:如果对5GHz进行故障排除,信道数量将显着增加。由于您没有足够的卡来捕获所有信道,因此测试最好在周围接入点上运行不超过4个信道。
第5步:如果当客户端从一个通道漫游到另一个通道时,您可以重现该问题,那么2个通道的嗅探就足够了。 如果只有单个通道嗅探器可用,则让其嗅探漫游目标通道。
第6步:始终通过NTP同步您的嗅探器。 数据包捕获需要与debug捕获以及其他有线和/或无线捕获进行核对。 时间戳哪怕只有一秒钟,都会使归类更加困难。
第7步:如果捕获时间很长(小时),则配置嗅探器以每30MB左右剪切一个新捕获文件。 为了不填满您的硬盘,您需要对写入的文件数量设置上限。
注意:Linksys USB600N不能以较短的防护间隔可靠地收集11n数据包。它错过20%到30%的短保护间隔数据包。如有必要,可以将WLC配置更改为仅使用较慢的长防护间隔。这只能是临时配置更改。命令为config 802.11 {a | b}11nsupport guard-interval {any | long}。
使用OS X 10.6及更高版本的Mac进行无线嗅探。
Mac上的无线嗅探功能很不错,Mac OS X内置了捕获无线跟踪的工具。 但是,这取决于您运行的OS X的版本,因为命令可能有所不同。本文档介绍OS X 10.6至最新版本。Wi-Fi诊断是最新的macbook中的首选方法。最好记住,您的macbook嗅探器至少需要像您正在嗅探的客户一样强大(嗅探具有802.11n macbook的802.11ac智能手机不是最佳选择)。
如果运行OS X 10.6(Snow Leopard)或更高版本,则可以轻松使用命令行实用程序airportd。
使用以下步骤:
sudo /usr/libexec/airportd en1 sniff 11
需要记住的一些事项:
完成跟踪后,单击Cntl-C停止跟踪,实用程序将显示捕获文件的名称和位置。文件格式是可以在MAC或Windows上通过Wireshark读取的标准wireshark PCAP文件。
机场设施不是一个嗅探程序;但是,它可以提供有关无线LAN的信息。 此外,它还能够设置默认无线通道,这对于自己无法设置通道的嗅探器程序(tcpdump、Wireshark)至关重要。
注意:由于通往机场公用设施的路径非常丑陋,因此最好从路径中的目录设置一个符号链接。例如, # sudo ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport /usr/sbin/airport。
设置无线通道
# sudo /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport —channel=48
发现的SSID/BSSID上的转储信息
# sudo /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -s
SSID BSSID RSSI CHANNEL HT CC SECURITY(身份验证/单播/组)
测试00:24:97:89:cb:41 -53 11 Y — WPA(PSK/TKIP/TKIP)WPA2(PSK/AES/TKIP)
测试2 00:24:97:89:cb:40 -53 11 N — WPA(PSK/TKIP/TKIP)
访客00:22:75:e6:73:df -64 6,-1 Y — WPA(PSK/AES,TKIP/TKIP)WPA2(PSK/AES,TKIP/TKIP)
当前关联的详细信息
# sudo /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I
agrCtlRSSI: -54
agrExtRSSI: 0
agrCtlNoise: -89
agrExtNoise: 0
状态: 运行
操作模式: 站点
lastTxRate: 300
maxRate: 300
lastAssocStatus: 0
802.11身份验证: open(未解决)
链路身份验证: wpa2-psk
BSSID: 0:24:97:95:47:60
SSID: 访客网
MCS: 15
通道: 36,1
Tcpdump是OS X附带的命令行实用程序,可执行数据包捕获(与Wireshark捆绑的tshark实用程序非常相似)。 要使用tcpdump执行无线数据包捕获,请执行以下操作:
示例:
bash-3.2# tcpdump -I -P -i en1 -w /tmp/channel-11.pcap
tcpdump:警告:en1:未分配IPv4地址
tcpdump:在en1上侦听,链路类型IEEE802_11_RADIO(802.11加上radiotap报头),捕获大小65535字节
^C
捕获了897个数据包
过滤器接收的968个数据包
内核丢弃了0个数据包
bash-3.2#
最简单的捕获方法是使用称为Wi-Fi诊断的图形程序。
可以通过按住ALT键并单击右上角的wifi图标(通常选择您要连接的SSID的图标)来访问它。
单击列表中的Open Wireless diagnostics选项。
它会打开一个运行默认故障排除报告的窗口。这通常不是您感兴趣的内容。
保持该窗口打开并导航到屏幕顶部的菜单栏。单击Window。您会看到各种工具的列表(对于现场勘测或信号分析很有用)。 在无线嗅探器捕获范围内,您对Sniffer选项感兴趣,请单击该选项。
然后,您只需选择主信道和信道宽度。
从Mac Os Sierra开始,嗅探器捕获保存在桌面或/var/tmp/中。
某些第三方工具还支持许多mac os x版本,并通过更简单的渠道选择选项增强了嵌入式嗅探功能。其中一个例子是Airtool。
有了Microsoft Network Monitor(3.4),您现在可以使用标准无线适配器在Windows 7中执行一些802.11a/b/g(可能还有11n)无线嗅探功能。 保存自的文件可由最新的(1.5及更高版本)Wireshark读取,但不会在OmniPeek中读取。请务必注意,Microsoft不再支持该功能,并且在11n和11ac适配器上通常无法正常工作(大部分帧丢失)。
XP SP3支持Netmon 3.4;但是,在运行XP时,它不支持无线嗅探。 至于Vista,体验好坏参半。
本文档的Netmon详细部分已删除,因为它已弃用,无法可靠地捕获802.11ac帧。
您可以在以下位置查看详细信息:使用Netmon的Windows中的无线嗅探
您可以在嗅探器模式下将Cisco WLC和LAP与有线嗅探器配合使用(通过Wireshark获得最佳效果。Omnipeek以与版本10不同的方式解密协议)。
单个有线嗅探器可以收集来自多个AP的数据包,因此这种方法对于运行多通道跟踪非常有用。对于静态情况,如果可以移动嗅探器AP,则这可作为其他嗅探选项的有效替代方案。
对于漫游场景,嗅探器AP通常安装在客户端漫游的AP附近,这可以报告静态AP的“视点”,而不是客户端。
为了在漫游时从客户端的视角查看RF,可以使用带有多个无线网卡的笔记本电脑捕获多通道无线跟踪,该无线网卡可以使用测试客户端。
以下是收集使用嗅探器模式LAP的跟踪的步骤。
在嗅探器模式下配置AP:
AP可以重新启动,但无法为客户端提供服务。AP重新加入WLC后,请配置AP的无线电(802.11b/g/n或802.11a/n):
嗅探器从WLC管理IP地址接收封装的802.11流量并使用airopeek协议,源端口为UDP/5555,目的端口为UDP/5000。
如果使用Wireshark接收流量,请执行以下步骤:
此过滤器是可选的,但强烈建议使用此过滤器,因为它会排除捕获中的所有非无线相关流量。假设WLC将流量发送到UDP端口,且嗅探器端没有侦听的应用;这会导致从WLC接收的每个数据包出现ICMP端口不可达响应。
虽然这是预期结果,但过滤器还有助于排除此无用的流量,它只会导致跟踪更大且更难以读取。
然后,开始捕获:
捕获的流量必须解码为..PEEKREMOTE,才能查看802.11流量:
图中所示的RF信息(即信道、信号强度、噪声等)由AP添加。
在嗅探器模式下使用OmniPeek作为来自WLC/AP的流量流的接收方时,首先需要在Capture Options窗口的Adapter菜单下创建Cisco Remote Adapter:
至少需要一个适配器;名称是必填字段,而如果不希望OmniPeek过滤来自特定WLC的传入流量,则IP Address字段可以留空。
在这种情况下,无需过滤任何流量(例如ICMP端口不可达),因为OmniPeek会侦听UDP端口以专门捕获来自无线局域网控制器的数据流。
在开始捕获之前,请确认主OmniPeek窗口上的设置:
此时,捕获可以启动,并且结果是一个跟踪,包括AP报告的RF信息:
注意:默认情况下,OmniPeek远程适配器会提取AP自身发送的时间戳。此信息与AP时钟无关,因此生成的时间戳可能不正确。如果使用单个嗅探器AP,则时间戳可能错误,但至少是一致的。如果您使用多个AP作为嗅探器(因为每个AP都发送自己的时间戳信息,导致合并捕获中出现奇怪的时间跳跃),则不再如此。
解决方案
您可以明确告知OmniPeek使用本地嗅探器PC时钟设置数据包时间戳。
这样可以解决单个和多AP场景,并且只要运行OmniPeek的PC具有NTP同步时钟,就有正确且一致的时间戳。
操作步骤:
在OmniPeek中,执行以下步骤:
1.定位至工具>选项>分析模块。
2.搜索cisco远程适配器,然后双击以显示选项。
3.单击Timestamp选项,然后单击OK并再次测试捕获。
自治AP可用于收集无线数据包捕获。以下说明列出了如何执行空气捕获。
1.输入要在其上执行捕获的dot11radio接口。将station-role设置为嗅探器,添加可以运行Wireshark并收集捕获的服务器/PC IP,并选择通道。使用monitor frames命令指定的端口可以是AP发送捕获的目标UDP端口。
|
|
|
---|---|---|
第 1 步 |
int {d0 | d1} |
进入配置无线电接口的接口配置命令模式。 |
第 2 步 |
station-role sniffer |
将工作站角色更改为sniffer。 |
第 3 步 |
信道编号 |
选择要在嗅探器模式下运行的通道。 |
第 4 步 |
no shut |
反向关闭接口。 |
步骤 5 |
退出 |
退出接口配置命令模式。 |
第 6 步 |
sniffer ip-address destination-ip port port-number |
设置AP将所有数据包重定向到的IP地址和端口号。您可以在介于1024和65535之间的任何端口号上指定IP地址。 |
第 7 步 |
wireshark enable |
如果在终端使用Wireshark,这会将Wireshark报头添加到数据包。 |
配置示例:
ap(config)# int d0
ap(config)-if# station-role sniffer
ap(config)# channel 11
ap(config)# no shut
ap(config)# exit
ap(config)# sniffer ip-address 10.10.10.1 30 port 5555
ap(config)# wireshark enable
2.在服务器/PC上启动Wireshark。导航到Capture > Options。选择以太网NIC(LAN)并添加过滤器,以仅捕获具有步骤1中指定的UDP端口的流量。
3.开始Wireshark捕获。
如果捕获文件对于电子邮件而言太大,您可以将其上传到TAC服务请求:
https://tools.cisco.com/ServiceRequestTool/query/
输入您的SR编号,然后单击File Upload。
要分析无线捕获,请参阅列出的链接。它们设计为按顺序阅读,因为每个文档都建立在前面的文档上。 请记住,读取任何无线跟踪时,最好了解802.11无线规范。 这些文档非常有助于您了解数据包流以及在无线跟踪中查找的内容。它们并非用于教授802.11无线规格。
捕获的数据包包含帧数据的副本,但每个帧的前缀是一个元数据报头,提供有关如何捕获该帧的信息。 对于有线数据包,元数据并不多。它是帧号、捕获数据包的日期和数据包的长度。 当您执行有线数据包分析时,很少会太在意物理层,因为比特误码率为1010,您通常认为捕获的比特就是它们声称的比特。
无线完全是另一回事。物理层比有线层更复杂、更危险。 在您尝试根据上层来分析捕获之前,最好先了解捕获所处物理层。 如果物理层工作不正常,则上层将永远没有机会。
物理层的性质尤其重要,需要注意:
信号强度(RSSI、信号强度、信噪比)。如果可用,通常最好关注RSSI。嗅探适配器接收数据包时的电源级别(以dBm为单位)为:
信道(频率)。 由于无线LAN可以支持3到25个左右不同信道,因此必须确切了解捕获来自哪个信道。 如果您希望从特定AP获取嗅探,则将嗅探锁定到该AP的通道,并验证捕获是否在该通道上,否则捕获可能毫无价值。
.
数据速率可以为1Mbps到300Mbps或更高。 要了解为什么数据传输并不总是从发射器到接收器,您必须知道使用的数据速率。 对于调制速度为54 Mbps的数据包,-80 dBm的“边际”RSSI可能工作很恐怖,但对于6 Mbps的数据包,RSSI可能相当令人满意。
不同的无线嗅探器可以使用不同的元数据报头格式来编码无线物理层。 请注意,信息的准确性取决于所用的特定适配器硬件和驱动程序。 一些值(例如噪声)通常被考虑在内。
这些示例突出显示了数据速率、频率和RSSI字段。
Mac OS X 10.7无线诊断(Broadcom适配器)
OS X 10.7使用Radiotap v0报头,在Wireshark中如下所示:
OmniPeek 6.8(Ralink USB适配器)
在Wireshark中,OmniPeek捕获使用Airopeek信头,如下所示:
Wireshark(从1.6.x开始)不知道如何解码OmniPeek捕获中的所有无线元数据 — 在OmniPeek本身中查看的同一帧显示Signal dBm、Noise Level和Noise dBm:
Netmon 3.4
将无线文件应用为Wireshark列。
如果将无线字段应用为列,则通常更容易理解无线嗅探器的情况。以下是操作方法:
1. 在数据包详细信息部分(首先展开适用的报头部分(如有必要))找到感兴趣的字段,然后右键单击该字段。 选择 作为列应用:
2. 系统将显示新列。 现在,您可以调整大小、重命名(通过右键单击列标题并选择编辑列详细信息),并根据需要移动列。
3. 对其他感兴趣的列重复上述操作。 现在,您可以更好地处理捕获的物理层方面。
4. 应用新列后,下次运行Wireshark时,该列可用(如果未看到,请右键单击列标题并选择显示列。)
'802.11嗅探器捕获分析 — Wireshark过滤
本文档可以指导您如何设置wireshark和分析使用名为wireshark过滤器的wireshark程序中的通用工具的相关数据包。
Wireshark工具本身无法帮助您完成故障排除过程,除非您对协议、网络拓扑以及获取嗅探器跟踪需要考虑的数据点有良好的了解和理解。无论对于有线网络还是无线网络,都是如此。在无线网络中,数据包在进入网络之前,我们通过空中捕捉数据包。无线MAC地址的剥离由AP完成。
当您检查使用有线嗅探器跟踪的有线网络上的流量或数据,并且无法找到我们感兴趣的数据包时,您需要知道它遗漏的位置。您的怀疑可以让您验证它是否通过源头的第一点,即无线、工作正常与否(在空中忽略)。 如果它无法在空中正确传输,则显然不存在或无法转换,或者无法通过AP发送到有线端,连接到DS或分布系统。然后,使用无线嗅探器跟踪来识别和定位无线网络问题就变得至关重要。
在排除与网络相关的故障时,有许多依赖关系,而且所有这些都以分层模型进行,并且每层数据都取决于其下层。我们有许多组件(或网络元素)和设备的配置和正确操作,可帮助我们实现网络平稳运行。当工作网络停止运行时,需要采用逻辑方法来定位问题。一旦找出故障点,就很难找到准确的位置。在这种情况下,嗅探器会为我们提供帮助。尽管您采用了最佳方法,即使您对故障排除技能非常熟悉,此故障排除过程也可能变得复杂。问题在于,如果捕获通过网络设备传输的数据包,则可能拥有超大文件,如果捕获足够长的时间,并且其中包含大量数据包详细信息,则最终可能达到1G。由于数据量非常大,定位问题会非常耗时,并且会成为一项非常困难的任务。 过滤可以帮您快速发现问题,消除不需要的流量,同时减少要关注的变量。这有助于快速找出所收集的流量中是否存在相关流量。
当您知道要查找什么内容并尝试验证正在运行该事件的流量时,建议使用捕获过滤器。当您在繁忙的交通环境中运行超过几个小时时,就会捕获到它。这有助于使收集到的数据在文件大小方面保持合理的数量。
如果您不确定导致问题的原因,并且它更具有行为随机性,则可以在问题发生模式的可能窗口内以较少的时间运行数据包捕获(例如一两个小时),然后捕获所有流量。然后,使用“显示”过滤器仅可视化您正在搜索的信息。 除了这种使用以外,人们还可以看到所有的捕获规则和使用着色规则,以吸引特定类型的数据包的注意,这些数据包被赋予不同的颜色,从而便于对数据包流进行排序或区分。
您必须了解典型wireshark嗅探器跟踪中的各个字段。将其细分并定义每个字段。
您将重点放在3个使用过滤功能需要了解的项目。
在深入了解详细信息之前,这里是wireshark的嗅探器捕获窗口的示例。
这是wire shark窗口的Menu栏。
它包含以下项目:
全部或部分文件,并退出Wireshark。
数据包、处理配置文件和设置首选项;(剪切、复制和粘贴
目前尚未实施)。
数据包,字体缩放功能,在单独的窗口中显示数据包,展开并显示
折叠数据包详细信息中的树。
协议解析,配置用户指定的解码并使用TCP数据流。
显示协议层级统计信息等
更多.
包括媒体分析、流程图、显示协议层级统计信息和
更多实惠.
ACL规则。
各种命令行工具的页面,在线访问某些网页,
和通常的对话。
主工具栏提供从菜单快速访问常用项目的功能。此工具栏不能由您自定义,但如果需要屏幕上的空间来显示更多数据包数据,则可以通过“查看”菜单将其隐藏。与菜单一样,仅当前程序状态中有用的项目可用。其他项目可能呈灰色显示。(例如,如果尚未加载捕获文件,则无法保存捕获文件)。
过滤器工具栏允许您快速编辑和应用显示过滤器。
过滤器:打开过滤器构造对话框, Capture Filters(捕获过滤器)和Display Filters(显示过滤器)对话框。
数据包列表窗格显示当前捕获文件中的所有数据包。
数据包列表中的每一行对应于捕获文件中的一个数据包。如果在此中选择一行 窗格中的数据包详细信息窗格和数据包字节窗格中会显示更多详细信息。
Packet Details(数据包详细信息)窗格以更为详细的形式显示当前数据包(即数据包列表窗格中选定的数据包)。
数据包字节窗格显示当前数据包(在数据包列表窗格中选择)的数据
hexdump样式。
状态栏显示信息性消息。通常,左侧显示情景相关信息,中间部分显示当前数据包数,右侧显示所选配置配置文件。在文本区域之间拖动控制滑块以更改大小。
在未加载捕获文件时显示此状态栏。例如,当Wireshark启动时。
选项卡标签的上下文菜单(单击鼠标右键)显示所有可用页面的列表。如果窗格中的大小对于所有选项卡标签都太小,这会很有帮助。
状态栏
状态栏显示信息性消息。通常,左侧显示情景相关信息,中间部分显示当前数据包数,右侧显示所选配置配置文件。在文本区域之间拖动控制滑块以更改大小。
带有已加载的捕获文件的状态栏。
将显示以下值:
单击Capture Interfaces options(捕获接口选项),然后从下拉菜单中选择Network adapter(网络适配器),该下拉菜单用于捕获PC上网络中正在运行的数据包。单击Capture Filters(捕获过滤器)并输入过滤器名称和过滤器字符串,或直接输入您在该框中知道的过滤器字符串。然后按按钮。现在,有线鲨鱼嗅探器程序捕获的数据包仅为各种协议的大量实时数据包流中的一部分。
加载捕获的文件后,现在设置过滤器以显示您感兴趣的数据包或避免您不感兴趣的数据包。这可以通过简单的过滤器表达式或使用逻辑运算符形成复杂过滤器字符串的表达式组合来实现。
单击Analyze。选择显示过滤器。
在本示例中,您将创建过滤程序,以仅过滤来自802.11无线数据包捕获跟踪的信标数据包,如黄色突出显示区域所示。
与显示过滤器类似,您可以在点击Find packet后应用过滤器来查找特定数据包。
查找Filter按钮并在过滤器框中输入过滤器值。如果您不知道该字符串,则可以进一步挖掘并单击filter,然后单击New按钮,为过滤器字符串命名,并在框中应用或键入过滤器字符串。如果您不知道特定的过滤器弹簧,您可以形成该弹簧并选择带有各种协议选项的Expression按钮。
选择您需要的选项,展开后,您就可以从中选择更多选项。
您还有一个“逻辑”操作符框可供选择,用于匹配输入要填写过滤器的值并应用该值。
您可以构建显示过滤器,比较使用大量不同比较运算符的值。
数据包着色是Wireshark中非常有用的机制。您可以设置Wireshark,使其根据过滤器对数据包进行着色。这允许您强调您感兴趣的数据包。 您可以设置Wireshark,使其可以根据您选择创建的过滤器对数据包进行着色。这样,您就可以强调您感兴趣的数据包(通常)。
在本例中,数据包根据提到的过滤器为Beacon、Acknowledgement、Probe Response和Deauthentication着色。
单击 View。选择从主工具条编辑着色规则或编辑着色规则。
这将打开着色规则,您可以使用新建或编辑添加新的着色滤镜。选择数据包,或编辑过滤器字符串,然后指定或调整所需的颜色。
在“编辑颜色”对话框中,只需输入颜色过滤器的名称,然后在 过滤器文本字段。Edit Color Filter对话框显示值beacon和wlan.fc.type_subtype == 8,这意味着颜色过滤器的名称为Beacon,过滤器可以选择类型wlan.fc.type_subtype == 8的协议,该类型是信标过滤器字符串。输入这些值后,可以为与过滤器表达式匹配的数据包选择前景色和背景色。单击Foreground color...或Background color...以实现此目的。
一个非常有用的功能是导出或形成着色滤镜,并通过将滤镜导出到文件“tac80211color”来保存它,如示例所示。可以导入此项。可以在故障排除文件夹中创建多个着色规则文件,并将其用作模板,以便每次进行故障排除时都非常方便。
您可以创新地思考和定制着色过滤器模板文件,例如路由、wlan、交换等。根据要排除的问题导入彩色滤镜文件。
有一个不错的颜色规则可以下载,并使用Support Forum — 颜色规则
这就是经过滤色器文件后Wireshark数据包窗口的最终外观
tac80211color已导入并应用。
802.11嗅探器捕获分析 — 管理帧和开放式身份验证
当您尝试对使用802.11数据包分析器的无线LAN网络进行分析或排除故障时,需要透彻了解不同的802.11帧类型,以此为基础查找指示符,以本地化WLAN网络中问题区域的起因。利用使用omnipeek和/或wireshark等工具的wlan嗅探器跟踪,您可以在其中监控无线网络接口卡(NIC)和接入点之间的通信。您需要了解无线LAN运行过程中出现的每种帧类型并解决网络问题。在wlan RF环境中,无线电传输条件可以动态变化,因此协调在WLAN中成为一个大问题。管理和控制数据包专用于这些协调功能。
要查找与RF环境相关的wlan网络中发生的wlan问题的原因,最好使用开放式身份验证测试wlan网络,而不用任何安全性。当您采用这种方法时,RF连通性问题会显现出来,在进入更强加密和OSI层更高层之前可以纠正。 802.11规范中的身份验证基于对无线站点或设备进行身份验证,而不是对用户进行身份验证。
根据802.11规范客户端身份验证过程,这些是上述事务。
802.11 MAC第2层通信中使用了3种帧类型,它们通过无线进行管理和控制。
它们是管理帧、控制帧和数据帧。您可以详细了解这些帧包含的内容,以帮助您在使用wlan嗅探器跟踪时更好地分析wlan问题。
802.11管理帧使站点能够建立和维护通信。管理数据包用于支持身份验证、关联和同步。
以下是常用的802.11管理帧子类型:
wlan.fc.type_subtype == 0x0b
NIC通过向接入点发送包含其身份的身份验证帧来开始此过程。使用开放式系统身份验证(默认)时,无线网卡仅发送一个身份验证帧,接入点以身份验证帧作为响应进行响应,表示接受(或拒绝)。 有一个关联的身份验证ID,这是当前站点在加入网络时进行身份验证时所使用的名称。
wlan.fc.type_subtype == 0x0c
wlan.fc.type_subtype == 0x0
wlan.fc.type_subtype == 0x01
wlan.fc.type_subtype == 0x02
用于仅应用和查找取消关联数据包的过滤器是wlan.fc.type_subtype == 0x0a。
用于仅应用和查找Beacon数据包的过滤器为 wlan.fc.type_subtype == 0x08。
用于仅应用和查找探测请求数据包的过滤器为 wlan.fc.type_subtype ==0x04。
用于应用和仅查找探测请求数据包的过滤器为wlan.fc.type_subtype ==0x05。
802.11控制帧有助于在站点之间传输数据帧。以下是常用的802.11控制帧子类型:
wlan.fc.type_subtype == 0x1B
wlan.fc.type_subtype == 0x1D
这些帧是在移动站和接入点之间建立基本wlan通信后游戏中稍后出现的帧。您始终可以访问802.11数据帧进行分析,通常是为了在帧体内较高层的协议和数据通过线路时,通过空中验证和分析。这些帧在帧体内传输来自更高层的数据包,例如网页、打印机控制数据等。
wlan.fc.type_subtype == 0x20
在数据包分析器上,您可以观察有关相关流量的802.11数据帧中的帧体的内容。
1.定期传输信标帧以通告无线网络的存在并包含有关该网络的所有信息(数据速率、信道、安全密码、密钥管理等):
2.探测请求由STA发送以从AP获取信息:
3.探测响应。AP在收到来自STA的探测请求帧后使用包含功能信息、支持的数据速率等的探测响应帧进行响应:
4.802.11身份验证是接入点接受或拒绝无线网卡身份的过程。NIC通过向接入点发送包含其标识的身份验证帧来开始此过程。使用开放式系统身份验证(默认)时,无线网卡仅发送一个身份验证帧,接入点以身份验证帧作为响应进行响应,表示接受(或拒绝)。:
a.Dot11身份验证请求:
b.Dot11身份验证响应:
5. 802.11关联使接入点能够为无线网卡分配资源并与之同步。NIC通过向接入点发送关联请求来开始关联过程。此帧包含有关网卡(例如,支持的数据速率)和它想要关联的网络SSID的信息。
a.Dot11关联请求:
收到关联请求后,接入点考虑与网卡关联,并且(如果接受)保留内存空间并建立网卡的关联ID。
b.Dott11关联响应:
6.4次握手。在此阶段创建PTK,并将PSK用作PMK来构建这些值:
a.AP发送带有ANonce的802.1x身份验证帧。STA现在拥有构建PTK所需的所有信息:
b.STA通过SNonce和MIC响应802.1x身份验证帧:
c.AP使用新的MIC构建802.1x帧,使用序列号构建GTK。此序列号用于下一个组播或广播帧,以便接收方STA可以执行基本的重放检测:
d.STA发送ACK:
从那时起,所有数据都以加密方式发送。
这个过程与前一节完全相同。仅突出显示不同信息。
1.WPA2 AP管理帧包括包含单播密码套件、AKM信息和GTK密码套件的RSN元素(如果同时选择AES和TKIP,则可以对GTK使用强度较小的加密方法)。
2. 在四次握手期间,帧在“类型”字段中包含WPA2的版本信息。
注意:如果4次握手密钥交换帧包含在trace中且PSK已知,则可以解密WEP/WPA-PSK/WPA2-PSK加密无线流量。
要在wireshark中加密无线流量,请导航至首选项 — >协议 — >IEEE 802.11,并提供PSK信息,然后选择启用解密选项。
要解密WPA/WPA2加密流量,请指定Key格式:
wpa-psk:PSK:SSI
注意:要过滤来自Wireshark中特定STA的WLAN流量,您可以使用WLAN统计选项。
要过滤来自特定STA的流量,请导航到统计信息> WLAN流量。从SSID列表中,选择与STA关联的相应SSID,然后根据STA应用过滤器。
最准确的过程是开始捕获,然后取消对客户端的身份验证,以便从零捕获该过程,这意味着可以包括4次EAPOL握手。
如果帧处于其他格式(如PEEKREMOTE)内,则可能需要对这些帧进行解码,请参见如何解码PEEKREMOTE帧一节。
在Wireshark中打开捕获后,导航到编辑>首选项菜单。
转到Protocols菜单并查找IEEE 802.11。
在IEEE 802.11部分,选中Enable Decryption复选框,然后单击Decryption Keys标签旁边的Edit...按钮。
进入Edit菜单后,单击窗口左侧的New按钮。
从密钥类型中选择wpa-psk。
要获取密钥,必须知道执行解密过程的SSID和PSK的确切名称。
具有这两个值,然后导航到下一个网站,以基于这两个元素生成密钥。
在指定字段中键入SSID名称和PSK。键入到字段中的字符串必须完全符合SSID和PSK的定义。
定义值后,单击Generate PSK。这会生成密钥,将其复制并返回到Wireshark。
将生成的密钥粘贴到密钥字段中。Click OK.
然后,在Preferences屏幕上单击Apply。捕获开始解码。
一旦解码,就有可能看到之前加密的802.11数据包的内容。
1.带dot1x(PEAP)的WPA(TKIP)/WPA2(AES)
此过程使用与前面相同的步骤,但802.11管理帧中的AKM方法和PTK/GTK和AP通告属性除外。
b. STA会选择AP通告的身份验证方法和密码套件之一。在本例中,选择了带AES的WPA2。这可在RSN IE参数中看到。
c. 成功关联dot11后,将进行dot1x身份验证。在此过程中,我们可以看到STA使用哪种EAP方法进行身份验证,以及请求方和AAA服务器之间的证书交换信息。
d.在dot1x身份验证成功后,PMK在来自AAA服务器的Access-Accept消息中传输到AP,并在客户端上派生相同的PMK。接下来将进行四次握手,并建立PTK和GTK。
WLC和AAA服务器之间的RADIUS交换:
一般流程图:
这种身份验证与之前的身份验证的区别在于,客户端在“Client Hello”消息中提供其证书,并且客户端和AAA服务器之间根据证书执行相互身份验证。
STA和WLC之间的EAP交换:
WLC和AAA服务器之间的RADIUS交换:
一般流程图:
2.带dot1x(FAST)的WPA(TKIP)/WPA2(AES)
只有dot1x身份验证阶段与上一个示例相比略有不同。成功执行dot11关联dot1x身份验证后,AP将dot1x身份请求发送到STA,STA提供身份响应。响应取决于所使用的PAC调配(带内PAC调配(第0阶段)或带外PAC调配)。 如果是带内调配,PAC将从AAA服务器发送到客户端。一旦客户端具有PAC,它就会从此点进入EAP-FAST阶段1,TLS隧道建立开始(阶段1)。
建立TLS隧道后,内部身份验证方法(第2阶段)在加密隧道内启动。在身份验证成功时,PMK会从AAA服务器在Access-Accept消息中发送到AP。根据STA上的dot1x交换导出相同的密钥。此密钥(PMK)用于计算4次握手期间的PTK,可用于保护STA和AP之间的通信。
一般流程图:
组播嗅探
控制器以两种模式执行组播:
在控制器软件版本 4.2 中,引入了 IGMP 监听以更好地引导组播数据包。启用此功能后,控制器从客户端收集IGMP报告,处理报告,在检查第3层组播地址和VLAN编号后从IGMP报告创建唯一组播组ID(MGID),并将IGMP报告发送到基础设施交换机。控制器发送这些源地址作为接口地址的报告,控制器在该接口地址上从客户端接收报告。
然后控制器会利用客户端 MAC 地址更新 AP 上的接入点 MGID 表。当控制器接收特定组播组的组播数据流时,会将其转发至所有 AP。但是,只有具有侦听或订阅该组播组的活动客户端的AP才会在该特定WLAN上发送组播流量。IP 数据包会通过 MGID 转发,该 MGID 对于输入 VLAN 和目标组播组来说是唯一的。第 2 层组播数据包会通过 MGID 转发,该 MGID 对于输入接口来说是唯一的。
注意:2000 系列控制器、2100 系列控制器或 Cisco 集成多业务路由器的 Cisco 无线局域网控制器网络模块不支持 IGMP 监听。
当您在网络中启用组播模式时,请使用这些指南:
Cisco 统一无线网络解决方案针对具体目的使用某些 IP 地址范围。配置组播组时,请记住这些范围。虽然不推荐,但是所有组播地址均可分配至 LWAPP 组播组;这包括 OSPF、EIGRP、PIM、HSRP 和其他组播协议使用的保留链路本地组播地址。
Cisco建议从管理范围块239/8分配组播地址。IANA已将239.0.0.0-239.255.255.255范围保留为管理范围地址,以便在专用组播域中使用。请参阅附注以了解其他限制。这些地址本质上类似于保留的私有 IP 单播范围,例如 RFC 1918 中定义的 10.0.0.0/8。网络管理员可在其域内自由使用此范围内的组播地址,而无需担心与 Internet 中的其他地址产生冲突。管理性或专用地址空间必须在企业范围内使用,并且从自治域 (AS) 阻止其离开或进入。
注意:请勿使用 239.0.0.X 地址范围或 239.128.0.X 地址范围。这些范围内的地址与本地链路 MAC 地址重叠并且泛洪所有交换机端口,即使 IGMP 监听已开启。
Cisco建议企业网络管理员将此地址范围进一步细分为企业网络内的较小的地理管理范围,以限制特定组播应用的范围。这可以防止离开园区(带宽充足)并拥塞WAN链路的高速率组播流量。它也允许高效地过滤到达控制器和无线网络的高带宽组播。
当您启用控制器上的组播模式时,必须在控制器上配置一个 LWAPP 组播组地址。AP 使用 Internet 组管理协议 (IGMP) 预订 LWAPP 组播组。
在更高的版本中,即 4.2 或更高版本,组播模式不会跨子网移动事件(例如访客隧道)运行。但是,它可以与使用 RADIUS 的接口覆盖(仅当 IGMP 监听启用时)和特定站点 VLAN(接入点组 VLAN)协同运行。
选择Mutlicast - Multicast并配置您的组,移动组中的每个WLC可以使用唯一的地址。
在第3层设备上启用组播路由,并在这些VLAN上启用PIM。 管理、AP管理器、AP所在的VLAN以及接收组播流的客户端所在的VLAN。
示例:
VLAN 40是WLC管理,VLAN 40是AP,而VLAN 50是客户端所在的位置。因此,在所有SVI下,您需要发出组播命令。
发出所有组播show命令以验证(例如show ip mroute、show ip igmp groups),以验证AP的组是否已正确构建。
您还可以在WLC上启用IGMP Snoping。WLC保留其自身接收的IGMP消息的监听表,以便知道谁请求该流。
在WLC上启用全局组播并在WLC上启用组播 — 组播模式。
一旦客户端发送组播加入,您将在WLC MGID上看到它。
全局配置组播路由,然后在每个接口上启用PIM。
6504-WLCBUG#sh run | i组播
ip multicast-routing
6504-WLCBUG#sh run int vla 50
正在构建配置…
当前配置119 bytes
!
interface Vlan50
description // WLAN DHCP pool VLAN //
ip address 172.16.1.1 255.255.255.0
ip pim dense-mode
结束
6504-WLCBUG#sh run int vla 40
正在构建配置…
当前配置121 bytes
!
interface Vlan40
说明//管理VLAN //
ip address 10.105.135.136 255.255.255.128
ip pim dense-mode
结束
6504-WLCBUG#sh ip pim interface vlan 40
地址接口版本/ Nbr查询DR
DR模式计数插值
10.105.135.136 Vlan40 v2/D 0 30 1 10.105.135.136
6504-WLCBUG#sh ip pim interface vlan 50
地址接口版本/ Nbr查询DR
Mode Count Intvl Prior
172.16.1.1 Vlan50 v2/D 0 30 1 172.16.1.1
6504-WLCBUG#sh ip mroute
IP组播路由表
标志:D — 密集,S — 稀疏,B — 双向组,s - SSM组,C — 连接,
L — 本地,P — 修剪,R - RP位设置,F — 寄存器标志,
T - SPT位设置,J — 加入SPT,M - MSDP创建的条目,
X — 代理加入计时器正在运行,A — 适用于MSDP通告的候选,
U - URD, I — 已收到源特定主机报告,
Z — 组播隧道,z - MDT数据组发送方,
Y — 已加入MDT数据组,y — 正在发送到MDT数据组
V - RD和矢量, v — 矢量
传出接口标志:H — 硬件交换,A — 判定优胜者
计时器:正常运行时间/过期
接口状态:接口、下一跳或VCD、状态/模式
(*, 239.255.255.255), 4d17h/00:02:03, RP 0.0.0.0,标志:数据中心
传入接口:空,RPF nbr 0.0.0.0
传出接口列表:
Vlan40,转发/密集,4d17h/00:00:00
(*、239.254.0.3)、2w1d/00:02:07、RP 0.0.0.0、标志:数据中心
传入接口:空,RPF nbr 0.0.0.0
传出接口列表:
Vlan40,转发/密集,3d10h/00:00:00
(*、224.0.1.40)、2w1d/00:02:13、RP 0.0.0.0、标志:DCL
传入接口:空,RPF nbr 0.0.0.0
传出接口列表:
Vlan11,转发/密集,2w1d/00:00:00
有线PC-----------6500交换--------(WISM ------- AP)))((((无线客户端
Vlan 50 Vlan 40 Vlan 40 Vlan 40 Vlan 50
在有线PC上用于生成组播流 — 连续UDP数据包。
无线客户端上使用MCAST接收器工具接收来自源(有线PC)的组播流量。
版本 | 发布日期 | 备注 |
---|---|---|
3.0 |
16-Jan-2024 |
更新的SEO、样式要求、机器翻译、拼写和格式。 |
2.0 |
10-Nov-2022 |
文章要求进行大量、多次更新,以符合PII、偏见的语言、机器翻译、SEO、风格要求和其他要求。 |
1.0 |
20-Jun-2016 |
初始版本 |