Du har sikkert lagt merke til ulike tjenester på Internett som automatisk vet omtrent hvor du er i verden. Fra musikk- og videostrømtjenester til nettbutikker bruker disse tjenestene en teknikk, kalt IP-geolokasjon, som samsvarer med din omtrentlige fysiske plassering med IP-adressen du bruker. Når du kobler deg til Internett, tilordnes enheten en IP-adresse fra et basseng av adresser som er tildelt de forskjellige telekommunikasjonsbedriftene. Måten disse adressene fungerer på, kan være ganske komplisert, men fordi de er tildelt i blokker, er det mulig å bygge en database som kartlegger en adresseblokk til et land eller til og med et bestemt område eller en by.

Den gode nyheten er at å gjøre disse geolocation-oppslagene ikke bare for de store bedriftene og mega-nettstedene. Det finnes en rekke gratis online-tjenester og til og med et kommandolinjeverktøy for Linux som lar deg slå opp IP-adresser og få informasjon om hvor adressen er tildelt. Dette kan være svært nyttig når du undersøker en mistenkelig e-post eller merkelige kommentarer igjen på en blogg. Det er også nyttig når du bruker tjenester som maskerer din IP-adresse, som et VPN, for å sikre at de jobber som annonsert.

For å slå opp en IP-adresse fra Linux-kommandolinjen, må du installere "geoiplookup" -verktøyet. For Ubuntu og Raspbian bruk:

 sudo apt-get install geoip-bin 

Hvis du vil slå opp en IP-adresse, skriver du inn følgende:

 geoiplookup 8.8.4.4 

Erstatt 8.8.4.4 med adressen du vil slå opp. I dette eksemplet er adressen 8.8.4.4 (som er en av Googles DNS-servere) korrekt rapportert som en adresse fra USA.

Databasen som leveres med Linux-distribusjonen din, er trolig utdatert. Du kan sjekke for å se når den ble opprettet ved hjelp av -v flagget:

 geoiplookup -v 8.8.4.4 

I dette tilfellet ser vi at databasen ble opprettet i august 2013.

Geolocation-databasen leveres av MaxMind, og selskapet oppdaterer sine databaser hver måned. Du kan oppdatere databasen ved å laste ned de nyeste filene direkte fra MaxMind.com.

 wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz gunzip GeoIP.dat.gz sudo cp GeoIP.dat / usr / del / GeoIP / 

Du kan nå spørre databasen igjen for byggedato:

 geoiplookup -v 8.8.4.4 

Verktøyet rapporterer nå at databasen ble opprettet i april 2014.

MaxMind gir også en bydatabase, som i mange tilfeller gir større nøyaktighet. For å installere det, bruk følgende kommandoer for å laste ned databasen og kopiere den til GeoIP-katalogen:

 wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz gunzip GeoLiteCity.dat.gz sudo cp GeoLiteCity.dat / usr / del / GeoIP / 

For å få informasjon om byen, må du fortelle " geoiplookup " -verktøyet for å bruke geoiplookup :

 geoiplookup -f /usr/share/GeoIP/GeoLiteCity.dat 71.3.9.242 

Denne gangen forteller geoiplookup oss adressen er i Florida og mer spesifikt i Summerfield, Florida.

Online service

I tillegg til geoiplookup-verktøyet finnes det en rekke online-tjenester som kan gi geolokaliseringsinformasjon. Hvis du for eksempel åpner geoiptool.com i nettleseren din, vil nettstedet gi deg informasjon om din nåværende plassering.

Et annet nettsted freegeoip.net har en API som er designet for å bli brukt i backend av nettsteder eller fra applikasjoner. Det kan imidlertid også brukes fra kommandolinjen ved å bruke " curl ." Først må du sørge for at du har " curl " installert:

 sudo apt-get install krøll 

For å få informasjon om geolokalisering i XML-format, bruk:

 krølle freegeoip.net/xml/72.4.9.242 

XML-utgangen viser at IP-adressen 72.4.9.242 brukes i Evansville, Indiana. Du kan også få de samme dataene i CSV- eller JSON-format ved å endre "xml" -delen av nettadressen til henholdsvis "csv" eller "json".

Geoiplookup-verktøyet og de elektroniske tjenestene kan være svært nyttige. Hvis du har spørsmål om bruk av dem, vennligst spørg i kommentarfeltet nedenfor.