Terminalda Linux serweriniň geografiki ýerleşişini nädip tapmaly


Bu makalada açyk API-ler we buýruk setirinden ýönekeý baş skript ulanyp, uzakdaky Linux ulgamynyň IP adresi geografiki ýerleşişini nädip tapmalydygyny görkezeris.

Internetde, her serwerde gönüden-göni serwere ýa-da şol serwere tor trafigini iberýän marşrutizatoryň üsti bilen köpçülige açyk IP adresi bar.

IP adresleri, şäheri, ştaty we ýurdy serwer bilen baglanyşdyrmak üçin ipinfo.io we ipvigilante.com tarapyndan üpjün edilen iki sany peýdaly API ulanyp, serweriň dünýädäki ýerleşişini yzarlamagyň aňsat usulyny üpjün edýär.

Curl we jq guruň

Serweriň IP adresi geografiki ýerleşişini almak üçin, geolokasiýa API-lerinden JSON maglumatlaryny gaýtadan işlemek üçin curl buýruk setirini göçürip alyjy we jq buýruk setiri guralyny gurmalydyrys.

$ 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

Serweriň umumy IP adresini tapyň

Görkezilişi ýaly terminalyňyzda ipinfo.io-a API haýyş etmek üçin curl buýrugyny almak.

$ curl https://ipinfo.io/ip

API-den IP ýerleşiş maglumatlary alyň

Serweriň köpçülige açyk IP adresini alanyňyzdan soň, indiki buýrugy ulanyp, geolokasiýa maglumatlaryny almak üçin ipvigilante.com-yň API-sine haýyş edip bilersiňiz. Serweriň umumy IP-si bilen çalyşmagy unutmaň.

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

Bu ýokardaky buýrukdan alýan maglumatlarymyz.

Baş skriptini ulanyp, API jaňyny awtomatlaşdyryň

Indi API amalyny awtomatlaşdyrmak üçin, halaýan buýruk setiriniň redaktorlaryndan haýsydyr birini ulanyp, getipgeoloc.sh (islän zadyňyzy atlandyryp bilersiňiz) atly skript dörederis.

$ vim getipgeoloc.sh

Soňra aşakdaky uzyn buýrugy göçürip göçüriň.

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

Faýly ýazdyryň we skripti aşakdaky buýruk bilen ýerine ýetirip bilersiňiz.

$ chmod +x getipgeoloc.sh

Netijede, aşakdaky skrinshotda görkezilişi ýaly Linux IP geografiki ýerleşişiňizi almak üçin skripti işlediň.

$ ./getipgeoloc.sh

Aboveokardaky ýazgy, takmynan giňişlik we uzynlyk koordinatlary bilen birlikde şäheriň we ýurduň adyny görkezýär.

Ativea-da bolmasa, ýokardaky buýrugy görkezilişi ýaly skriptde saklamazdan işledip bilersiňiz.

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

Şeýle hem aşakdaky degişli makalalary okamak isläp bilersiňiz:

  1. Linux Terminalynda serweriň umumy IP adresini tapmagyň 4 usuly
  2. Linux-da tora birikdirilen ähli göni ýaýlym IP adreslerini tapyň
  3. Apache web serweriňize girýän iň gowy 10 IP adresi tapyň

Häzirlikçe! Bu gysga makalada, curl we jq buýruklaryny ulanyp, Linux IP geografiki ýerleşişiňizi terminaldan nädip almalydygyny görkezdik. Pikirleriňizi biziň bilen paýlaşyň ýa-da aşakdaky seslenme formasy arkaly sorag beriň.