Hvordan finne Linux Server Geografisk plassering i Terminal


I denne artikkelen vil vi vise deg hvordan du finner IP-adressens geografiske plassering til et eksternt Linux-system ved å bruke åpne APIer og et enkelt bash-skript fra kommandolinjen.

På internett har hver server en offentlig vendt IP-adresse, som tildeles direkte til serveren eller via en ruter som sender nettverkstrafikk til den serveren.

IP-adresser gir en enkel måte å spore serverens plassering i verden ved å bruke to nyttige APIer levert av ipinfo.io og ipvigilante.com for å koble byen, staten og landet til en server.

Installer Curl og jq

For å få IP-adressens geografiske plassering av serveren, må vi installere curl-kommandolinje-nedlasteren og jq-kommandolinjeverktøyet for å behandle JSON-dataene fra geolokaliserings-APIene.

$ sudo apt install curl jq		#Ubuntu/Debian
$ sudo yum install curl jq		#CentOS/RHEL
$ sudo dnf install curl jq		#Fedora 22+
$ sudo zypper install curl jq		#openSUSE

Finn serverens offentlige IP-adresse

For å få curl-kommandoen for å lage en API-forespørsel til ipinfo.io i terminalen din som vist.

$ curl https://ipinfo.io/ip

Få IP-posisjonsdata fra API

Når du har fått serverens offentlige IP-adresse, kan du nå sende en forespørsel til ipvigilante.coms API for å hente geolokaliseringsdataene ved å bruke følgende kommando. Sørg for å erstatte med serverens offentlige IP.

$ curl https://ipvigilante.com/<your ip address>

Dette er dataene vi får fra kommandoen ovenfor.

Automatiser API-anrop ved å bruke Bash Script

Nå for å automatisere API-prosessen, vil vi lage et skript kalt getipgeoloc.sh (du kan navngi det hva du vil) ved å bruke hvilken som helst av dine favoritt kommandolinjeredigerere.

$ vim getipgeoloc.sh

Deretter kopierer og limer du inn følgende lange kommando i den.

curl -s https://ipvigilante.com/$(curl -s https://ipinfo.io/ip) | jq '.data.latitude, .data.longitude, .data.city_name, .data.country_name'

Lagre filen og gjør skriptet kjørbart med følgende kommando.

$ chmod +x getipgeoloc.sh

Til slutt, kjør skriptet for å få din Linux IP geografiske plassering som vist i følgende skjermbilde.

$ ./getipgeoloc.sh

Skriptet ovenfor viser navnet på byen og landet sammen med de omtrentlige bredde- og lengdegradskoordinatene.

Alternativt kan du også kjøre kommandoen ovenfor uten å lagre den i et skript som vist.

$ curl -s https://ipvigilante.com/$(curl -s https://ipinfo.io/ip) | jq '.data.latitude, .data.longitude, .data.city_name, .data.country_name'

Du vil kanskje også lese disse følgende relaterte artiklene:

  1. 4 måter å finne serverens offentlige IP-adresse i Linux-terminalen
  2. Finn ut alle Live Hosts IP-adresser koblet til nettverk i Linux
  3. Finn topp 10 IP-adresser som får tilgang til Apache-nettserveren din

Det var det for nå! I denne korte artikkelen har vi vist hvordan du får din Linux IP geografiske plassering fra terminalen ved å bruke curl- og jq-kommandoene. Del dine tanker med oss eller still spørsmål via tilbakemeldingsskjemaet nedenfor.