32 votos

¿Cómo obtener la geolocalización de una dirección IP en Terminal?

¿Es posible obtener la geolocalización de una dirección IP en Terminal?

No estoy seguro de lo que significan los números en una dirección IP, pero debe haber alguna lógica detrás de ella, por lo que la búsqueda no puede ser tan difícil.

0 votos

¿Quiere la geolocalización de una IP? iplocation.net

0 votos

Tal vez con macappstore.org/geoip

1 votos

37voto

Douglas Puntos 10417

Puedes hacerlo sin tener que instalar ninguna aplicación o software adicional. Sólo tiene que utilizar el comando curl y el sitio web geo ip gratuito http://freegeoip.app .

Ejecute el siguiente comando en Terminal (estoy usando la IP de Apple para este ejemplo):

curl https://freegeoip.app/xml/17.178.96.59

Obtendrá los resultados en formato XML:

<Response>
    <IP>17.178.96.59</IP>
    <CountryCode>US</CountryCode>
    <CountryName>United States</CountryName>
    <RegionCode>CA</RegionCode>
    <RegionName>California</RegionName>
    <City>Cupertino</City>
    <ZipCode>95014</ZipCode>
    <TimeZone>America/Los_Angeles</TimeZone>
    <Latitude>37.3042</Latitude>
    <Longitude>-122.0946</Longitude>
    <MetroCode>807</MetroCode>
</Response>

Incluso puede emitir el mismo comando utilizando el nombre de dominio en lugar de la IP:

curl https://freegeoip.app/xml/apple.com

Otros formatos...

freegeoip.app también admite CSV, JSON y JSONP

CSV: curl https://freegeoip.app/csv/apple.com

17.178.96.59,US,United States,CA,California,Cupertino,95014,America/Los_Angeles,37.30,-122.09,807

JSON: curl https://freegeoip.app/json/apple.com

{"ip":"17.178.96.59","country_code":"US","country_name":"United States","region_code":"CA","region_name":"California","city":"Cupertino","zip_code":"95014","time_zone":"America/Los_Angeles","latitude":37.3042,"longitude":-122.0946,"metro_code":807}

Para comprobar su propia ip...

Simplemente omite la ip o el dominio:

curl https://freegeoip.app/xml/

10 votos

NOTA: vincular una dirección IP a una ubicación geográfica no es una ciencia exacta. Aunque la mayoría de las direcciones son fiables, hay millones de direcciones que, cuando se buscan, se resuelven en una ubicación general, como el centro de una ciudad, o incluso el centro del país. Hay un artículo interesante sobre cómo una granja aleatoria en medio de Kansas ha sido objeto de abusos e investigaciones criminales porque un importante servicio de geolocalización colocó su bandera de "ubicación general para EE.UU." en su granja. fusion.net/story/287592/internet-mapping-glitch-kansas-farm es un enlace al artículo.

2 votos

Este punto final de la API está obsoleto y dejará de funcionar el 1 de julio de 2018. Para más información, visite: github.com/apilayer/freegeoip#readme</DeprecationMessage >

2 votos

Parece que el nuevo "freegeoip.app" funciona como se esperaba. "freegeoip.net" ha quedado obsoleto

1voto

HappyFace Puntos 38

Utilice https://github.com/maxmind/mmdbinspect con bases de datos de https://github.com/wp-statistics/GeoLite2-City :

mmdbinspect -db "$database_file" "$ip"

Puede utilizar jq para seguir procesando la salida.

1voto

chris Puntos 111

Existe una pequeña y compacta herramienta de línea de comandos llamada gip, escrita en C++, disponible en https://github.com/softhub-software-development/gip .

Ejemplos:

\# gip softhub.com
91.65.13.31 "Berlin, Berlin, Germany"

# gip 91.65.13.31
91.65.13.31 "Berlin, Berlin, Germany"

# gip -t google.com
91.65.13.254 "Berlin, Berlin, Germany"
145.254.3.66 "Eschborn, Hessen, Germany"
72.14.194.138 "Mountain View, California, United States"

# gip -g softhub.com
52.5244 13.4105

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X