首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何以编程方式从NetworkManager获取范围内的无线SSIDs列表

如何以编程方式从NetworkManager获取范围内的无线SSIDs列表
EN

Ask Ubuntu用户
提问于 2012-05-16 14:14:45
回答 2查看 13.6K关注 0票数 6

我正在编写一个小应用程序,我想提交给板,我想做的一件事是在一个组合框中显示检测到的无线SSID的名称。这是一个PyGI应用程序。

有没有人知道我如何从系统中获得那些SSID,最好是通过Python?从dbus来的?从NetworkManager?

EN

回答 2

Ask Ubuntu用户

回答已采纳

发布于 2012-05-16 14:25:42

您可以通过NetworkManager的pygi绑定轻松地做到这一点:

代码语言:javascript
运行
复制
from gi.repository import NetworkManager, NMClient

nmc = NMClient.Client.new()
devs = nmc.get_devices()

for dev in devs:
    if dev.get_device_type() == NetworkManager.DeviceType.WIFI:
        for ap in dev.get_access_points():
            print ap.get_ssid()

或直接从DBus,请参阅http://cgit.freedesktop.org/NetworkManager/NetworkManager/tree/examples/python/show-bssids.py

如果您倾向于在shell中快速编写此脚本,那么询问NetworkManager的一种简单方法是使用:

代码语言:javascript
运行
复制
nmcli dev wifi list

或者使用iwlist扫描,或者更好: iw dev wlan0扫描(或.),在安装iw之后

包。

票数 13
EN

Ask Ubuntu用户

发布于 2012-05-16 14:17:45

一个选项是在命令行上运行iwlist scan,但它必须作为root运行。

票数 3
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/137894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档