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:
- 4 måter å finne serverens offentlige IP-adresse i Linux-terminalen
- Finn ut alle Live Hosts IP-adresser koblet til nettverk i Linux
- 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.