Geolocalisation of routers involved in a traceroute is a complex task, as all available GeoIP databases
(free or commercial) are largely inaccurate for interconnection and backbone router IPs.
The methodology used here relies on an automated inference-based algorithm that replicates the analysis
a human network engineer would perform when inspecting a traceroute.
This includes:
- Analyzing reverse DNS names to identify city names and IATA/ICAO airport codes.
- Consulting multiple GeoIP databases and checking for consistency.
- Analyzing latency to infer the most plausible location and discard implausible results.
- Analyzing the path to detect inconsistencies (loops, abnormal routing patterns).
- Analyzing the graph and assigning weights to the most likely city based on latency using Bayesian logic.
- Relocating hops to a more logical city when an inconsistency is detected.
- As a last resort, using machine-learning–assisted reverse DNS parsing to extract city information.
The algorithm operates entirely in real time and does not store any computed results in a database.
This approach is not 100% accurate and never will be.
Based on manual validation across more than 2,000 computed paths,
the observed accuracy is approximately 90% at a city or logical metro-area level.
The remaining 10% mainly involve IPs with misleading reverse DNS entries or abnormal latency behavior.
Salim Gasmi