Python scan for WiFi
<p>I was searching for a program that can scan for WiFi networks and print all of the SSIDs. I tried with scapy but I failed. I am using the pyCharm editor. </p>

<p>I tried this code:</p>

<pre><code>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)
</code></pre>

<p>try <code>pip install wifi</code> then for scanning use</p>

<pre><code>from wifi import Cell, Scheme
Cell.all('wlan0')
</code></pre>

<p>This returns a list of Cell objects. Under the hood, this calls iwlist scan and parses the unfriendly output. Each cell object should have the following attributes: ssid, signal, quality and more.
and for connecting use</p>

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

scheme = Scheme.find('wlan0', 'home')
scheme.activate()
</code></pre>

<p>for more info goto <a href="https://wifi.readthedocs.io/en/latest/" rel="nofollow">https://wifi.readthedocs.io/en/latest/</a></p>

python wifi python-3.5 scapy sniffer