LINUX:Géolocalisation IP
But
La géolocalisation IP est un moyen de connaitre d'où vient la requête réseau via Internet en se basant sur l'adresse IP du correspondant. A chaque pays, état, ville, ISP, sont fournit des paquets (sub-net) d'adresse IP. Cette distribution progressive en fonction des besoins est répertoriée dans des bases de données?
Installation de base
Sous Linux, procédez éventuellement à l'installation du module de base (ancienne version):
dnf install geoip perl-Text-CSV_XS perl-Net-CIDR-Lite
mais le nécessaire pour la seconde version est installé d'office (libmaxminddb). On peut aussi installer les paquets suivants pour récupérer les bases de données de la seconde version):
dnf install geolite2-asn geolite2-city geolite2-country
Mais ces bases de données sont anciennes.
MaxMind: création de compte
Pour récupérer les bases de données, il faut au préalable s'inscrire sur un site.
Installer les paquets de mise à jour des bases de données
Il faut maintenant installer les paquets qui permettent de mettre à jour les bases de données à partir du site de MaxMind.
dnf install geoipupdate geoipupdate-cron
Il installe le logiciel et ajoute une entrée dans le CRON hebdomadaire de Linux.
Configuration de cette mise à jour
Le fichier de configuration est "/etc/GeoIP.conf".
Il faut ajouter le numéro de compte et la clé de licence générés sur le site de MaxMind ainsi que les noms des bases de données GeoLite2.
# `AccountID` is from your MaxMind account. AccountID XXXXXX # `LicenseKey` is from your MaxMind account LicenseKey XXXXXXXXXXXXXXXX # `EditionIDs` is "your MaxMind account. EditionIDs GeoLite2-ASN GeoLite2-City GeoLite2-Country
Vérification
Pour vérifier, exécutez la commande sous Linux:
geoipupdate
Les bases de données se trouvent dans le répertoire '/usr/share/GeoIP". Elle se nomment; "GeoLite2-ASN.mmdb", "GeoLite2-City.mmdb" et "GeoLite2-Country.mmdb".
mmdblookup
La commande "mmdblookup" permet de retrouver les informations liées à une adresse IP.
Script Lookup
Exemple de script qui sur base d'un fichier contenant une liste d'adresses IP, il retourne dans un fichier tabulé, le pays d'origine et le nom de la machine si elle est référencée dans le DNS.