Comando de consola IP a país

38

¿Existe un comando de consola que toma una dirección IP como entrada y muestra su información geográfica como ciudad, país, ISP, etc.?

BuZain
fuente

Respuestas:

27

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 Instalar 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.

Gilles 'SO- deja de ser malvado'
fuente
1
acabo de usar ubuntu geoiplookup y es lo suficientemente bueno.
BuZain
CentOS # yum install GeoIP
zmonteca 01 de
@StephenRauch Gracias, pero utilice el reemplazo oficial para el enlace bit.ly roto: hostmar.co/software-small
Gilles 'SO- deja de ser malvado'
1
@StephenRauch El enlace apt solo funciona con un complemento de navegador que es parte de la instalación predeterminada de Ubuntu pero rara vez se instala de otra manera.
Gilles 'SO- deja de ser malvado'
Estos también están en Homebrew para Mac:geoipupdate; geoiplookup ...
Pysis
58

Este truco es aún mejor y no requiere ningún paquete externo:

curl ipinfo.io/23.66.166.151
zmonteca
fuente
2
En caso de que ipinfo.io se desconecte algún día, ifconfig.me proporciona un servicio similar (más una API similar a REST). Pero ifonfo.io parece mucho más rápido.
cedbeu
1
$ host yourdomain.com | corte -d '' -f 4 | curl ipinfo.io/$1
zmonteca
2
ipinfo.io es gratuito para 1000 solicitudes / día (consulte su documentación de precios ).
Matthieu
44
Otra alternativa:curl ipinfo.io/$(dig +short yourdomain.com)
John Red
2
Si alguien llega al límite en la API ipinfo.io (¿tiene suerte?), También hay freegeoip.net que tiene un límite de 15,000 solicitudes por hora alucinante. (Que bajo el capó parece estar ejecutando el geoiplookup de las otras respuestas)
samthecodingman
8

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
zinger
fuente
geoipupdatees 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 ).
Pablo A
-1

O usa whois

$ whois 8.8.8.8 |grep country -i -m 1 |cut -d ':' -f 2 |xargs US

Daniel
fuente