Windows Tips & News

Få Geolocation-information för IP-adress i Bash i Linux

click fraud protection
REKOMMENDERAD: Klicka här för att åtgärda Windows-problem och optimera systemets prestanda

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

Annons


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

Det tillhandahåller ett offentligt HTTP-API för att söka efter 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.

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

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

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

http://freegeoip.net/json/119.94.116.145

"Json"-delen här är det önskade dataformatet. Förutom JSON kan det vara XML eller CSV.

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

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

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

Utgången blir lättare att läsa:geo-query-formaterad

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

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

geo-query-filtreradDu kan spara det här kommandot som följande skalskript:

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

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

./geo.sh IP_adress

Det är allt.

REKOMMENDERAD: Klicka här för att åtgärda Windows-problem och optimera systemets prestanda
Du kommer snart att kunna styra Xbox-konsoler med en TV-fjärrkontroll

Du kommer snart att kunna styra Xbox-konsoler med en TV-fjärrkontroll

Microsoft arbetar outtröttligt för att tillföra nya funktioner och livskvalitetsförbättringar til...

Läs mer

Microsoft tar med nästa generations funktioner till befintliga Xbox Wireless Controllers

Microsoft tar med nästa generations funktioner till befintliga Xbox Wireless Controllers

2020 tillkännagav Microsoft nya Xbox-konsoler och uppdaterade trådlösa kontroller. Förutom att ha...

Läs mer

Kumulativa uppdateringsförhandsvisningar för Windows 10, 20 augusti 2020

Kumulativa uppdateringsförhandsvisningar för Windows 10, 20 augusti 2020

REKOMMENDERAD: Klicka här för att åtgärda Windows-problem och optimera systemets prestandaMicroso...

Läs mer