WiGLE - Wireless Geographic Logging Engine
2 min readArticle
WiGLE (wigle.net) is a crowdsourced database of wireless networks mapped by GPS location. People run wardriving tools (Kismet, NetStumbler, WiGLE Android app) and upload their findings. The database has hundreds of millions of networks worldwide. Extremely useful for OSINT and pre-engagement recon.
What You Can Do with WiGLE
- Look up wireless networks at a specific address or GPS coordinate
- Find historical AP data for a target location (even if currently offline)
- Identify SSIDs used by a target organization across different locations
- Track a specific MAC address's location history
- Understand the wireless environment before a physical engagement
Accessing WiGLE
- Web UI: https://wigle.net — free account for basic queries
- API: REST API for programmatic access
- Mobile app: WiGLE WiFi Wardriving (Android) for contributing data
Web UI Queries
- Go to https://wigle.net
- Create a free account
- Use the map or search to look up:
- Address/location
- SSID
- BSSID (MAC address)
- Network name patterns
API Usage
python
import requests
from base64 import b64encode
# Auth header (base64 encoded API token)
api_name = "your_api_name"
api_token = "your_api_token"
auth = b64encode(f"{api_name}:{api_token}".encode()).decode()
headers = {"Authorization": f"Basic {auth}"}
# Search by SSID
response = requests.get(
"https://api.wigle.net/api/v2/network/search",
headers=headers,
params={
"ssid": "TargetCompanyWifi",
"onlymine": False,
"freenet": False
}
)
data = response.json()
for network in data['results']:
print(f"SSID: {network['ssid']}")
print(f"BSSID: {network['netid']}")
print(f"Location: {network['trilat']}, {network['trilong']}")
print(f"Encryption: {network['encryption']}")
print()
CLI with curl
bash
# Set your credentials
API_NAME="your_api_name"
API_TOKEN="your_token"
AUTH=$(echo -n "$API_NAME:$API_TOKEN" | base64)
# Search by SSID
curl -s -H "Authorization: Basic $AUTH" \
"https://api.wigle.net/api/v2/network/search?ssid=TargetSSID" | jq .
# Search by BSSID
curl -s -H "Authorization: Basic $AUTH" \
"https://api.wigle.net/api/v2/network/search?netid=AA:BB:CC:DD:EE:FF" | jq .
OSINT Use Cases
- Pre-engagement recon: Find target's SSIDs and APs before arriving on-site
- Location verification: Confirm a target's physical location using their AP BSSIDs
- Historical data: See what networks existed at a location in the past
- Client detection: Match discovered SSIDs to a company
- Security assessment scope: Enumerate all APs belonging to an organization
WiGLE + Kismet Integration
Kismet can automatically upload war drive data to WiGLE:
shell
# In kismet.conf
wigle_api_key=your_api_key
wigle_enabled=true
Things to Note
- Data is crowdsourced — accuracy varies
- Some data is old (networks may have moved/changed)
- Free accounts have query limits — API paid tiers have more
- All data uploaded is public by default
- Privacy concerns: your home AP is probably in here
See Also
- kismet-wifi-discovery - Wardriving tool that feeds WiGLE
- war-driving/index - War driving overview
- shodan.io - Similar concept but for internet-facing services
techzonesite.comUnlock Your IT Potential