Windows Tips & News

Obtenez des informations de géolocalisation de l'adresse IP dans Bash sous Linux

click fraud protection
CONSEILLÉ: Cliquez ici pour résoudre les problèmes de Windows et optimiser les performances du système

Parfois, vous avez besoin d'obtenir rapidement les informations de géolocalisation d'une adresse IP. Sous Linux, vous pouvez utiliser la puissance des applications de console pour gagner du temps et récupérer rapidement ces informations. Voyons comment cela peut être fait.

Publicité


Pour obtenir les informations de géolocalisation sur une adresse IP spécifique, vous devez utiliser un service en ligne qui fournit l'API appropriée. C'est une bonne idée d'utiliser un service public pour éviter la procédure d'autorisation et la gestion des clés API. L'un de ces services est FreeGeoIP.net.

Il fournit une API HTTP publique pour rechercher la géolocalisation des adresses IP. Il utilise une base de données d'adresses IP associées aux villes ainsi que d'autres informations pertinentes telles que le fuseau horaire, la latitude et la longitude. C'est très utile.

Le service peut fournir des résultats de recherche au format JSON ou XML. Donc, si nous combinons curl avec un analyseur JSON, nous pouvons obtenir les informations requises.

J'utiliserai mon analyseur JSON préféré, jq :

jq-en-reposIl est très léger et rapide.

Dans notre cas, la requête doit être la suivante :

http://freegeoip.net/json/119.94.116.145

La partie "json" ici est le format de données souhaité. Outre JSON, il peut s'agir de XML ou CSV.

Exécutons la requête avec curl et voyons le résultat :

géo-requête-bruteLe résultat est une sortie JSON brute qui est difficile à lire. Pour améliorer l'apparence du jeu de résultats, utilisons l'outil jq. Combinez-le avec curl comme suit:

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

La sortie sera plus facile à lire :formaté par géo-requête

En utilisant jq, vous pouvez filtrer la sortie et lui faire afficher uniquement les champs requis. La commande suivante affichera uniquement le nom du pays, la latitude et la longitude :

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

géo-requête-filtréeVous pouvez enregistrer cette commande sous le script shell suivant :

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

La prochaine fois que vous aurez besoin d'informations de géolocalisation, vous pourrez exécuter votre script comme ceci :

./geo.sh adresse_IP

C'est ça.

CONSEILLÉ: Cliquez ici pour résoudre les problèmes de Windows et optimiser les performances du système
Rendre la barre des tâches totalement transparente avec le flou dans Windows 10

Rendre la barre des tâches totalement transparente avec le flou dans Windows 10

CONSEILLÉ: Cliquez ici pour résoudre les problèmes de Windows et optimiser les performances du sy...

Lire la suite

Désactiver le cache des miniatures de la barre des tâches dans Windows 10

Désactiver le cache des miniatures de la barre des tâches dans Windows 10

Comment activer ou désactiver l'enregistrement des miniatures de la barre des tâches dans le cach...

Lire la suite

Il y aura une refonte majeure de l'interface utilisateur dans Windows 10 version 21H2

Il y aura une refonte majeure de l'interface utilisateur dans Windows 10 version 21H2

CONSEILLÉ: Cliquez ici pour résoudre les problèmes de Windows et optimiser les performances du sy...

Lire la suite