Geolocalizzare IP: cosa significa e come si fa

Spieghiamo cosa significa e come si fa a geolocalizzare IP. Tutti i migliori strumenti per stabilire dov'è fisicamente posizionato un dispositivo client che si collega con un'applicazione Web.

A ogni dispositivo direttamente collegato alla rete Internet è assegnato un indirizzo IP pubblico: tale indirizzo permette di raggiungere il dispositivo da qualunque altro host remoto. I sistemi collegati a una rete LAN condividono, grazie al meccanismo noto come NAT (Network Address Translation), uno stesso IP pubblico che è assegnato al router principale. Ogni dispositivo collegato in rete locale, si presenta ai sistemi remoti con l’IP pubblico assegnato al router ma internamente alla rete usa un IP privato.

Geolocalizzazione e IP pubblico

Abbiamo già visto come trovare il proprio indirizzo IP: tra i tanti strumenti per leggere l’IP pubblico, suggeriamo ipify.org che è in grado di rilevare e mostrare sia indirizzi IPv4 che IPv6. “Ma se non volessi cercare il mio IP bensì quello di un altro utente?”, è uno dei quesiti più “gettonati”.

Come abbiamo già visto tempo fa nell’articolo contenente le indicazioni su come scoprire dove si trova una persona dall’indirizzo IP, l’indirizzo IP di altri utenti si può trovare in molti modi, ad esempio esaminando le intestazioni (header) dei messaggi di posta (non è un suggerimento applicabile sempre e in ogni caso…) oppure, spesso, analizzando il traffico di rete con uno strumento come WireShark.

Geolocalizzare IP significa stabilire la posizione geografica associata a un indirizzo IP pubblico: tutte le più grandi aziende (e non solo) utilizzano (anche) questo approccio per stimare dove si trova fisicamente un utente.

I servizi online che usano strumenti per geolocalizzare IP: perché lo fanno

Ad esempio, i risultati della ricerca Google vengono personalizzati sulla base della posizione geografica dell’utente: in questo modo il motore di ricerca può fornire risultati più pertinenti a seconda di dove si trova una persona.

Le principali piattaforme di streaming video, inoltre, usano la geolocalizzazione IP per stabilire se il client connesso ha o meno diritto di accedere ai contenuti. Come abbiamo visto nell’articolo sulla portabilità transfrontaliera, infatti, i vari network che offrono servizi di streaming multimediale controllano anche l’indirizzo IP associato al dispositivo dell’utente: se appartiene, ad esempio, a un Paese diverso dall’Italia – per motivi di licenza – sono mostrati contenuti diversi oppure l’accesso non è affatto permesso (o viceversa viene consentito, a seconda degli accordi commerciali che ha in essere ciascuna piattaforma).

Da qui deriva il grande interesse da parte di una larga fetta di utenti per i servizi VPN: spesso osteggiati dalle piattaforme di streaming online, le VPN di terze parti consentono generalmente di superare le limitazioni geografiche e sbloccare l’accesso a contenuti normalmente non fruibili dall’Italia o da altre nazioni.

C’è però anche il rovescio della medaglia: la geolocalizzazione degli indirizzi IP non sempre è precisa e attendibile. Lo sanno bene gli abbonati ad alcune piattaforme di streaming italiane che nelle scorse settimane si sono trovati improvvisamente nell’impossibilità di fruire dei servizi regolarmente pagati. Perché? Perché gli indirizzi IP pubblici loro assegnati dai rispettivi operatori di telecomunicazioni venivano riconosciuti come stranieri (quindi non più italiani) dalle varie piattaforme video online.

La geolocalizzazione IP è infatti divenuta sempre più complicata: il motivo lo spiegheremo in breve tra poco.

Come funzionano i servizi di geolocalizzazione IP

I servizi di geolocalizzazione IP utilizzano una varietà di tecniche per determinare la posizione geografica associata a un determinato indirizzo IP. In generale, questi servizi raccolgono informazioni su come le diverse reti di computer sono collegate tra loro e sulle modalità con le quali esse risultano organizzate geograficamente. I servizi di geolocalizzazione IP possono utilizzare le seguenti tecniche:

  • Database di geolocalizzazione: Questo approccio consiste nell’utilizzo di database che contengono informazioni sulla posizione geografica di una vasta gamma di indirizzi IP. Questi database possono essere creati utilizzando informazioni provenienti da registri regionali, fornitori di servizi Internet, fornitori di contenuti e altre fonti.
  • Tracciamento delle rotte (routing): Questa tecnica utilizza le informazioni sulle rotte di rete utilizzate dai pacchetti IP per determinare la posizione geografica associata a un indirizzo IP pubblico. Ad esempio, il servizio di geolocalizzazione può analizzare le informazioni di routing utilizzate dai pacchetti IP tra un computer di origine e un server remoto per determinare la posizione geografica approssimativa dell’indirizzo IP. Del tracerouting parliamo ad esempio nell’articolo in cui spieghiamo come indagare sui pacchetti persi o packet loss.
  • Geolocalizzazione basata sul browser: In questo caso vengono utilizzati i dati condivisi dal browser Web dell’utente per determinarne la posizione geografica approssimativa. Se l’utente acconsente a inviare questa informazione, può essere direttamente presa in carico la posizione GPS fornita dal browser, ove disponibile (ad esempio sui dispositivi mobili).

