我有兴趣用 Python 编写一个脚本,该脚本能够扫描并显示附近的 Wi-Fi 网络列表。怎么能做到这一点呢?如果可以的话。
谢谢。
杰克。
是的,这是可能的。就如何操作而言,this 可能会帮助您入门。
此外,您可以使用 pywifi 包扫描您所在区域的所有无线设备。
示例:
import pywifi
import time
wifi = pywifi.PyWiFi()
iface = wifi.interfaces()[0]
iface.scan()
time.sleep(0.5)
results = iface.scan_results()
for i in results:
bssid = i.bssid
ssid = i.ssid
print(f"{bssid}: {ssid}")
我知道这已经晚了几年,但是您可以使用如图所示的网络模块。这可能不是最好的方法,但我发现它对我有用
import network
sta_if = network.WLAN(network.STA_IF)
def scan_networks():
global sta_if
networks = sta_if.scan()
for network in networks:
name = network[0].decode('utf-8')
print(name)
print(network)
scan_networks()
实际上可以使用子流程模块
import subprocess
networks = subprocess.check_output(['netsh', 'wlan', 'show', 'network'])
networks = networks.decode('ascii')
networks = networks.replace('\r', '')
ssid = networks.split('\n')
ssid = ssid[4:]
ssids = []
x = 0
while x < len(ssid):
if x % 5 == 0:
ssids.append(ssid[x])
x += 1
print(ssids)