Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
WLAN SSID Sniffer in Python using Scapy
#!/usr/bin/env python
from scapy.all import *
ap_list = []
def PacketHandler(pkt) :
if pkt.haslayer(Dot11) :
if pkt.type == 0 and pkt.subtype == 8 :
if pkt.addr2 not in ap_list :
ap_list.append(pkt.addr2)
print "AP MAC: %s with SSID: %s " %(pkt.addr2, pkt.info)
sniff(iface="mon0", prn = PacketHandler)
@securitytube

This comment has been minimized.

@mwatts7222

This comment has been minimized.

Copy link

@mwatts7222 mwatts7222 commented Apr 17, 2013

Very nice.

@lifeofpentester

This comment has been minimized.

Copy link

@lifeofpentester lifeofpentester commented Feb 6, 2014

Hi, I wanted to know how I can leverage Scapy to tell me the Encryption type as well (WEP, WPA, WPA2, WPS Enabled). I am doing some research on Wifi security and I really need to code something using python and scapy that would tell me the ENC type. Can you help please?

@uforek

This comment has been minimized.

Copy link

@uforek uforek commented Jul 21, 2014

Quick question...

Would checking the packet for the Dot11Beacon layer be the same as checking the packet type for 0x00 and subtype for 0x08, as in your script above?

I wrote a similar script where I was getting strange results on occasion and unfortunately never logged the complete packet to debug the issue, but it appeared as the value in the packet's info var would sometimes appear empty or with unexpected ascii chars.

@adamziaja

This comment has been minimized.

Copy link

@adamziaja adamziaja commented Nov 11, 2014

If you want to sniff SSID then why you only catch beacon packets? Correct version https://github.com/adamziaja/python/blob/master/ssid_sniffer.py and probe request sniffer https://github.com/adamziaja/python/blob/master/probe_request_sniffer.py . Also please try keep your script running a long period of time and look your cpu/mem... all packets will be in memory.

@adamziaja

This comment has been minimized.

Copy link

@adamziaja adamziaja commented Nov 11, 2014

@uforek: yes, subtype 8 is beacon

@vck

This comment has been minimized.

Copy link

@vck vck commented Feb 14, 2015

is there some spesification for the network interface ? it didn't works well on mine

@ajdumanhug

This comment has been minimized.

Copy link

@ajdumanhug ajdumanhug commented Dec 14, 2015

I'm having a problem with my sniff().
I used from scapy import * instead of scapy.all import *

@chaya2090

This comment has been minimized.

Copy link

@chaya2090 chaya2090 commented Jun 13, 2016

hello evryone,
I am using mininet-wifi to send dot11 packets from station1 to station 2 but I am not able to send.May b I am making mistake in send and sniff commands...Please suggest

@lucascouto

This comment has been minimized.

Copy link

@lucascouto lucascouto commented May 26, 2018

Thank you, very much!

@dickkaas

This comment has been minimized.

Copy link

@dickkaas dickkaas commented Dec 26, 2019

Hello,

I'am rather new by using python (lotst ofe experience with other languages). I bougth a raspberry and know tries to find out if I can use my Pi for notifying if a dedicated person is in the neighbouhood. I.e. by detecting Wifi, bluetooth or other specifc signal (also for automatic opening doors; get ligths on etc.)
I loaded the code and tried to run the application.
it just gave me the error it could not find scapy
--> I did install the scapy modules by PIP
What did probably go wrong?

Dick

@MushuDG

This comment has been minimized.

Copy link

@MushuDG MushuDG commented May 9, 2020

Hello,

Thanks for this script, I'm using it for a personal project!

I don't know if it's currently obsolete or not, the if condition which tests the type and the subtype never returns positive value to me. So I changed if pkt.haslayer (Dot11): so that it becomes if pkt.haslayer (Dot11ProbeReq):

I was then able to delete the if type && subtype

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment