为什么我的程序在断开wifi连接时显示“pyroute2.netlink.exceptions.NetlinkError:(1,‘不允许操作’)

2024-06-16 11:09:01 发布

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

您好,我正在尝试断开SSID为“Umar”(开放网络)的开放式wifi。在使用“sudo python3 disconnect.py wlp3s0”运行之后,我得到了类似于“(-1操作不允许)”的错误 请帮忙解决这个问题

import sys
#import logging
from pyroute2 import IPRoute
from pyroute2.iwutil import IW
from pyroute2.netlink import NLM_F_ACK
from pyroute2.netlink import NLM_F_REQUEST
from pyroute2.netlink import NLM_F_DUMP
from pyroute2.netlink.nl80211 import nl80211cmd
from pyroute2.netlink.nl80211 import NL80211_NAMES

ifname = sys.argv[1]

iw = IW()

ip = IPRoute()
ifindex = ip.link_lookup(ifname=ifname)[0]
ip.close()
ssid = b"Umar"

msg = nl80211cmd()
msg['cmd'] = NL80211_NAMES['NL80211_CMD_DISCONNECT']
msg['attrs'] = [['NL80211_ATTR_IFINDEX', ifindex]]
dump = iw.nlm_request(msg,msg_type=iw.prid,msg_flags=NLM_F_REQUEST | NLM_F_ACK)
print ("disconnect {}".format(dump))   
iw.close()

提前谢谢


Tags: fromimportipsysnlmmsgiwdisconnect