A következő cikkben megnézzük, hogyan tudunk megkapja nyilvános IP-címünk földrajzi helyét. Erre képesek leszünk nyílt API-k és egy egyszerű bash szkript segítségével, mind az Ubuntu terminálról. Ma minden, az internethez csatlakozó eszköz rendelkezik IP-vel, amely a világ azonosítója volt. Ezt a címet fogjuk használni az Ön tartózkodási helyének megszerzéséhez.
Amikor böngészünk az interneten, minden szervernek van nyilvános IP címe, ezt közvetlenül a kiszolgálóhoz vagy egy útválasztón keresztül rendelik hozzá, amely hálózati forgalmat küld az adott szerverre. Az IP-címek egyszerű módon követik nyomon a szerver földrajzi helyét a világon. Ez úgy érhető el, hogy két API-t használ ipinfo.io e ipvigilante.com amellyel megszerezhetjük a szerver országát, a város nevét és földrajzi koordinátáit.
A következő sorokban meglátjuk, hogyan szerezd meg a az IP földrajzi helye a terminálról, segítve a göndörítést és a jq-t. A fő cél és felhasználás USE a fájlátvitelek vagy a felügyelet nélküli műveletsorozatok automatizálása jq egy nagyon magas szintű funkcionális nyelv, amely támogatja a JSON adatfolyamok visszakövetését és kezelését.
Az IP földrajzi helye a terminálról
Telepítse a Curl és a jq programokat
Az IP-cím földrajzi helyének megszerzéséhez meg kell tennünk göndör telepítése és jq parancssori eszköz a geolocation API-kból nyert JSON-adatok feldolgozásához. Mindkettő telepítéséhez a terminálba (Ctrl + Alt + T) be kell írni a parancsot:
sudo apt install curl jq
Szerezze meg a szerver nyilvános IP-címét
Mielőtt megszerezné a helyet, meg kell ismeri annak a szervernek a nyilvános IP-címét, amelyhez kapcsolódunk. Ehhez a következő cURL parancsot fogjuk használni, amellyel kérést fogunk küldeni ipinfo.io a terminálról (Ctrl + Alt + T) az alábbiak szerint:
curl https://ipinfo.io/ip
Az API segítségével szerezze be a rendszere IP-címének földrajzi helyét
Az előző parancs végrehajtása után megkapjuk a nyilvános IP-címet. Ha ez meglesz, képesek leszünk rá kérjen földrajzi helyadatok beszerzését az ipvigilante.com címre. Ehhez a következő parancsot fogjuk használni a terminálban (Ctrl + Alt + T). Fontos, hogy a nyilvános IP-t kicseréljük az előző paranccsal kapott IP-re.
curl https://ipvigilante.com/la-dirección-IP
Automatizálja az API hívást a Bash Script segítségével
A kommunikációs folyamat automatizálása az API-val, amelyre megyünk hozzon létre egy parancsfájlt a nevű fájl belsejében ipgeolocator.sh (a név nem kötelező). Létrehozásához bármilyen szerkesztőt használhatunk a parancssorhoz, amellyel mindegyik a legkényelmesebbnek érzi magát.
vim ipgeolocalizador.sh
Amikor megnyílik a szerkesztő, bent csak muszáj illessze be a sort lásd alább:
curl -s https://ipvigilante.com/$(curl -s https://ipinfo.io/ip) | jq '.data.latitude, .data.longitude, .data.city_name, .data.country_name'
A beillesztés után csak el kell mentenie a fájlt és kilép a szerkesztőből. Ezek után szükség lesz rá tegye a szkriptet futtathatóvá. Ezt úgy fogjuk megtenni, hogy ugyanabba a terminálba írjuk:
chmod +x ipgeolocalizador.sh
Ezen a ponton megtehetjük futtassa a szkriptet az alábbiak szerint, hogy megkapja az IP földrajzi helyét nyilvános:
./ipgeolocalizador.sh
A fenti szkript megjeleníti a város és az ország nevét, valamint a hozzávetőleges szélességi és hosszúsági koordinátákat. Az igazság az Nem ismerem az esetleges hibahatárt.
Ha nem akarja menteni a fenti hosszú parancsot egy fájlba, ugyanazt a parancsot közvetlenül a terminálban is futtathatja (Ctrl + Alt + T):
curl -s https://ipvigilante.com/$(curl -s https://ipinfo.io/ip) | jq '.data.latitude, .data.longitude, .data.city_name, .data.country_name'
Ebben a rövid cikkben láttuk, hogyan lekérni az IP földrajzi helyét az Ubuntuból a terminál, valamint a curl és jq parancsok használatával. További információkat kaphat jq vagy kb USE megfelelő Wikipédia-cikkeikben.