#########################################
#########################################
本程序是一个概念验证工具,允许通过流量注入进行 WiFi 通信。 你需要:
. Python >= 2.2
. Psyco Python 优化器(可选)
. Philippe Biondi 的 Scapy
. 支持注入的无线适配器
已在 GNU/Linux 上使用基于 Atheros 芯片组的适配器(搭配打过补丁的 Madwifi 驱动)和 Intersil Prism GT Full MAC 芯片组(搭配 Prism54 驱动)测试通过。理论上也适用于 Prism2/2.5/3 芯片组的 hostap 驱动或 wlan-ng 驱动、Ralink rt2500/2750 芯片组的 rt2500 驱动以及 Realtek RTL8180 芯片组的 rtl8180-sa2400 驱动。
我没有花时间测试 Prism2/2.5/3 支持,也没有 Ralink 或 Realtek 的硬件用于测试。不过,我很乐意收到关于在这些芯片组上尝试 Wifitap 的反馈。
驱动补丁由 Christophe Devine 编写,并由 Aircrack-ng 团队更新。关于驱动补丁和安装的详情,请参阅 PATCHING 文件。
要让 wifitap 在 GNU/Linux 之外的其他 Unix 操作系统上工作,你需要安装 Python 的 pcap 或 dnet 封装,以便 Scapy 能够运行(参见 http://www.secdev.org/projects/scapy/portability.html)。然后,最重要的是,你需要找到一个支持原始无线流量注入的无线适配器驱动(如果存在的话)。
注意:Python 非常慢...
o 获取 Wifitap ;)
Wifitap 可在以下地址获取:
http://sid.rstack.org/index.php/Wifitap (法文)
http://sid.rstack.org/index.php/Wifitap_EN (英文)
最新版本可在以下地址下载:
http://sid.rstack.org/code/wifitap.tgz
代码仓库位于:
http://sid.rstack.org/code/wifitap/
o 获取 Scapy
附带了一个可用的 Scapy 版本,因此 Wifitap 可以直接使用。
不过,你也可以从以下地址获取功能更丰富的版本:
http://www.secdev.org/projects/scapy/
下载 "work-in-progress" 版本,或者(更好)使用提供的版本...
o 准备 WiFi 适配器
下载、打补丁并安装驱动(参见 PATCHING)。
假设信道为 11:
~# iwconfig $IFACE mode monitor channel 11
~# ifconfig $IFACE up promisc
注意:Atheros 驱动 Madwifi 需要特定配置才能将驱动设置为混杂模式并/或激活流量注入。如果使用 madwifi-ng 或 madwifi-old,请参阅网站(http://www.madwifi.org/)了解详情。
o 启动 Wifitap
~# ./wifitap.py -b <bssid>
将会创建一个 wj0 接口,需要像普通接口一样进行配置,可选指定 MAC 地址:
~# ifconfig wj0 [hw ether <MAC>] 192.168.1.1 [mtu <MTU>]
o 使用 Wifitap
现在,你可以像使用普通接口一样使用 wj0 接口,配合你喜欢的应用程序和工具进行通信,具体取决于系统路由表 :)
o Wifitap 命令行参数
用法 : wifitap -b <BSSID> [-o <iface>] [-i <iface> [-s <SMAC>]
[-w <WEP key> [-k <key id>]] [-d [-v]] [-h]
-b 指定 BSSID,使用常规的 6 位十六进制 MAC 地址格式:
. 00:01:02:03:04:05
-o 指定用于帧注入的输出 WiFi 接口
-i 指定用于帧嗅探的输入 WiFi 接口
-s 指定源 MAC 地址
. 00:01:02:03:04:05
-w 激活 WEP 加密/解密,并指定 WEP 密钥
密钥可以使用以下格式给出:
. 0102030405 或 0102030405060708090a0b0c0d
. 01:02:03:04:05 或
01:02:03:04:05:06:07:08:09:0a:0b:0c:0d
. 0102-0304-05 或 0102-0304-0506-0708-090a-0b0c-0d
-k 指定 WEP 密钥 ID,范围 0 到 3
-d 激活调试
-v 增加调试信息详细程度
-h 帮助屏幕
o 最新版本的 libpcap 完全支持 Wi-Fi 专属头部,尤其是 Prism 头部。 但是,如果你的系统使用旧版 libpcap,则需要应用提供的补丁:
patch -p0 < prismheaders.patch
这会添加一个标志 (-p),告诉 Wifitap 跳过 144 位 Prism 头部以访问 802.11 帧。
#########################################
#########################################