Windows Tips & News

Získajte informácie o geolokácii IP adresy v Bash v systéme Linux

click fraud protection
ODPORÚČANÉ: Kliknite sem, ak chcete opraviť problémy so systémom Windows a optimalizovať výkon systému

Niekedy potrebujete rýchlo získať informácie o geolokácii pre IP adresu. V Linuxe môžete využiť silu konzolových aplikácií na šetrenie času a rýchle načítanie týchto informácií. Pozrime sa, ako sa to dá.

Reklama


Ak chcete získať informácie o geografickej polohe o konkrétnej adrese IP, musíte použiť nejakú online službu, ktorá poskytuje príslušné rozhranie API. Je dobré použiť nejakú verejnú službu, aby ste sa vyhli autorizačnému postupu a správe kľúčov API. Jednou z takýchto služieb je FreeGeoIP.net.

Poskytuje verejné HTTP API na vyhľadávanie geolokácie IP adries. Používa databázu IP adries, ktoré sú spojené s mestami, spolu s ďalšími relevantnými informáciami, ako je časové pásmo, zemepisná šírka a dĺžka. Toto je veľmi užitočné.

Služba môže poskytovať výsledky vyhľadávania ako JSON alebo XML. Takže, ak skombinujeme curl s nejakým JSON parserom, môžeme získať požadované informácie.

Použijem svoj obľúbený analyzátor JSON, jq:

jq-in-reposJe veľmi ľahký a rýchly.

V našom prípade by mal byť dopyt nasledovný:

http://freegeoip.net/json/119.94.116.145

Časť „json“ tu predstavuje požadovaný formát údajov. Okrem JSON to môže byť XML alebo CSV.

Spustite dotaz pomocou curl a pozrime si výstup:

geo-query-rawVýsledkom je nespracovaný výstup JSON, ktorý je ťažko čitateľný. Na zlepšenie vzhľadu sady výsledkov použite nástroj jq. Skombinujte ho s curl takto:

zvlniť http://freegeoip.net/json/119.94.116.145|jq

Výstup bude ľahšie čitateľný:vo formáte geo-query

Pomocou jq môžete filtrovať výstup a nastaviť, aby zobrazoval iba požadované polia. Nasledujúci príkaz zobrazí iba názov krajiny, zemepisnú šírku a dĺžku:

zvlniť http://freegeoip.net/json/119.94.116.145|jq -r '.názov_krajiny,.zemepisná šírka,.zemepisná dĺžka'

geo-query-filtredTento príkaz môžete uložiť ako nasledujúci skript shellu:

#!/bin/sh. curl -s http://freegeoip.net/json/$1|jq -r '.názov_krajiny,.zemepisná šírka,.zemepisná dĺžka'

Keď budete nabudúce potrebovať získať informácie o geolokácii, môžete skript spustiť takto:

./geo.sh IP_adresa

To je všetko.

ODPORÚČANÉ: Kliknite sem, ak chcete opraviť problémy so systémom Windows a optimalizovať výkon systému
Aplikácia Fotky pre Windows 10 stráca možnosť synchronizovať video na OneDrive

Aplikácia Fotky pre Windows 10 stráca možnosť synchronizovať video na OneDrive

Windows 10 sa dodáva s aplikáciou Fotky, ktorá nahradila Windows Photo Viewer a Photo Gallery. Je...

Čítaj viac

Zakázať panel Miesta v dialógovom okne Súbor v systéme Windows 10

Zakázať panel Miesta v dialógovom okne Súbor v systéme Windows 10

Ako zakázať panel miest v dialógovom okne Common File v systéme Windows 10Bežné dialógové okno na...

Čítaj viac

Windows 10 zostava 18963 (20H1, rýchle zvonenie)

Windows 10 zostava 18963 (20H1, rýchle zvonenie)

Spoločnosť Microsoft dnes vydala novú zostavu 20H1 pre Insiders in the Fast Ring. Toto vydanie pr...

Čítaj viac