我想扫描从3 AP收到的信号强度.

如果每300毫秒(最长500毫秒)发生这种情况,我会很高兴.我在路由器上刷了OpenWRT.

我正在寻找一个很好的工具来做到这一点.

首先,我发现iwconfig有效,但只有我连接的网络.所以我使用了iwlist(我没有工作 – 也许我需要更新它?).你知道它的输出有多准确吗?我能相信吗?

之后,我遇到了IOCTL.它看起来非常强大*和专业.但是获得来自WIFI的信号强度的输出是否比iwlist / iw这样的简单方法更可靠?

*甚至太强大,因为我没有编译我用它编写的任何程序

解决方法:

如果要确定未连接的WLAN接入点的信号强度,则扫描是正确的方法.

根据无线卡的设计,扫描由无线网卡执行,驱动程序有很多或很少的“帮助”.有些卡(芯片组,更具体)有自己的处理器,并独立于主机运行自己的固件代码.另一方面,有“愚蠢”的卡片,主机上的驱动程序完成大部分工作.

在驱动程序和操作系统的其余部分之间,存在用于向驱动程序发送命令并以标准化方式读回信息的接口(API).在Linux中,至少有两种不同的API.较旧的名称为Wireless Extensions,较新的名称为cfg80211.通常,驱动程序仅支持其中一个API.大多数当前的驱动程序使用cfg80211,但可能仍有较旧的驱动程序仍在使用无线扩展.

对于这两个API中的每一个,都有一个用户空间工具(或工具系列)来使用它.对于无线扩展,有iwconfig(和iwlist,iwpriv等).对于cfg80211,只有iw.

因此,有关正确工具的问题取决于无线驱动程序使用的API.为了增加混淆;-),cfg80211进行一些仿真,允许您对使用较新的cfg80211 API的驱动程序执行一些无线扩展调用.

关于ioctl()的问题:这是Unix操作系统中用户空间和内核空间之间通信的通用方法.旧的Wireless Extensions API使用ioctl().较新的cfg80211 API不使用基于ioctl()的接口,而是使用nl80211.

总结一下:是否使用iw / cfg80211 / nl80211或iwconfig / Wireless Extensions / ioctl取决于驱动程序或无线网卡.

关于你想要的扫描间隔,我会说300毫秒相当短.这是因为对于有用的扫描,客户端需要在短时间内离开其当前频道,切换到另一个频道并收听来自该频道上其他接入点的信号.由于离开其信道中断通信,因此这些非信道时间通常保持较短并且不经常进行.

打电话给我< dev> scan或iwlist< dev>扫描分别不一定会导致新的扫描,但可能会返回旧的(缓存的)访问点列表.根据您的无线卡/驱动程序,可能(im)可以强制执行新的扫描.

标签:ioctl,linux,wifi,ssid,iwconfig

来源: https://codeday.me/bug/20190722/1506307.html

linux查看wifi信号命令_linux – 获取WIFI信号强度 – 寻求最佳方式(IOCTL,iwlist(iw)等)...相关推荐

  1. linux查看wifi信号命令_Linux查看WiFi SSID密码的方法

    无论在什么操作系统中,都可能会涉及到WiFi信号的接入,然后系统就会把用户输入的WiFi密码记录起来,在Linux查看WiFi SSID密码比起Windows系统中要方便很多,其实也就是一条命令的事. ...

  2. oracle linux查看磁盘,fdisk命令_Linux fdisk命令使用详解:查看磁盘使用情况与磁盘分区...

    fdisk命令用于观察硬盘实体使用情况,也可对硬盘分区.它采用传统的问答式界面,而非类似DOS fdisk的cfdisk互动式操作界面,因此在使用上较为不便,但功能却丝毫不打折扣. 语法 fdisk( ...

  3. linux查看vnc进程命令_linux命令:VNC服务的配置及使用

    安装配置VNC服务,使得可以通过图形界面来管理控制linux主机: 目前比较流行的方式:XDM(X display manager)方案和VNC方案,个人感觉VNC方案比较方便; 一是因为VNC方案配 ...

  4. linux查看jdk版本命令_linux环境查看jdk版本

    java-version查看版本信息,如果显示那就是安装了.还可以rpm-qajdk看看有没有安装java虚拟机的rpm包 . 进入目录/usr/lib/jvm/根据文件名就可以看出来啦比如ls/us ...

  5. linux查看vnc进程命令_linux vncviewer使用ubuntu 关机命令

    在linux下一些常用的关机/重启命令有shutdown.halt.reboot.及init,它们都 可以达到重启系统的目的,但每个命令的内部工作过程是不同的,通过本文的介绍,希 望你可以更加灵活的运 ...

  6. 在Windows, Mac, Linux三种系统中分别获取wifi密码的方式

    在Windows, Mac, Linux三种系统中分别获取wifi密码的方式 1. Windows netsh wlan show profile name=wifi名称 key=clear | fi ...

  7. linux 怎样查看设备信息,Linux查看设备信息命令

    系统 #查看内核/操作系统/CPU信息 uname -a #查看操作系统版本 head -n 1 /etc/issue #查看CPU信息 cat /proc/cpuinfo #查看计算机名 hostn ...

  8. Linux查看磁盘空间命令(df、du)

    Linux查看磁盘空间命令 Linux 查看磁盘空间可以使用 df 和 du 命令. 1.df df以磁盘分区为单位查看文件系统,可以获取硬盘被占用了多少空间,目前还剩下多少空间等信息: df 使用d ...

  9. Linux 查看目录常用命令

    linux 查看目录常用命令 ls -F |grep "/$" 只显示当前目录下的文件夹 ls -al |grep "^-" 只显示当前目录下的文件 ls -a ...

最新文章

  1. Python的命名空间和作用域
  2. 工作思路 + 邮件问题
  3. spring知识概要
  4. MySQL replace into (insert into 的增强版)
  5. C#强力粉碎文件代码分享,升级中用到
  6. 菜鸟裹裹宣布:让数十万快递小哥月入过万成为常态
  7. 使用函数求余弦函数的近似值_WPS-Excel表格实用技巧-排名函数RANK函数的使用
  8. python按照多个key排序
  9. C#利用扩展方法,不引入新的类型,实现矩阵的操作
  10. vue移动端实现word在线预览
  11. 【每周论文阅读-第四周】proposal-level 特征聚合视频目标检测方法02
  12. 表示偏移地址的寄存器
  13. 项目管理常用图(甘特图、WBS、燃尽图)了解
  14. 简单,充实,幸福——2015-2016年终总结
  15. SHT10型温湿度传感器工作时序分析及驱动程序与Proteus仿真的实现
  16. VUE饿了么学习笔记(6)goods界面滚动和点击联动的实现
  17. PaddleOCR车牌检测识别训练、部署
  18. JVM 参数 -XX:+PrintGCDetails
  19. C语言每日一题:青蛙跳楼梯(学习笔记自用)
  20. 把极致的单品做到极致,让每一个商品都是爆品

热门文章

  1. SV学习笔记—类的封装和继承
  2. COSMIC规模度量案例集四:业务应用软件案例—新增用户
  3. 中介分水岭 机构大数据风生水起
  4. EI会议推荐-计算机主题
  5. 执行还原操作_【操作技巧】SQL2014数据库存储路径的修改方法
  6. ios微信清理(已越狱)
  7. HighChart插件小札
  8. arm fat32文件系统 c语言,文件系统 – VFAT和FAT32文件系统有什么区别?
  9. JAVA开发语言基础
  10. 【路径规划】基于遗传算法实现物流中心配送方案matlab源码