osxharvey 0.0.11
Big White Rabbit, which can hop wifi channels while sniffing for information
License: MIT
Keywords: OSX Sniffer,Channel Hopping,Wifi Sniffer,Wifi Sniffer Mac

[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/Q5Q24VZ2M)


![example branch parameter](https://github.com/kampfhamster309/osxharvey/actions/workflows/python-app.yml/badge.svg?branch=main) ![example branch parameter](https://github.com/kampfhamster309/osxharvey/actions/workflows/codeql-analysis.yml/badge.svg?branch=main) ![PyPI - Downloads](https://img.shields.io/pypi/dm/osxharvey?label=PyPi%20downloads)

# OsxHarvey 

The *Big White Rabbit* OsxHarvey is a small tool/Wifi-Sniffer to grab all the data.

Being a rabbit, Harvey hops from wifi-channel to wifi-channel to make sure he doesn't 
miss anything.

Harvey is intended to be used by security professionals for LEGAL purposes.

## This package is in pre-Alpha and therefore still under construction

### Requirements:

OsxHarvey is tested and built on Python3.9 and macOS Big Sur, it uses scapy under the hood and needs to be run with sudo privileges.

### Installation:

```commandline
pip install osxharvey
```

### Usage:

OsxHarvey can either be used in code or from the command line.

#### CLI:
```commandline
osxharvey
```

#### Code:

```python
from osxharvey import OsxHarvey

# Following params are default values

bwr = OsxHarvey(
        iface="en0", rounds=1,
        ch_from=1, ch_to=15,
        devices=False, ssids=False,
        probes=False, vendors=False,
        verbose=False
    )

# Params:

"""
:param str iface: Interface to sniff on
:param int rounds: How many times to go through the Wifi channels
:param int ch_from: Wifi channel to start sniffing on
:param int ch_to: Wifi channel to end sniffing on
:param bool devices: Write collected device/manufacturer combinations to file
:param bool ssids: Write detected ssids to file
:param bool probes: Write collected probe requests to file
:param bool vendors: Write list of unique detected vendors to file
:param bool verbose: Toggles verbose output
"""

# Disconnets the Wifi, enables monitor mode and starts scanning
# returns a dictionary with the collected data
results = bwr.start_scanning()

# Updates oui lookup data:
bwr.update_ouilookup_data()

```

## TODO:
* ~~Enable installation as command line tool~~
* Expand testing
  * ~~Setup automated testing through github~~
* Extend functionality
* Generate proper documentation
* Think about GUI
* Think about portability


# Changelog


## 0.0.11 (2021-08-27)

### New

* Added signal strength indicator and supported crypto algorithms to Beacon-Frame scans. [kampfhamster309]

### Other

* Added docstrings to observer and handler. [kampfhamster309]


## 0.0.10 (2021-08-15)

### Changes

* Added CodeQL workflow. [kampfhamster309]

### Other

* Some more refactoring. [kampfhamster309]

* Started some refactoring. [kampfhamster309]

* Update README.md. [Felix Harenbrock]

* Create codeql-analysis.yml. [Felix Harenbrock]


## 0.0.9 (2021-06-08)

### New

* Added function to update the oui lookup data. [kampfhamster309]

### Changes

* Updated changelog. [kampfhamster309]

### Other

* Fixed markdown mistake. [kampfhamster309]


## 0.0.8 (2021-06-07)

### New

* OsxHarvey can now be used from the CLI. [kampfhamster309]

### Changes

* Updated changelog. [kampfhamster309]

* Minor changes to Readme. [kampfhamster309]

* Small fixes/additions to Changelog and Readme. [kampfhamster309]

### Other

* Create FUNDING.yml. [Felix Harenbrock]

* Delete custom.md. [Felix Harenbrock]

* Update issue templates. [Felix Harenbrock]


## 0.0.7 (2021-06-06)

### New

* Added tests for packet parser. [kampfhamster309]

* Added actually useful info to README. [kampfhamster309]

* Added automated changelog. [kampfhamster309]

### Changes

* Minor additions to Readme. [kampfhamster309]

* Added state badge to README. [kampfhamster309]

* Added workflow for automated testing. [Felix Harenbrock]

* Added requirements to setup github actions for automated testing. [kampfhamster309]

* Some minor changes to README. [kampfhamster309]

* Added README and LICENSE. [kampfhamster309]

### Fix

* More fixes for automated testing. [Felix Harenbrock]

* Wip Temporarily removed check for privileges. [kampfhamster309]

* Some more tinkering for test automation. [kampfhamster309]

* Some small fixes for running Github Actions. [kampfhamster309]

* Fixed refactoring bug. [kampfhamster309]

* Fixed bug with writing collected data to files. [kampfhamster309]

### Other

* Merge branch 'main' of https://github.com/kampfhamster309/OsxHarvey. [kampfhamster309]

* Updated changelog. [kampfhamster309]

* Changelog updated. [kampfhamster309]

* Updated changelog. [kampfhamster309]

* Modified gitchangelog. [kampfhamster309]

* Applied black. [kampfhamster309]

* Applied basic package structure, versioning and basic test structure. [kampfhamster309]

* Initial commit. [kampfhamster309]