Huvud Linux Få information om geolokalisering av IP-adress i Bash i Linux

Få information om geolokalisering av IP-adress i Bash i Linux



Lämna ett svar

Ibland behöver du snabbt få information om geolokalisering för en IP-adress. I Linux kan du använda kraften i konsolappar för att spara tid och hämta denna information snabbt. Låt oss se hur det kan göras.

Annons


För att få information om geografisk plats om en specifik IP-adress måste du använda någon onlinetjänst som tillhandahåller lämpligt API. Det är en bra idé att använda någon offentlig tjänst för att undvika auktoriseringsproceduren och API-nyckelhantering. En sådan tjänst är FreeGeoIP.net.

Det ger ett offentligt HTTP API för att söka i geolokalisering av IP-adresser. Den använder en databas med IP-adresser som är associerade med städer tillsammans med annan relevant information som tidszon, latitud och longitud. Detta är mycket användbart.

Tjänsten kan tillhandahålla sökresultat som JSON eller XML. Så om vi kombinerar curl med någon JSON-parser kan vi få den information som krävs.

kan vi spela spel på Nintendo Switch

Jag kommer att använda min favorit JSON-parser, jq:

jq-in-reposDen är väldigt lätt och snabb.

För vårt fall bör frågan vara som följer:

http://freegeoip.net/json/119.94.116.145

'Json'-delen här är önskat dataformat. Förutom JSON kan det vara XML eller CSV.

Låt oss köra frågan med curl och se utdata:

geo-fråga-råResultatet är rå JSON-utdata som är svåra att läsa. För att förbättra utseendet på resultatuppsättningen, låt oss använda jq-verktyget. Kombinera den med curl enligt följande:

curl http://freegeoip.net/json/119.94.116.145|jq

Resultatet blir lättare att läsa:geofråga-filtrerad

Med jq kan du filtrera utdata och få den att endast visa de obligatoriska fälten. Följande kommando visar endast landets namn, latitud och longitud:

curl http://freegeoip.net/json/119.94.116.145|jq -r '.country_name, .latitude, .longitude'

Du kan spara det här kommandot som följande skalskript:

#! / bin / sh curl -s http://freegeoip.net/json/|jq -r '.country_name, .latitude, .longitude'

Nästa gång du behöver få information om geolokalisering kan du köra ditt skript så här:

./geo.sh IP_adress

Det är allt.

Intressanta Artiklar

Redaktionen

Hur man ställer in ett VPN på en Xbox One
Hur man ställer in ett VPN på en Xbox One
Utan tvekan är den främsta anledningen till att du behöver ett VPN på en Xbox One för att åsidosätta geografiska begränsningar och undvika censurproblem. Genom att ändra din IP-adress får du tillgång till innehåll som annars inte är tillgängligt för din region medan
Hur man delar ljud i Google Meet
Hur man delar ljud i Google Meet
Att arbeta bekvämt från ditt hem har många fördelar. Speciellt när du får använda fantastiska konferensappar som Google Meet. Men när du delar din skärm kommer du att märka att ljudfunktionen kanske saknas.
Hur man gör en brandmotståndsdryck i Minecraft
Hur man gör en brandmotståndsdryck i Minecraft
Du kan göra brandmotståndsdrycker i Minecraft för att få immunitet mot eld och lava, men du måste ge dig in i Nederländerna för att få ingredienserna.
Aktivera förhandsvisningar av flikminiatyrer i Google Chrome
Aktivera förhandsvisningar av flikminiatyrer i Google Chrome
Så här aktiverar du förhandsgranskningar av flikminiatyrer i fliken Google Chrome. Från och med Google Chrome 78 innehåller webbläsaren nya flikverktygstips. De inkluderar nu
Mario i augmented reality ser ut som en Nintendo-syrad resa
Mario i augmented reality ser ut som en Nintendo-syrad resa
Utvecklaren Abhishek Singh har ett skick för fantasifulla, lite udda projekt, från en 20-fots drakformad VR-controller till en personlig assistent som kommunicerar i GIF. Hans senaste är en augmented reality-rekreation av den första nivån i Super
Hur man stänger av och inaktiverar Windows 11-brandväggen
Hur man stänger av och inaktiverar Windows 11-brandväggen
Du kan stänga av och inaktivera Windows 11-brandväggen via nätverks- och säkerhetsinställningarna, men du bör bara göra det om du har en annan brandvägg eller en bra anledning att arbeta utan brandvägg.
Taggarkiv: Linux Mint 18.2
Taggarkiv: Linux Mint 18.2