Geowifi | Search WiFi Geolocation Data By BSSID And SSID On Different Public Databases

Search WiFi geolocation data by BSSID and SSID on different public databases.

:floppy_disk: Databases:

:heavy_check_mark: Prerequisites

  • Python3.
  • In order to display emojis on Windows, it is recommended to install the new Windows terminal.
  • :warning: In order to use the Wigle service it is necessary to obtain an API and configure the utils/API.yaml file replacing the value of the “wigle_auth” parameter for the “Encoded for use” data provided by Wigle. This is necessary for searching by SSID.

:hammer_and_wrench: Installation

Use the package manager pip to install requirements.

python3 -m pip install -r requirements.txt

:mag_right: Usage

usage: geowifi.py [-h] (-s SSID | -b BSSID) [-j] [-m]


optional arguments:
  -h, --help               Show this help message and exit
  -s SSID, --ssid SSID     Search by SSID
  -b BSSID, --bssid BSSID  Search by BSSID
  -j, --json               Json output
  -m, --map                Map output
  • Search by BSSID:
python3 geowifi.py -b BSSID
  • Search by SSID:
python3 geowifi.py -s SSID

It is possible to export the results in json format using the -j parameter and show the locations on html map using -m.

:world_map: Map output example

Map output

:floppy_disk: Json output example

{ “data”:{ “bssid”:“A0:XX:XX:XX:6F:90”, “vendor”:“TP-LINK TECHNOLOGIES CO.,LTD.”, “mac_type”:“MA-L”, “wigle”:{ “lat”:00.000908922099, “lon”:00.000945220028 }, “apple”:{ “lat”:“not_found”, “lon”:“not_found” }, “openwifi”:{ “lat”:00.000808900099, “lon”:00.000845500028 }, “milnikov”:{ “lat”:“not_found”, “lon”:“not_found” } } }

:loudspeaker: Mentions

  • This project uses some of the research and code used at iSniff-GPS.
  • Thanks to Micah Hoffman for his attention and answers to my questions.
  • Thanks to kennbro for lending me his scrupulous eyes to give me feedback.

GitHub:

1 Like