用Python可以扫描Wi-Fi吗?

12

我有兴趣编写一个Python脚本,能够扫描并显示附近的Wi-Fi网络列表。如何实现呢?如果可能的话。

谢谢。

Jake。


2
您的应用程序将在哪个平台上运行?移动设备还是桌面电脑?使用哪个操作系统? - Tom van Enckevort
Jake - 如果你想有希望得到别人回答你未来的问题,那么你需要接受他们对你之前问题的回答。 - Will Dean
@Will Dean - 是的,没错。我忘了。我现在就去做。谢谢你提醒我。 @tomlog - 适用于运行Windows 7的台式机。 - Jake
2个回答

7

是的,这是可能的。至于如何实现,这篇文章可能会帮助你入门。

此外,您可以使用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}")

2
该死。我刚找到使用Scapy的书签,你就发了这个链接:http://www.secdev.org/projects/scapy/doc/ - cji

0

使用子进程模块是完全可行的

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)  

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接