Respuestas:
El comando es la parte fácil, la parte difícil es tener acceso a una base de datos.
Por ejemplo, Ubuntu tiene una base de datos gratuita con una herramienta de consulta de línea de comandos ( geoiplookup
) en el paquete. Pero solo muestra información del país y utiliza una base de datos estática (por lo tanto, desactualizada). Esta herramienta también puede consultar la base de datos MaxMind GeoIP, si tiene una suscripción allí.geoip-bin
Hay varias bases de datos GeoIP que puede buscar. En general, están destinados a verse a través de un navegador web, pero puede buscar un script de raspado. Por ejemplo, aquí hay un script ruby para recuperar datos de la base de datos MaxMind . Tenga en cuenta que el raspado puede estar en contra de los términos de servicio de la base de datos.
geoipupdate; geoiplookup ...
Este truco es aún mejor y no requiere ningún paquete externo:
curl ipinfo.io/23.66.166.151
curl ipinfo.io/$(dig +short yourdomain.com)
Aquí hay otra gran opción. Instrucciones aquí: http://kbeezie.com/geoiplookup-command-line/
Por ejemplo, en Centos :
$ sudo yum install GeoIP GeoIP-data
$ geoiplookup 8.8.4.4
Funciona perfectamente.
Y, por supuesto, siempre puedes configurar esto como un cron:
$ /usr/bin/geoipupdate
geoipupdate
es una herramienta de MaxMind, necesita una suscripción y la clave de licencia activada /etc/GeoIP.conf
. No pude usar la alternativa gratuita ( Recibí un código de estado HTTP inesperado de 401 ).