| |
Click me to dismiss |
Methodology
Geolocalisation of routers involved in a traceroute is a complex task as all GeoIP databases available (free or paid versions)
are totally inaccurate on interco routers IPs.
The methodology used here is an AI algorithm that performs the same tasks a human would do when analyzing a traceroute.
This includes:
- Analyzing the reverse name to try to find a city name.
- Analyzing the reverse name to try to find a IATA code.
- Analyzing the reverse name to try to find an ICAO code.
- Consult several GeoIP databases to check if they match.
- Analyzing the latency to find the most logical city.
- Analyzing the latency to discard errors.
- Analyzing the path to detect inconsistencies (loops,weird paths).
- Analyzing the graph shape and assign weight to the most logical nodes based on country and latency (Bayesian logic).
- Relocating hops to the most logical city when an error is detected.
- Using a Deep learning model with Pytorch when everything failed
The algorithm is executed in real time and does not involve database storing, thus I do not have a database to share.
Of course this is not 100% accurate and it will never be.
Currently the accuracy manually measured on more than 2,000 computed paths is around 90%.
The 10 remaining % generally involves IPs with no/wrong reverse or with weird latencies.
Salim
Credits:
- Geotraceroute is a tool written by Gasmi Salim.