【问题标题】:DBus-Python Network Manager script - WpaFlags issueDBus-Python 网络管理器脚本 - WpaFlags 问题
【发布时间】:2012-12-08 11:29:47
【问题描述】:

我正在 DBus-python 中编写一个 python 脚本,用于通过网络管理器获取有关可用接入点的一些信息。我可以正确获取 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")

不可读的结果:

encryption = ap_prop_iface.Get("org.freedesktop.NetworkManager.AccessPoint", "WpaFlags")

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

【问题讨论】:

    标签: python dbus


    【解决方案1】:

    WpaFlags(和其他*Flags)是一个由位标志组成的整数,这里是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"
    

    【讨论】:

      猜你喜欢
      • 2019-08-13
      • 2018-12-11
      • 2010-12-12
      • 1970-01-01
      • 2020-03-14
      • 1970-01-01
      • 2011-03-11
      • 2011-06-01
      • 1970-01-01
      相关资源
      最近更新 更多