使用Python扫描WiFi

7

我正在寻找一个能够扫描WiFi网络并打印所有SSID的程序。我尝试使用scapy,但失败了。我正在使用pyCharm编辑器。

我尝试了以下代码:

from scapy.all import *
from scapy.layers.dot11 import Dot11

def packet_handler(pkt):        
    if pkt.haslayer(Dot11) and pkt.type == 2:        
        print(pkt.show())
scapy.sniff(iface="mon0", prn=packet_handler)

1
你好,欢迎来到StackOverflow。请花些时间阅读帮助页面,特别是Stack Overflow问题清单。目前,您应该在问题中添加代码出现的问题描述(如果适用,请添加完整的堆栈跟踪)。 - LinkBerest
1
你的代码有什么结果? - Noob123
1个回答

11
尝试使用pip install wifi进行安装,然后用它来进行扫描。
from wifi import Cell, Scheme
Cell.all('wlan0')

这将返回一个Cell对象的列表。在后台,它调用iwlist扫描并解析不友好的输出。每个Cell对象应该具有以下属性:ssid,signal,quality等等。连接时使用。

cell = Cell.all('wlan0')[0]
scheme = Scheme.for_cell('wlan0', 'home', cell, passkey)
scheme.save()
scheme.activate()

scheme = Scheme.find('wlan0', 'home')
scheme.activate()

了解更多信息请访问 https://wifi.readthedocs.io/en/latest/


7
简要说明:这个Python库只能在Linux系统上使用。 - Nikhil Baliga
2
@NikhilBaliga 那我们其他人该怎么办? - Matt-the-Marxist
你可以创建一个启动盘并安装Linux的版本,否则你将不得不尝试使用pyobjc库来弥合差距并尝试访问iOS的Airport https://pypi.org/project/pyobjc/。 - Johnny Gasyna
请注意,该库/项目已不再由开发者维护 :( - Smankusors
wifi模块不支持Windows? - CS QGB

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