/geowifi

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

Primary LanguagePython

πŸ“‘πŸ’˜πŸŒŽ | geowifi

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

geowifi

πŸ’Ύ Databases:


βœ”οΈ Prerequisites

  • Python3.
  • In order to display emojis on Windows, it is recommended to install the new Windows terminal.
  • ⚠️ 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.

πŸ› οΈ Installation

Use the package manager pip to install requirements.

python3 -m pip install -r requirements.txt

πŸ”Ž 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.

πŸ—ΊοΈ Map output example

Map output

πŸ’Ύ 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"
      }
   }
}

πŸ“’ 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.