本文的思路来自于www.netexpert.cn的“扫盲贴:关于无线监听”(实在搜索不到这个帖子了,对不起),或者可以参考这个帖子:http://www.netexpert.cn/viewthread.php?tid=5980。
本文的实现环境:
Windows XP + SP2 英文版
OmniPeek Personal 4.0
Windows XP + SP2 英文版
OmniPeek Personal 4.0
实际上,在有线环境下用 Sniffer 久了,再换到无线环境下,没有了 Sniffer 还真不习惯,我一直在找无线环境下的嗅探工具,刚开始时我用 Ethereal,虽然有种种的优点,但是也不能不否认其严重的缺点:没有好的 GUI 系统、报表系统,没有良好的专家系统,而且没有类似 Sniffer 的 Matrix 功能,直到我找到了 OmniPeek。
关于 OmniPeek 的使用方法,我就不多说了,有班门弄斧的嫌疑,这里只介绍它如何实现无线监听。实际上实现无线监听,是需要特殊网卡的支持的,如果没有专门的网卡,虽然可以嗅探,但是那是剥离了 802.11 帧信息的,是 Windows NIDS 实现的,意义不大。关于 NIDS ,我也不明白是怎么回事 >_<,不懂开发,没办法。根据我自己的理解,就是 Windows 的 NIDS 驱动把 802.11 变成了 Ethernet 2 帧(高手不要笑我)。而且,普通网卡只能嗅探到本机网卡的通信数据,没有办法捕获到其他设备的通信数据(虽然你可以使用 ARP 欺骗达到目的)。
OmniPeek 所支持的网卡可以在网站上查到(http://www.wildpackets.com/support/downloads/drivers),这里列出它所支持的几块无线网卡:
Proxim Orinoco 11a/b/g adapter, model 8480-WD
Cisco adapter, model CB21AG
3Com a/b/g adapter, model 3CRPAG175
Netgear WAG511, version 1
Cisco adapter, model CB21AG
3Com a/b/g adapter, model 3CRPAG175
Netgear WAG511, version 1
很幸运,我的一个哥们送给了我一块 Cisco AIR-CB21AG-A-K9(1000多呀,真是感谢我的哥们),是被 OmniPeek 所支持的。要达到无线监听,不仅仅要它支持的网卡,还需要它专门为这几种网卡定制的驱动程序,也可以在上边的这个地址找到下载链接。
Down 下来之后,开始安装驱动:
1. 打开设备管理器,找到这块网卡,双击它,出现属性对话框,找到 Driver 选项卡,单击“ Update Driver ”按钮:

2. 出现了驱动程序升级向导,不要让 Windows 自己 Update 驱动,选择“No, not this time”


3. 下一步中选择 “Install from a list or specific location”,手动来选择驱动程序
4. 然后,不要让 Windows Search 驱动程序,手动安装,然后选择“下一步”


5. 接着,单击“Have disk”,然后用 Browse 按钮来定位到下载的驱动程序中的 .inf 文件


6. Windows 会跳出驱动程序未经签名的警告,不要理它,选择 Continue anyway即可安装成功之后,启动 OmniPeek,在 Monitor 菜单的 Monitor Options 中,找到左边的 Adapter,在右边选中刚才安装的那块网卡,然后确定,初次安装,有可能会出现这个对话框:


现在开始监听,单击 OmniPeek 中的 New Capture 按钮:


出来了 Caputer 设置对话框,由于是第一次抓包,并不知道感兴趣的 AP 所在的频段,幸好 OmniPeek 为我们提供了一个 Scan 功能,它可以用来扫描附近所有的 AP 所在的频段,在这里我使用 Scan 来扫描一下:


开始之后,可以看到 OmniPeek 的状态栏中在扫描所有的频段:


稍等一会儿,等到扫描一轮之后,就可以结束了,单击左边的 Wireless --> WLAN,就可以看到扫描出来的 AP:


可以看到箭头标出的 AP 所工作的频段,有 Channel 11,Channel 7,Channel 9,Channel 5,等等,然后可以根据 ESSID 来找到感兴趣的 AP,比如 default(这是我一直偷着上网的 AP),它工作在 Channel 5,现在关闭掉 Capture窗口,然后再次重新进行 Capture,这次可以设置频段了:


然后再次开始捕获数据,可以看到,当前 Channel5 中的数据全部出来了:


呵呵,这么晚了还有人在用 MSN 聊天呀~~~
这些数据有好多都是不太感兴趣的,比如 802.11 的管理帧,可以定义一个过滤器把它们过滤掉。这里不得不提一下 OmniPeek 的过滤器,它的 Advanced 过滤器提供的 And、Or、Not 的确是非常爽的功能,打开左边的 Filters ,单击绿色的加号按钮:


用 And 按钮把 802.11 Management、Contorl、Frag 等协议都加进去,然后统统 Not,就可以了:


完成之后,在 Filters 中选中刚才定义的过滤器,然后再开始抓包,这下干净多了:


双击一个数据包,打开看看:


呵呵,802.11 数据都在呢。
当然,这个 AP 是没有经过 WEP 或 WPA 加密的,所以可以嗅探到明文数据,(当然,否则我怎么能偷着上网?)如果要嗅探经过 WEP 加密的数据,只有先破解 WEP 密码了,连到 AP 之后再进行 ARP 欺骗,这已经不是本文讨论的范围。



测试一下