Windows Tips & News

Få Geolocation-oplysninger om IP-adresse i Bash i Linux

click fraud protection
ANBEFALEDE: Klik her for at løse Windows-problemer og optimere systemets ydeevne

Nogle gange har du brug for at få geolokationsoplysningerne for en IP-adresse hurtigt. I Linux kan du bruge kraften i konsolapps til at spare din tid og hurtigt hente disse oplysninger. Lad os se, hvordan det kan lade sig gøre.

Reklame


For at få oplysninger om geografisk placering om en specifik IP-adresse skal du bruge en online-tjeneste, som giver den passende API. Det er en god idé at bruge nogle offentlige tjenester for at undgå godkendelsesproceduren og API-nøglestyringen. En sådan service er FreeGeoIP.net.

Det giver en offentlig HTTP API til at søge efter geolokation af IP-adresser. Den bruger en database med IP-adresser, der er forbundet med byer sammen med andre relevante oplysninger som tidszone, breddegrad og længdegrad. Dette er meget nyttigt.

Tjenesten kan levere søgeresultater som JSON eller XML. Så hvis vi kombinerer curl med en JSON-parser, kan vi få den nødvendige information.

Jeg vil bruge min yndlings JSON-parser, jq:

jq-i-reposDen er meget let og hurtig.

For vores tilfælde skal forespørgslen være som følger:

http://freegeoip.net/json/119.94.116.145

"Json"-delen her er det ønskede dataformat. Udover JSON kan det være XML eller CSV.

Lad os køre forespørgslen med curl og se outputtet:

geo-forespørgsel-råResultatet er råt JSON-output, som er svært at læse. For at forbedre udseendet af resultatsættet, lad os bruge jq-værktøjet. Kombiner den med krølle som følger:

krølle http://freegeoip.net/json/119.94.116.145|jq

Outputtet bliver lettere at læse:geo-forespørgsel-formateret

Ved hjælp af jq kan du filtrere outputtet og få det til kun at vise de påkrævede felter. Følgende kommando viser kun landets navn, breddegrad og længdegrad:

krølle http://freegeoip.net/json/119.94.116.145|jq -r '.land_navn,.breddegrad,.længdegrad'

geo-forespørgsel-filtreretDu kan gemme denne kommando som følgende shell-script:

#!/bin/sh. krølle -s http://freegeoip.net/json/$1|jq -r '.land_navn,.breddegrad,.længdegrad'

Næste gang du skal have oplysninger om geolokation, kan du udføre dit script sådan her:

./geo.sh IP-adresse

Det er det.

ANBEFALEDE: Klik her for at løse Windows-problemer og optimere systemets ydeevne
Ny Outlook-app til Windows erstatter Mail og Kalender i september 2024

Ny Outlook-app til Windows erstatter Mail og Kalender i september 2024

ANBEFALET: Klik her for at løse Windows-problemer og optimere systemets ydeevneMicrosoft annoncer...

Læs mere

Windows 11 version 22H2 Build 22621.1926 lander i Release Preview-kanalen

Windows 11 version 22H2 Build 22621.1926 lander i Release Preview-kanalen

ANBEFALET: Klik her for at løse Windows-problemer og optimere systemets ydeevneMicrosoft har i da...

Læs mere

KB5027303 vil sende de resterende Windows 11 Moment 3-funktioner den 27. juni

KB5027303 vil sende de resterende Windows 11 Moment 3-funktioner den 27. juni

ANBEFALET: Klik her for at løse Windows-problemer og optimere systemets ydeevneDagens patch, som ...

Læs mere