Hoofd Linux Krijg geolocatiegegevens van IP-adres in Bash in Linux

Krijg geolocatiegegevens van IP-adres in Bash in Linux



Laat een antwoord achter

Soms moet u snel de geolocatiegegevens voor een IP-adres opvragen. In Linux kunt u de kracht van console-apps gebruiken om tijd te besparen en deze informatie snel op te halen. Laten we eens kijken hoe het kan worden gedaan.

Advertentie


Om de geolocatie-informatie over een specifiek IP-adres te verkrijgen, moet u een online service gebruiken die de juiste API biedt. Het is een goed idee om een ​​openbare dienst te gebruiken om de autorisatieprocedure en het beheer van de API-sleutel te vermijden. Een van die diensten is FreeGeoIP.net.

Het biedt een openbare HTTP-API om de geolocatie van IP-adressen te doorzoeken. Het maakt gebruik van een database met IP-adressen die aan steden zijn gekoppeld, samen met andere relevante informatie zoals tijdzone, breedtegraad en lengtegraad. Dit is erg handig.

De service kan zoekresultaten leveren als JSON of XML. Dus als we curl combineren met een JSON-parser, kunnen we de vereiste informatie krijgen.

hoe tekst vetgedrukt te maken in Facebook-bericht

Ik zal mijn favoriete JSON-parser gebruiken, jq:

jq-in-opslagplaatsenHet is erg licht en snel.

Voor ons geval zou de vraag als volgt moeten zijn:

http://freegeoip.net/json/119.94.116.145

Het 'json'-gedeelte is hier het gewenste gegevensformaat. Naast JSON kan het XML of CSV zijn.

Laten we de query uitvoeren met curl en de uitvoer bekijken:

geo-query-rawHet resultaat is onbewerkte JSON-uitvoer die moeilijk te lezen is. Laten we de jq-tool gebruiken om het uiterlijk van de resultatenset te verbeteren. Combineer het als volgt met krul:

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

De uitvoer zal gemakkelijker te lezen zijn:geo-query-gefilterd

Met jq kun je de uitvoer filteren en ervoor zorgen dat alleen de vereiste velden worden weergegeven. De volgende opdracht geeft alleen de naam van het land, de lengte- en breedtegraad weer:

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

U kunt deze opdracht opslaan als het volgende shellscript:

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

De volgende keer dat u geolocatiegegevens nodig heeft, kunt u uw script als volgt uitvoeren:

./geo.sh IP-adres

Dat is het.

Interessante Artikelen

Editor'S Choice

Wijzig de kleur van de tekstcursor-indicator in Windows 10
Wijzig de kleur van de tekstcursor-indicator in Windows 10
De kleur van de tekstcursor-indicator wijzigen in Windows 10. De nieuwe tekstcursorindicator helpt u de tekstcursor te zien en te vinden, waar u ook bent en
Hoe lettertypen aan Word toe te voegen
Hoe lettertypen aan Word toe te voegen
U kunt lettertypen importeren in elke versie van Microsoft Word die beschikbaar is op Windows, Mac en mobiele apparaten.
Het Hosts-bestand beheren in Windows 10
Het Hosts-bestand beheren in Windows 10
https://youtu.be/abKGhz_qoMw Het hosts-bestand is een computerbestand dat door een besturingssysteem wordt gebruikt om hostnamen aan IP-adressen toe te wijzen. Het is een bestand met platte tekst, gewoonlijk hosts genoemd. In Windows 10 is dit niet anders. Wikipedia definieert
Darwins vinken evolueren in realtime op Galapagos en creëren een geheel nieuwe soort
Darwins vinken evolueren in realtime op Galapagos en creëren een geheel nieuwe soort
Ongeveer 36 jaar geleden arriveerde een vreemde vogel op een van de Galapagos-eilanden. Hij zong een ander lied dan de andere vogels, en zijn lichaam en snavel waren ongewoon groot in vergelijking met alle andere vogels. Binnenkort de vogel
Linux Mint 18 codenaam Sarah aangekondigd
Linux Mint 18 codenaam Sarah aangekondigd
Vandaag werd de codenaam voor de volgende, aankomende Linux Mint-versie aangekondigd door de ontwikkelaars. Ze deelden ook een korte routekaart met enkele interessante veranderingen die Linux Mint deze zomer zal ondergaan. Advertentie De eerste release van Linux Mint in 2016 wordt verwacht in mei of juni 2016. De codenaam is 'Sarah'. Hier is
Reset de breedte van het navigatiedeelvenster naar de standaard in Windows 10
Reset de breedte van het navigatiedeelvenster naar de standaard in Windows 10
De breedte van het navigatiedeelvenster opnieuw instellen op de standaardgrootte in Windows 10 Het navigatiedeelvenster is een speciaal gebied aan de linkerkant van de bestandsverkenner waarin de mappen en systeemlocaties zoals Deze pc, netwerk, bibliotheken enzovoort worden weergegeven. U kunt het formaat wijzigen in elke gewenste breedte. Er is echter geen optie voor
Tag Archives: over: voorkeuren
Tag Archives: over: voorkeuren