如何用wifi-linux检测AP信号强度
作为一名Python极客,我喜欢在github上挖掘新的用于Linux用户的Python工具。今天我发现了一款用Python写成的用于检测AP信号强度的工具:wifi-linux。
我已经在wifi-linux上实验了大约两个小时,并且它工作的很好,但是我希望在不久的将来在作者那里看到一些单元测试,因为命令plot无法在我的电脑上工作,并且会导致一些问题。
什么是wifi-linux
根据github上作者账号的官方的 readme.md文件, wifi-linux是一个简单的收集你周围AP的RSSI信息的python脚本,它还会画出RSSI活动图形。
作者说可以在该程序中可以使用plot命令绘制RSSI 活动图形,但是不幸的是,这对我不可行。wifi-linux也支持其他的命令,比如bp 来加入一个断点,print会打印一些统计和启动开关。
wifi-linux程序有下面这些依赖:
- dbus-python
- gnuplot-py
首先我们需要安装所有的包依赖以使它可以运行在我们的linux机器上。
安装wifi-linux需要的包
我尝试使用python包管理工具pip安装python-dbus但是失败了,因为pip会查找setup.py,但是python-dbus中没有。因此下面的命令不工作。
<span class="pln">pip install dbus</span><span class="pun">-</span><span class="pln">python</span>
你可以试一下但是很有可能会在终端中出现下面的错误。
<span class="typ">IOError</span><span class="pun">:</span><span class="pun">[</span><span class="typ">Errno</span><span class="lit">2</span><span class="pun">]</span><span class="typ">No</span><span class="pln"> such file </span><span class="kwd">or</span><span class="pln"> directory</span><span class="pun">:</span><span class="str">'/tmp/pip_build_oltjano/dbus-python/setup.py'</span>
我该怎么解决这个问题呢?很简单,用下面命令中的系统包管理工具来安装Python DBUS。
<span class="pln">sudo apt</span><span class="pun">-</span><span class="kwd">get</span><span class="pln"> install python</span><span class="pun">-</span><span class="pln">dbus</span>
上面的命令只有在有apt-get包管理器的机器中才可以使用,比如Debian和Ubuntu。
我们要安装的第二个依赖是gnuplot-py。下载并用tar解压,接着运行setup.py来安装包。
第一步是下载gnuplot-py。
<span class="pln">wget http</span><span class="pun">:</span><span class="com">//prdownloads.sourceforge.net/gnuplot-py/gnuplot-py-1.8.tar.gz</span>
接着使用tar工具解压。
<span class="pln">tar xvf gnuplot</span><span class="pun">-</span><span class="pln">py</span><span class="pun">-</span><span class="lit">1.8</span><span class="pun">.</span><span class="pln">tar</span><span class="pun">.</span><span class="pln">gz</span>
接着使用cd命令改变目录。
<span class="pln">cd gnuplot</span><span class="pun">-</span><span class="pln">py</span><span class="pun">-</span><span class="lit">1.8</span>
接着运行下面的命令在你的系统中安装gnuplot-py。
<span class="pln">sudo setup</span><span class="pun">.</span><span class="pln">py install</span>
安装完成后,你就可以在你的系统中运行wifi-linux了。只需下载并用下面的命令运行脚本。
用下面的命令下载wifi-linux到你的机器中。
<span class="pln">wget https</span><span class="pun">:</span><span class="com">//github.com/dixel/wifi-linux/archive/master.zip</span>
解压master.zip接着使用下面的命令运行list_rsssi.py脚本。
<span class="pln">python list_rssi</span><span class="pun">.</span><span class="pln">py</span>
下面的截图说明wifi-linux在工作了。
命令bp用于像下面那样添加一个断点。
命令print可以用于在终端上显示你机器的状态。下面就是一个例子。