可以使用Python扫描Wi-Fi吗?

问题描述 投票:0回答:3

我有兴趣用 Python 编写一个脚本,该脚本能够扫描并显示附近的 Wi-Fi 网络列表。怎么能做到这一点呢?如果可以的话。

谢谢。

杰克。

python wifi
3个回答
7
投票

是的,这是可能的。就如何操作而言,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}")

0
投票

我知道这已经晚了几年,但是您可以使用如图所示的网络模块。这可能不是最好的方法,但我发现它对我有用

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()

-1
投票

实际上可以使用子流程模块

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)  
© www.soinside.com 2019 - 2024. All rights reserved.