c - Linux 上使用 ioctl 进行被动 wifi 扫描

标签 c linux wifi

我可以使用 ioctl SIOCSIWSCAN 和 SIOCGIWSCAN 执行正常扫描并获取 AP 列表,但是当我将卡设置为监视模式时,我得到 errno = 不支持操作。

被动扫描是否有不同的 ioctl 调用?

我知道 wifi 卡不是问题,因为我使用 airodump-ng 得到了结果,并且检查了两张不同的卡。

最佳答案

首先,在命令行中输入:

iw phy <phy> info 

并查看 new_interface 是否列在支持的命令下。您可以通过以下方式获取卡的 phy:

iw 开发

其次,我发现如果我先删除 phy 上的所有接口(interface),将卡设置为监控模式会更容易。如果有事件的接口(interface),有些卡牌就不能很好地发挥作用。

使用 ioctl 向上或向下调卡并获取卡的硬件地址。否则你应该使用netlink - 你正在nl80211.h中寻找NL80211_CMD_NEW_INTERFACE

关于c - Linux 上使用 ioctl 进行被动 wifi 扫描,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36968472/

相关文章:

c - 如何从字符串中提取指定字符串

char[] 和 char* 兼容性?

linux - 什么是充分利用 csh 或 tcsh 的好资源?

iOS 网页错误通过蜂窝数据而不是通过 Wifi?最近更改了 AT&T 蜂窝网络?

android - 如何让 C2DM 推送通知与启用的 WiFi 一起工作?

CURAND 和内核,在哪里生成?

C: <sys/stat.h> 函数 S_ISLNK、S_ISDIR 和 S_ISREG 表现异常?

Linux:如何创建指定文件?

linux - OpenERP : What will be the name of newly created user when this command is executed?

android - 在 Android 中选择 WiFi 接入点?