我很好奇是否有可能使用任何Python工具来轮询OS X中的wi-fi信号强度。我的大部分搜索只是为Linux提供Python工具,但OS X没有。
如果没有,是否有其他方法可以通过编程方式获取此类数据?
答案 0 :(得分:7)
this question的答案描述了如何加载CoreWLAN框架。完成后,您可以使用CWInterface类查找RSSI以及其他统计信息:
import objc
objc.loadBundle('CoreWLAN',
bundle_path='/System/Library/Frameworks/CoreWLAN.framework',
module_globals=globals())
for iname in CWInterface.interfaceNames():
interface = CWInterface.interfaceWithName_(iname)
print """
Interface: %s
SSID: %s
Transmit Rate: %s
Transmit Power: %s
RSSI: %s""" % (iname, interface.ssid(), interface.transmitRate(),
interface.transmitPower(), interface.rssi())
有关可用属性的完整列表,请参阅CWInterface docs。
答案 1 :(得分:1)
对于mac,有一个名为airport的命令行工具。您可以手动调整任何Wi-Fi设置,网卡设置,排除网络故障,更改连接上使用的安全类型,将数据包捕获到pcap文件,加入和离开网络,忘记wifi网络,优先考虑路由器和网络,查看信号强度和干扰等。
通常在这里 - /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport
您只需输入此信息即可获得帮助
airport
airport -h
将这个和子进程一起使用,你应该可以在python
中完成大部分工作