Karma - DigiNinja
Karma简介
Karma是一组针对接入点软件的补丁,使其能够响应任何ESSID的探针请求,而不仅仅是自身配置的网络。这使得AP能够充当诱饵,吸引任何探测已知网络的客户端。最初的Karma补丁由Dino Dia Zovi为Madwifi发布,随后由我接手并将其移植到Madwifi-ng,现在又将其移植到新的hostapd。
与一些人的误解不同,Karma补丁并不会让AP发送超出其正常AP配置之外的信标。这意味着启动时,您不应期望在客户端看到大量新网络广告。其工作原理是:大多数客户端都有一个首选网络列表,通常大多数设置为自动连接。当客户端启用无线功能时,它会遍历此列表,为每个网络发送探针请求。一旦Karma检测到探针请求,无论请求的ESSID是什么,它都会回应“是”,然后客户端尝试关联。有些客户端可能会继续探测列表中优先级更高的其他AP,因此可能会放弃最初关联的AP,转而选择Karma响应的最高优先级网络。
大多数客户端在尝试关联时会检查AP提供的加密级别,如果不匹配预期,客户端将不会关联。这会导致客户端频繁连接和断开。然而,我也见过一些客户端如果AP提供无加密,则会降级为无加密连接。
如果您在测试Karma时客户端无法连接,请确保它们的首选列表中有网络且设置为自动连接。仅仅因为Windows有首选AP列表,并不意味着所有网络都设置为自动连接。我经常收到错误报告,称Karma不起作用,但最终检查列表时发现没有网络设置为自动连接。
Hostapd实现
在Zero_Chaos的推动下,我终于为hostapd打了补丁,允许Atheros用户从Madwifi-ng迁移到ath5k和ath9k。这也应该为Prism54和其他各种网卡用户打开大门,但这些尚未经过测试。
以下您可以选择下载选项:针对版本1.0源代码的补丁或预打补丁的副本,还有一个示例配置文件。要使用预打补丁的源代码,只需解压tarball,切换到hostapd目录并运行make。然后,您可以使用-dd参数启动AP以获取Karma输出消息。我提供的配置文件的ESSID为“FreeInternet”,它会发送信标,旨在吸引那些不探测任何网络但可以被免费连接吸引的用户。配置文件已注释,应易于根据您的需求进行修改。
您可以通过检查版本信息来确认正在运行打补丁的hostapd版本:
|
|
并像这样启动它:
|
|
如果您仅过滤KARMA引用,那么在成功关联后您将看到类似以下内容:
|
|
如果您希望将所有输出直接发送到文件,而不是屏幕或通过管道传输到文件或其他应用程序,从版本1.0开始,您现在可以使用-f选项将输出发送到文件。唯一的问题是你必须在构建时启用此功能。打补丁的源代码和补丁都启用了此功能,但如果您想检查,请查找CONFIG_DEBUG_FILE并确保其设置为1。
我知道这个版本的一个问题是,当客户端最终关联时,只打印MAC地址,而不打印关联的ESSID。这是因为此时假设关联与配置文件中的ESSID相同,因此最初探测的ESSID似乎没有存储在任何可用结构中。我正在解决这个问题,并希望找到一种方法将其传递到这里。
hostapd_cli
使用madwifi-ng驱动程序时,您可以使用iwpriv命令与运行中的驱动程序交互,而使用Hostapd时,您可以使用hostapd_cli,我认为这是一个更好的工具。我扩展了默认版本,添加了一堆新命令来控制Karma功能。
当您启动hostapd_cli时,它会搜索hostapd实例并在可能的情况下自动连接:
|
|
我不打算详细解释这些命令的工作原理,标准命令在其他地方有文档记录,而Karma命令应该是不言自明的。我要指出的一点是,我对输入help获取上述列表感到沮丧,因此我将?别名为执行相同操作——小改变,大解脱!
下载
- 示例配置文件
- hostapd版本1.0的补丁
- 打补丁的hostapd版本1.0
Madwifi-ng
由于我已经有一段时间没有为此创建任何补丁,我失去了对Madwifi项目进展的跟踪。上次我尝试打补丁时,无法在没有进一步修补驱动程序的情况下使其与我的内核(2.6.23)构建,因此我放弃了。我将之前的所有补丁收集在下面,如果您因某种原因需要特定帮助,请联系我,否则我建议转向hostapd方法。
下载
- svn版本0.9.4-3379
- 0.9.4
- 0.9.3.3
- 0.9.3.2
- 0.9.3.1
- 0.9.3
支持本站
我不会从这个网站的任何项目中获得报酬,因此如果您想支持我的工作,可以通过使用下面的联盟链接来实现,我会获得账户积分或现金返还。通常只有几分钱,但它们会积少成多。
[给我买一杯冰沙]