我需要从 Python 直接与 wpa_supplicant 交互。据我了解,可以使用Unix套接字和wpa_supplicant控制接口(https://w1.fi/wpa_supplicant/devel/ctrl_iface_page.html)连接到wpa_supplicant。我编写了一个发送 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))
Run Code Online (Sandbox Code Playgroud)
但是当我运行它时,wpa_supplicant报告错误:
wlx84c9b281aa80:ctrl_iface sendto 失败:107 - 传输端点未连接
有人可以提供一个示例,说明如何进行“扫描”然后打印“scan_results”。