Geowifi is a tool to Search WiFi geolocation data by BSSID and SSID on different public databases.
Databases
- Wigle
- Apple
- OpenWifi
- Milnikov
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
.
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”
}
}
}