DBusPython网络管理器脚本wpalags issu

2024-05-16 14:39:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用dbuspython编写一个python脚本,以便通过networkmanager获取有关可用访问点的一些信息。我可以正确地得到ssid,mac地址,信号强度值。虽然当我试图得到WpaFlags时,我只得到一些整数值。我想,我应该知道如何使用“NM 802_11_AP_SEC” 但我不知道怎么做。我会很感激你的建议。在

可读结果:

ssid = ap_prop_iface.Get("org.freedesktop.NetworkManager.AccessPoint","Ssid",byte_arrays=True)
hwaddr = ap_prop_iface.Get("org.freedesktop.NetworkManager.AccessPoint", "HwAddress")

无法读取的结果:

^{pr2}$

加密=0如果没有加密-没关系- 我得到的其他结果是324和392


Tags: org脚本信息getmac地址networkmanagerap
1条回答
网友
1楼 · 发布于 2024-05-16 14:39:40

WpaFlags(和其他*标志)是由位标志组成的整数,这里是NM_802_11_AP_SEC。所以324 ix 0x144(十六进制),即NM_802_11_AP_SEC_KEY_MGMT_PSK | NM_802_11_AP_SEC_GROUP_TKIP | NM_802_11_AP_SEC_PAIR_TKIP。在

这里有一个关于位标志的一般问题:Bitwise operation and usage。在

示例:

NM_802_11_AP_SEC_PAIR_TKIP = 0x04  // declare other constants too...
flags = 324                        // from an API call really
if flags & NM_802_11_AP_SEC_PAIR_TKIP:
    print "PAIR_TKIP is enabled"

相关问题 更多 >