Domanda

Sto lavorando a una libreria di geolocalizzazione IP che utilizza i primi tre ottetti di un indirizzo IPv4 per determinare di un utente paese, città, lat, lon, ecc funziona come un fascino.

Ma non gestisce gli indirizzi IPv6, e mi piacerebbe di farlo.

C'è un modo per trasformare un indirizzo IPv6 per ottenere l'equivalente dei primi tre ottetti di un indirizzo IPv4, o sono su un piano di numerazione del tutto diverso, che richiede una mappatura ipgeo completamente diverso?

È stato utile?

Soluzione

Il tipica allocazione IPv6 tratta di un / 32 (quattro ottetti) per un Internet fornitore (che può essere una società multinazionale), quindi / 48 (sei ottetti) a un sito fine (tipicamente un'organizzazione cliente). È possibile ottenere un punto di partenza nella lista IANA di blocchi delegati .

Questa è solo per iscrizioni trovati nelle banche dati del RIR. Assegnazione alla fine gli utenti non è in genere registrato così, il mio indirizzo attuale, 2a01:e35:8bd9:8bb0:92b:8628:5ca5:5f2b vi dirà solo che il mio sede del provider sono a Parigi (dal momento che è una società nazionale, i clienti possono essere ovunque in Francia).

Un'altra eccezione è il PI assegnamenti (Provider-indipendente), che sono in genere / 48.

Inoltre, esiste molte basi di dati di geolocalizzazione per IPv4 e, con mia conoscenze, nessuno per IPv6. Si dovrà fare tutto da soli.

Per sintesi:. Più lavoro di quanto si crede a quanto pare

Altri suggerimenti

amichevole correzione al commento di Noah (3 giugno alle 7:57) -

Per i servizi client MaxMind reparto (sottolineatura mia): ". IPv6 non è al momento supportato Ad un certo momento nel futuro, Abbiamo intenzione di realizzarlo, ma non abbiamo una data in questo momento"

IPv6 utilizza uno schema di indirizzamento completamente diverso rispetto a IPv4. Non c'è modo è possibile mappare gli indirizzi IPv6 per indirizzi IPv4, con una sola eccezione. Se vedi indirizzi IPv6 che iniziano con 2002: l'indirizzo è un indirizzo 6to4. Non vedrete un sacco di quelli in uso probabilmente ed essi vengono deprecato, ma quelli sono mappabili a IPv4.

Ogni utente di un indirizzo IPv4 pubblico può utilizzare un / 48 (65536 sottoreti) di spazio IPv6. Quegli indirizzi iniziano sempre con 2002: e le prossime due numeri esadecimali sono l'indirizzo IPv4. Quindi 2002: 5389: 1164: corrisponde a indirizzo IPv4 di mia webserver (83.137.17.100):

0x53 = 83
0x89 = 137
0x11 = 17
0x64 = 100

Ma tutti i 'normali' indirizzi IPv6 sono completamente estranei a qualsiasi indirizzo IPv4. Almeno in un modo standard. Un ISP potrebbe definire una relazione tra IPv4 e indirizzi IPv6 quando stendere IPv6 ai propri clienti. Ma non si sa di quel rapporto così sarà inutile ...

di maxmind.com servizi di geolocalizzazione e le librerie di gestire IPv6 OK. Forse la loro roba è un'opzione per voi. (Non ho alcuna affiliazione con loro.)

Dato che non sembra essere un modo semplice per farlo ancora, forse, avremo l'opportunità di fare qualcosa che non è stato fatto nel caso di IPv4 (*)

Potremmo fermarci e chiederci se questa è una buona idea.


(*) O se è stato fatto, non ha funzionato!

Se si legge un numero di IPv6, l'indirizzo e il meccanismo di transizione sulla wiki, troverete alcuni indirizzi IPv6 modelli che possono dedurre un IPv4 (SIIT, ipv4-mapped IPv6, NAT64, il 2002: * cosa scritta sopra, ecc .). Uno di loro per iniziare: http://en.wikipedia.org/wiki/IPv6_transition_mechanisms

Non vorrei contare su questi schemi di essere abbastanza popolare per fare i soliti rapporti geo, protezione contro le frodi, o rilevamento degli incidenti, ma avrei sicuramente dare la precedenza ad una ricerca geo ipv4 per tali indirizzi IPv4 dedurre oltre una ricerca ipv6 geo ( supponendo che il db ipv4 è più completo).

La mia preoccupazione con informazioni geo IPv6 è l'incredibilmente grande numero di sottoreti. Database diventerà più grande (più intervalli ip), che è previsto, ma per la stessa quantità di informazioni geo terminale, i database saranno rada e l'albero profondo è anche più tempo per scorrere (per l'implementazione che utilizza alberi binari o Radix), che implica una certa costo delle prestazioni. Geo database utilizzando le tabelle SQL con intervalli di indirizzi IP sarà probabilmente anche soffrire, dal momento che non abbiamo grande bigint di 128bits, che io sappia, per usare l'aritmetica.

Un'altra preoccupazione è i cellulari: IPv6 è stato progettato per facilitare il roaming, se non sto sbagliare. Si potrebbe cambiare torri cellulari e mantenere il vostro IP. forse anche durante la modifica della città, regione o paese. Ho un po 'dubbio che, dal momento che un indirizzo di forte affinità era lo scopo di un indirizzo MAC. Gli indirizzi IP esistono proprio per il routing scopo, ma penso che sia giusto parlare che potrebbe diventare abbastanza invariante per paralizzare la precisione di geo localizzazione, ovviamente.

Mi sento la collaborazione di agenti utente / browser a livello di applicazione (un po 'di intestazione posizione geo per esempio) è probabilmente il futuro, anche se questo può essere falsificato da persone malizioso.

C'è un protocollo chiamato Referral Whois che consente ai fornitori di pubblicare geolocalizzazione IP le informazioni e gli altri a recuperarla.

Per esempio, la mia attuale IP 2001: 470: b4ea: babe: D57: 15c8: 97b: 60c9 appartiene a Hurricane Electric negli Stati Uniti. Il server effettivo in cui il tunnel IPv4-IPv6 che uso termina si trova in Svizzera, ma sono in Austria. Pubblica tutto questo, quindi se si immette l'indirizzo IP in uno strumento di supporto RWhois come questo , troveranno i dati di contatto di HE e somwhere vicino alla parte inferiore che si vede

  

contatto: Nome: cliente privato - Hurricane Electric

     

contatto: Street-Indirizzo: Private Residence

     

contatto: Paese-Codice: AT

che è la mia posizione.

Non molti fornitori fanno pubblicare questo, e non molti strumenti di geolocalizzazione supportano, ma almeno esiste.

La maggior parte dei fornitori di geolocalizzazione IP (di quelli che supporta IPv6, alcuni ancora non) mettere questo IP in Svizzera, alcuni anche negli Stati Uniti.

geolocalizzazione è male, mmkay? Internet è location-agnostico, e ho non geolocalizzazione visto usare per qualcosa di non banale-non-male. vale a dire, le uniche buone applicazioni che ho visto (selezione della lingua) erano banali (potrebbe facilmente essere un menu a discesa). Esistono molte applicazioni male (questo video non è disponibile nel tuo paese, il targeting la mia posizione fisica per gli annunci e il monitoraggio) Non siamo in grado di scoraggiare qualcosa di simile da esistente, ma dobbiamo spingere per rendere illegale o almeno socialmente inaccettabile da usare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top