[英]DBus-Python Network Manager script - WpaFlags issue
我正在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")
如果沒有加密,則加密= 0-沒關系-我得到的其他結果是324和392
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。
一般而言,這是一個有關位標志的問題: 按位操作和用法 。
例:
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"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.