Das Paket geoip-bin unter Debian beinhaltet die Tools geoiplookup und geoipupdate.
Mitgeliefert wird die Datenbank GeoLite Country (GeoIP.dat).
Um die weitere frei verfügbare Version GeoLite City (GeoLiteCity.dat) zu nutzen sind einige weitere Schritte notwendig…
Die Beschreibung des Pakets unter Debian
GeoIP ist eine C-Bibliothek, die es dem Benutzer erlaubt, das Land einer IP-Adresse herauszufinden. Es benutzt eine datei-basierte Datenbank vom März 2002. Diese Datenbank enthält einfach IP-Blöcke als Schlüssel und Länder als Werte. Diese Datenbank sollte vollständiger und präziser sein als die Verwendung umgekehrter DNS-Lookups.
Dieses Paket enthält die Werkzeuge für die Befehlszeile zum Nachschlagen von IP-Adressen mittels der GeoIP-Bibliothek.
Als erstes muss erst einmal die Datenbank heruntergeladen und entpackt werden.
wget http://www.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz gunzip GeoLiteCity.dat.gz mv GeoLiteCity.dat /usr/share/GeoIP/ |
Das Tool geolookup gibt folgende Ausgabe bei Ausführung ohne zusätzliche Parameter.
geoiplookup Usage: geoiplookup [-v] <ipaddress |hostname> </ipaddress> |
Es existiert also anscheinend kein Parameter um eine andere Datenbank zu nutzen.
In dem Quellcode geoiplookup.c steht aber folgendes:
while (i < argc) { if (strcmp(argv[i],"-v") == 0) { version_flag = 1; } else if (strcmp(argv[i],"-f") == 0) { if ((i+1) < argc){ i++; custom_file = argv[i]; } } else if (strcmp(argv[i],"-d") == 0) { if ((i+1) < argc){ i++; custom_directory = argv[i]; } } else { hostname = argv[i]; } i++; } |
Also lässt sich eine eigene Datenbank und auch ein eigenes Datenverzeichnis als Parameter mit übergeben.
Um also die GeoLiteCity.dat zu nutzen braucht man den Aufruf
geoiplookup -f /usr/share/GeoIP/GeoLiteCity.dat <ipaddress |hostname> </ipaddress> |