我需要直接与Python中的wpa_请求者进行交互。据我所知,可以使用Unix套接字和wpa_请求控制接口(https://w1.fi/wpa_supplicant/devel/ctrl_iface_page.html)连接到wpa_请求。 我编写了一个发送PING命令的简单程序:
import socket
CTRL_SOCKETS = "/home/victor/Research/wpa_supplicant_python/supplicant_conf"
INTERFACE = "wlx84c9b281aa80"
SOCKETFILE = "{}/{}".format(CTRL_SOCKETS, INTERFACE)
s = socket.socket(socket.AF_UNIX, socket.SOCK_DGRAM)
s.connect(SOCKETFILE)
s.send(b'PING')
while 1:
data = s.recv(1024)
if data:
print(repr(data))
但当我运行它时,wpa_恳求者报告了一个错误:
wlx84c9b281aa80: ctrl_iface sendto failed: 107 - Transport endpoint is not connected
有人能举个例子,你如何进行“扫描”,然后打印“扫描结果”吗
显然,wpa_Suplicant使用的套接字类型(UNIX数据报)没有为服务器提供任何回复方式。有a few ways to get around that。wpa_恳求者似乎特别支持通过单独的套接字(在每条消息末尾附加的路径中找到)进行回复
奇怪的是,这似乎是Linux中比较常见的做法:/dev/log seems to work in the same way
以下是一个满足您要求的程序:
相关问题 更多 >
编程相关推荐