How Geocomply Analyzes Wi-Fi and Cell Tower Data

Cloned Boy

Professional
Messages
857
Reaction score
695
Points
93
Technical breakdown for educational purposes.

Geocomply uses Wi-Fi and Cell Tower data as part of a multi-layered geolocation check. Here's how it works:

1. Data collection​

1.1 Wi-Fi Analysis​

  • Router MAC addresses(BSSID):
    • Each Wi-Fi point has a unique identifier.
    • Geocomply compares the list of nearby BSSIDs with geodatabases (Google, Apple, proprietary).
  • Signal strength (RSSI):
    • Determines the distance to the router (the weaker the signal, the further the device).
Example of Wi-Fi data:
JSON:
{
"bssid": "00:11:22:33:44:55",
"ssid": "HomeWiFi",
"rssi": -65,
"channel": 6
}

1.2 Cell tower data​

  • MCC (country code) and MNC (operator code):
    • For example: MCC=250 (Russia), MNC=01 (MTS).
  • LAC (Location Area Code) и Cell ID:
    • Indicates a specific tower in the coverage area.
Example of cell data:
JSON:
{
"mcc": 250,
"mnc": 01,
"lac": 12345,
"cell_id": 67890,
"signal": -85
}

2. How does Geocomply check for validity?​

2.1. Triangulation​

  • Combining Wi-Fi and Cell Tower data:
    • If GPS shows Moscow, but the nearest Wi-Fi/Cell Tower is registered in Berlin → fraud flag.
  • Checking via geodatabases:
    • Google and Apple maintain global BSSID and Cell ID databases.

2.2. Anomaly detection​

  • Fake Wi-Fi hotspots:
    • If the device "sees" a Starbucks_WiFi router in a remote village → suspicion.
  • MCC and IP mismatch:
    • IP from USA, but cells (MCC=250) → Russia → VPN detection.

2.3. Dynamic Analysis​

  • Changing signals on the move:
    • Real GPS/Wi-Fi/Cell data is updated smoothly.
    • Fake GPS often gives sharp "jumps" in coordinates without changing Wi-Fi/Cell.

3. How systems bypass verification (and how Geocomply catches it)​

Bypass methodHow Geocomply Detects
Wi-Fi/Cell EmulationLack of real neighboring networks.
MCC/MNC substitutionMismatch with IP and GPS.
Static dataWi-Fi/Cell does not change when "moving".

Example code for a legal Wi-Fi test (Android API):
Java:
WifiManager wifi = (WifiManager) getSystemService(WIFI_SERVICE);
List<ScanResult> results = wifi.getScanResults();
for (ScanResult result : results) {
Log.d("WiFi", "BSSID: " + result.BSSID + ", RSSI: " + result.level);
}

4. Legal Alternatives for Research​

  1. Google Geolocation API:
    • Allows testing Wi-Fi/Cell triangulation (requires API key).
      Python:
      import requestsdata = {"wifiAccessPoints": [{"macAddress": "00:11:22:33:44:55", "signalStrength": -65}]}response = requests.post("https://www.googleapis.com/geolocation/v1/geolocate?key=YOUR_KEY", json=data)print(response.json())
  2. OpenCellID: Open database of cell towers.
  3. Wireshark: Wi-Fi RAW packet analysis (in monitoring mode).

5. Why is it difficult to cheat?​

  • For Wi-Fi: Physical access to routers in the target location is required.
  • For Cell Tower: Local operator SIM card required.
  • Dynamic algorithms: Geocomply updates databases daily.

Conclusion​

Geocomply analyzes Wi-Fi/Cell Tower data via:
✅ Comparison with geobases (Google, Apple).
✅ Triangulation with GPS/IP.
✅ Search for anomalies (static signals when "moving").

For legal research:
  • Use Google Geolocation API.
  • Explore signal patterns with Wireshark.
  • Test in emulators (Android Studio).

Want to understand in more detail how geobases work or methods for detecting fake cells? Ask!
 
Top