通过 BSSID 和 SSID 在多个公共数据库中搜索 WiFi 地理位置数据。

该工具在 gw_utils 文件夹中包含一个名为 config.yaml 的配置文件。以下分别说明每个配置参数以及如何获取必要的信息:
要使用 Wigle 服务,需要获取 API 并配置 gw_utils/config.yaml 文件,将 "wigle_auth" 参数的值替换为 Wigle 提供 的 "Encoded for use" 数据。
要使用 Google 地理定位服务,需要获取 API 并配置 gw_utils/config.yaml 文件,将 "google_api" 参数的值替换为提供的 "API"。Google 每月提供 200 美元的免费额度。
要使用 Combain API,需要获取 API 并配置 gw_utils/config.yaml 文件,将 "combain_api" 参数的值替换为提供的 "API"。Combain 提供免费试用和付费方案。
首先在本地克隆 GitHub 仓库,然后进入 geowifi 文件夹。 系统上必须安装 git。
git clone https://github.com/GONZOsint/geowifi
cd ./geowifi/
另一种方法是使用 https://github.com/GONZOsint/geowifi/archive/refs/heads/main.zip,然后解压下载的文件。
注意:使用包管理器 pip 安装依赖项。
virtualenv geowifi
source geowifi/bin/activate
python3 -m pip install -r requirements.txt
docker build -t geowifi:latest .
usage: geowifi.py [-h] [-s {bssid,ssid}] [-o {map,json}] identifier
搜索具有特定 BSSID 或 SSID 的网络信息。
positional arguments:
identifier 要搜索的网络的 BSSID 或 SSID。
options:
-h, --help 显示此帮助信息并退出
-s {bssid,ssid}, --search-by {bssid,ssid}
指定按 BSSID 或 SSID 搜索(默认:bssid)
-o {map,json}, --output-format {map,json}
指定搜索结果的输出格式(默认:map)
python3 geowifi.py -s bssid <input>
python3 geowifi.py -s ssid <input>
可以使用 -o json 参数将结果导出为 json 格式,使用 -o map 在 html 地图上显示位置。
docker run --rm geowifi:latest
docker run --rm geowifi:latest -s bssid <input>
docker run --rm geowifi:latest -s ssid <input>

[
{
"module": "google",
"bssid": "C8:XX:XX:XX:5E:45",
"latitude": 33.571844,
"longitude": -1XX.XXXXX97
},
{
"module": "combain",
"error": "Not enough witooth"},
{
"module": "mylnikov",
"error": "Object was not found"
},
{
"module": "vendor_check",
"vendor": "Cisco-Linksys, LLC"},
{
"module": "apple",
"bssid": "C8:XX:XX:XX:5E:45",
"latitude": 33.57198715,
"longitude": -1XX.XXXXX12},
{
"module": "wigle",
"bssid": "C8:XX:XX:XX:5E:45",
"ssid": "Vertigo",
"latitude": 33.60998154,
"longitude": -1XX.XXXXX22},
{
"module": "wifidb",
"bssid": "C8:XX:XX:XX:5E:45",
"ssid": "Vertigo",
"latitude": 33.6109,
"longitude": -1XX.XXXXX533
}
]
用于启用或禁用请求中的 SSL 验证过程。