L’attendibilità del risultato di geolocalizzazione IP può variare a seconda della tecnica utilizzata e della qualità dei dati disponibili. In generale, i servizi di questo tipo sono in grado di determinare la posizione geografica approssimativa di un indirizzo IP con un’approssimazione compresa tra pochi chilometri e diverse centinaia di chilometri.

Perché è utile geolocalizzare IP

Geolocalizzare IP è comunque utile in molteplici circostanze:

  • Controllo degli accessi: le aziende possono utilizzare la geolocalizzazione per limitare l’accesso alle loro risorse solo ai dispositivi che si trovano in determinate aree geografiche.
  • Analisi del traffico: i gestori di siti Web possono utilizzare la geolocalizzazione per ottenere informazioni sulla provenienza dei visitatori, ad esempio per fini statistici o pubblicitari; oppure per impedire registrazioni o accesso ai servizi da Paesi dai quali provengono spammer o attacchi.
  • Sicurezza: la geolocalizzazione IP può essere utilizzata per rilevare attività sospette o intrusioni da parte di indirizzi  appartenenti ad aree geografiche non autorizzate.

Come localizzare IP: i migliori servizi online

Esistono diversi strumenti e servizi online che consentono di geolocalizzare un indirizzo IP: alcuni di questi sono attivamente utilizzati dalle piattaforme streaming e da tanti altri soggetti per stabilire la posizione geografica del client.

Tra i migliori in assoluto c’è MaxMind GeoIP2: basta incollare, nell’apposito riquadro, l’elenco degli indirizzi IP da verificare per ottenere in pochi secondi la corrispondente posizione geografica stimata. Il servizio Locate My IP Address, offerto sempre da MaxMind, permette di localizzare il proprio indirizzo IP e di verificare l’attendibilità del meccanismo di controllo.

In alternativa, suggeriamo l’utilizzo di IPInfo.io, un altro servizio che fornisce informazioni sulle proprietà di un indirizzo IP, tra cui la posizione geografica approssimativa, il nome del provider di servizi Internet (ISP) corrispondente e altro ancora. L’applicazione Web restituisce il responso anche in formato JSON: gli sviluppatori possono così utilizzare l’output in tempo reale nelle rispettive applicazioni.

Database per la geolocalizzazione IP

Geolocation Database è uno strumento disponibile gratuitamente online che permette di stimare, a grandi linee, la posizione di un indirizzo IP pubblico. Nella pagina si trovano due fogli elettronici piuttosto pesanti in formato CSV che contengono i riferimenti a tutti i blocchi di IP e la loro corrispondente posizione geografica.

Geolocalizzare IP con un foglio elettronico CSV

Un foglio elettronico si riferisce agli IPv4 mentre il secondo agli indirizzi IPv6. Per ogni record sono presenti le informazioni in figura e l’ultima colonna restituisce un indizio sull’accuratezza della stima.

Inutile dire che questi dati, continuamente aggiornati sul sito, possono essere importati in un database e utilizzati per effettuare controlli in proprio sulla posizione degli IP client che si collegano alle proprie app.

Dal punto di vista dello sviluppatore, un modo ancora migliore che restituisce risultati più precisi consiste nell’appoggiarsi a un worker Cloudflare. Tutte le richieste inviate a Cloudflare contengono infatti informazioni approssimative sulla posizione IP del client. Questo dato può essere agevolmente utilizzato nelle proprie applicazioni. Ne abbiamo parlato nell’articolo dedicato alle applicazioni Web serverless.

Perché la geolocalizzazione IP può fallire

Dicevamo in precedenza che la geolocalizzazione IP talvolta può restituire risultati inadeguati sbagliando completamente nell’identificare la posizione fisica degli utenti. Perché?

Innanzi tutto, sempre più operatori utilizzano il meccanismo CGNAT per condividere lo stesso indirizzo IP tra più soggetti che si trovano in luoghi fisici completamente diversi. Molti provider, inoltre, utilizzano più gateway che possono essere correlati a determinate aree geografiche.

data center che forniscono servizi cloud stanno registrando una rapida crescita; di conseguenza, gli operatori a volte diventano “creativi” quando si tratta di utilizzare gli indirizzi IP. Possono spostare gli indirizzi IP tra data center secondo le necessità, cosa che potrebbe non riflettersi nei database di geolocalizzazione.

Inoltre, gli utenti che fanno uso di servizi VPN di terze parti escono sulla rete Internet con l’indirizzo IP del nodo di uscita della VPN (che è diverso dall’IP pubblico assegnato al dispositivo dell’utente da parte dell’operatore di telecomunicazioni).

Nel caso di alcune VPN, è possibile accertare che l’utente sta effettivamente usando un servizio di questo tipo ma non sempre è possibile stabiliarlo con certezza.

Ti consigliamo anche

Link copiato negli appunti