Code Monkey home page Code Monkey logo

probesniffer's Introduction

 ____  ____   ___  ____    ___ _________  ____ _____ _____  ___ ____    
|    \|    \ /   \|    \  /  _/ ___|    \|    |     |     |/  _|    \   
|  o  |  D  |     |  o  )/  [(   \_|  _  ||  ||   __|   __/  [_|  D  )  
|   _/|    /|  O  |     |    _\__  |  |  ||  ||  |_ |  |_|    _|    /   
|  |  |    \|     |  O  |   [_/  \ |  |  ||  ||   _]|   _|   [_|    \   
|  |  |  .  |     |     |     \    |  |  ||  ||  |  |  | |     |  .  \  
|__|  |__|\_|\___/|_____|_____|\___|__|__|____|__|  |__| |_____|__|\__|
                                       v3.0 by David Schütz (@xdavidhu)

Build Status Compatibility License Stars

⚠️ Warning! This project is no longer maintained and may not work as excepted.

A tool for sniffing unencrypted wireless probe requests from devices

new in 3.0:

  • Less packet drop
  • Offline / Faster vendor resolving
  • Way better performance on slower systems
  • Switching from scapy to tshark packet capture
  • Displaying / Logging BSSID's from probe requests (only if not broadcast)

features:

  • Capturing and displaying probe requests real time
  • Offline vendor resolving from MAC addresses
  • Displaying the number of devices nearby
  • Displaying the RSSIs of probe requests
  • Settable nicknames for mac addresses
  • Option to filter output by mac address
  • Displaying BSSIDs from probe requests
  • Capturing 'broadcast' probe requests (without ssid)
  • Logging the probe requests to an SQLite database file

requirements:

  • Kali Linux / Raspbian with root privileges
  • Python3 & pip3 & tshark & pyshark
  • A wireless card (capable for monitor mode)

options:

  • -h / display the help message
  • -d / do not show duplicate requests
  • -b / do not show 'broadcast' requests (without ssid)
  • -a / save duplicate requests to SQL
  • --filter / only show requests from the specified mac address
  • --norssi / do not include RSSI in output
  • --nosql / disable SQL logging completely
  • --addnicks / add nicknames to mac addresses
  • --flushnicks / flush nickname database
  • --noresolve / skip resolving mac address
  • --debug / turn debug mode on

installing:

Kali Linux / Raspbian:

$ sudo apt-get update && sudo apt-get install python3 python3-pip tshark -y

$ git clone https://github.com/xdavidhu/probeSniffer

$ cd probeSniffer/

$ python3 -m pip install -r requirements.txt

WARNING: probeSniffer is only compatible with Python 3.3 & 3.4 & 3.5 & 3.6

usage:

Make sure to put your interface into monitor mode before!

$ sudo python3 probeSniffer.py [monitor-mode-interface] [options]

disclaimer:

I'm not responsible for anything you do with this program, so please only use it for good and educational purposes.

probesniffer's People

Contributors

photoelf avatar xdavidhu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

probesniffer's Issues

issue

$ sudo apt-get update && sudo apt-get install python3 python3-pip tshark -y

$ git clone https://github.com/xdavidhu/probeSniffer

$ cd probeSniffer/

$ python3 -m pip install -r requirements.txt

im installing this lines but when i try to execute the last one i get the following

/usr/bin/python3: No module named pip.main; 'pip' is a package and cannot be directly executed

Save duplicate requests to SQL not working (option -a)

Option -a does not save duplicate probe requests to sqlite3 database

I believe this line 223 of probeSniffer.py should read
saveToMYSQL(mac_address, vendor, ssid, rssi_val, bssid)

Instead of:
saveToMYSQL(mac_address, vendor, ssid, rssi_val)

parse-tcpdump.awk

When running this script I get the following errors. I am not super familiar with regex syntax but there may be an issue. Can you please look into this.

awk: parse-tcpdump.awk: line 2: syntax error at or near ,
awk: parse-tcpdump.awk: line 7: syntax error at or near ,
awk: parse-tcpdump.awk: line 13: syntax error at or near ,

Failed to import argparse?

[!] Failed to import the dependencies... Please make sure to install all of the requirements and try again.
Traceback (most recent call last):
  File "probeSniffer.py", line 25, in <module>
    parser = argparse.ArgumentParser(
NameError: name 'argparse' is not defined

Having this error when running. Yes, I did install all requirements. Python3 version is 3.5.3, so argparse is included/already installed. Any idea what is happening?

RSSI

All of the values of RSSI are -1. Is this normal?

Truncated/empty SSIDs

This tool shows lots more devices than others I've tried. However, some SSIDs seem truncated ("direct..." in the example below):

[D] f0:34:04:b5:dc:8f (TctMobil) [-83] ==> 'SSID: '
f2:34:04:b6:ea:3e (RESOLVE-ERROR) [-86] ==> 'DIRECT-'
d0:87:e2:b4:37:ad (SamsungE) [-85] ==> 'kitl9reybhvs2i7'
d0:87:e2:b4:37:ad (SamsungE) [-85] ==> 'SSID: '
54:60:09:44:2f:ab (Google) [-83] ==> 'TP-LINK_27E1'
...

High memory usage after hours of use

I just let probeSniffer.py running for a few hours (4 hours I think) and when I return I found out that 3/4(three quarter) of my main memory (8GB) was fully used.

I killed probeSniffer.py (with CTRL-C) and I was able to get that memory back, freeing it.

Is there some memory leak, or is it the expected behavior given that it runs for hours ?

probeSniffer crashes on my device

Hello!

I've installed all the requirements, followed every required step but when I launch the script and come close to it with an iPhone there are some errors showing up. In the image below you can see them. I don't know how to solve this as I'm not familiar with Python.

screenshot

Thanks for the answer and the script!
Regards

Does not save to database

[I] Stopping...
[I] Results saved to 'DB-probeSniffer.db'

[I] probeSniffer stopped.

DB-probeSniffer.db was created, but there are no entries. Although in the terminal they are displayed

wigle.net request

How hard would it be to run data in the mysql instance through the wigle api to get geoip coords and then pop it on a map along with the AP name?

also - love this - sensepost did something similar with snoopy-ng but they don't maintain the code well.

Duplicate are not saved to DB

Even if -d is not specified, duplicates are not logged into the DB.

I don't know if it could qualify as a bug, or if it is more a feature request.

The feature request is to log the duplicates into the DB.

Network down

Is it possible to build in a try and catch or something when the network card drops? I get the following error:

!] An error occurred. Debug:
Traceback (most recent call last):
  File "./probeSniffer.py", line 341, in main
    sniff(iface=monitor_iface, prn=PacketHandler)
  File "/usr/local/lib/python3.5/dist-packages/scapy/sendrecv.py", line 590, in sniff
    p = s.recv(MTU)
  File "/usr/local/lib/python3.5/dist-packages/scapy/arch/linux.py", line 502, in recv
    pkt, sa_ll = self.ins.recvfrom(x)
OSError: [Errno 100] Network is down

If I re-run it, it works again for a minute or 2. So is it possible to implement a loop to retry without exiting the program?

Importerror

Getting import error line 13, import urllib.request as urllib2 - No module named request

hii i have a problem starting

Traceback (most recent call last):
File "probeSniffer.py", line 13, in
import urllib.request as urllib2
ImportError: No module named request

Perpetually Switching Channels Without Any Data

So I was able to get it up but it doesn't seem to find any sort of packets. I turned debug on and it just keeps switching channels perpetually. I am using a Raspberry Pi 3 with a TL-WN722N v1. Any suggestions?

image

Error on include pyshark

Hi, i have an error when i try to run the probeSniffer
I have follow the step in the decription, but this error happen:

Traceback (most recent call last):
File "probeSniffer.py", line 9, in
import pyshark
ImportError: No module named 'pyshark'

Thank you
AntonioG

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.