此 Repo 是 unixpickle/JamWiFi 的延续,因为它已被弃用并且不会更新
添加了加入选项(用于通过 BSSID 加入)
扫描错误现在有描述(仅限控制台)
添加设置(隐藏网络,..)
添加了列排序
用 Swift 重写
添加了对 MacOS Mojave/Catalina 的支持
添加了深色模式支持
下载最新的预编译
2018 年及以后版本的设备在执行数据包注入时似乎会崩溃。不幸的是,我自己没有这样的设备,所以我现在无法修复它
JamWiFi 允许您选择一个或多个附近的无线网络,然后显示当前在网络上活动的客户端列表。此外,JamWiFi 允许您根据需要断开所选客户端的连接。
在幕后,JamWiFi 使用 Apple 的 CoreWLAN API 进行频道跳跃和网络扫描。对于原始数据包接口,libpcap 为在 MAC 层发送/接收原始 802.11 帧提供了一个很好的抽象点。所有 802.11 MAC 数据包都包含 MAC 地址源和目的地。这使得 JamWiFi 能够确定给定接入点上的站点。
JamWiFi 使用分离帧“启动”客户端。当客户端收到来自接入点的解除关联帧时,它将假定它与 AP 的任何连接都不再处于活动状态。然而,一旦客户端收到解除关联帧,它可能会立即尝试与 AP 建立新的会话。为了防止这种情况,JamWiFi 不断地频繁地向每个客户端发送解除关联帧。
有些网络包括多个接入点。此外,可能存在多个可用WiFi网络可供客户端使用的场景。在这种情况下,即使客户端与一个 AP 解除关联,它也可能能够成功地与另一个 AP 建立会话。为了克服这个问题,JamWiFi 会从每个 AP 向每个客户端发送解除关联帧,无论该客户端是否与该 AP 关联。虽然这看起来似乎是不必要的开销,但对于具有 >1 个接入点的更复杂的网络来说,这是必要的。
请稍等一下。对于您可能对使用此工具的任何人造成的任何损害,我不承担任何责任。这仅用于实验和学习目的。拜托,拜托,拜托,在你做这种蠢事之前请三思。如果你的 WiFi 因邻居的混蛋而无法使用,你会怎样?