Como obter a geolocalização de um endereço IP no Terminal?

21

É possível obter a localização geográfica de um endereço IP no Terminal?

Não tenho certeza do que os números em um endereço IP significam, mas deve haver alguma lógica por trás dele, portanto, a pesquisa não pode ser tão difícil.

sanjihan
fonte
Você quer uma geolocalização de um IP? iplocation.net
Finduilas
Talvez com macappstore.org/geoip
Finduilas
1
Também em relação à sua última afirmação, não há correlação forçada entre valores públicos de endereços IP e geografia. Empresas e organizações alugam blocos de IPs; eles podem fazer com eles o que quiserem.
Cortices 10/05

Respostas:

26

Você pode fazer isso sem precisar instalar nenhum aplicativo ou software adicional. Basta usar o comando curle o site geo ip gratuito http://freegeoip.app .

Execute o seguinte comando no Terminal (estou usando o IP da Apple para este exemplo):

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

Você obterá seus resultados em um 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>

Você pode até emitir o mesmo comando usando o nome de domínio em vez do IP:

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

Outros formatos ...

O freegeoip.app também suporta CSV, JSON e 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 verificar seu próprio ip ...

Apenas omita o ip ou domínio:

curl https://freegeoip.app/xml/

Allan
fonte
7
NOTA: vincular um endereço IP a uma localização geográfica não é uma ciência difícil. Embora a maioria dos endereços seja confiável, existem milhões de endereços que, quando consultados, serão resolvidos para um local geral, como o centro de uma cidade ou até o meio do país. Há um artigo interessante sobre como uma fazenda aleatória no meio do Kansas tem sido alvo de abusos e investigações criminais porque um grande serviço de geolocalização colocou sua bandeira "localização geral para os EUA" em sua fazenda. fusion.net/story/287592/internet-mapping-glitch-kansas-farm é um link para o artigo.
Nzall
2
Este terminal da API é obsoleto e irá parar de funcionar em 1º de julho de 2018. Para mais informações visite, por favor: github.com/apilayer/freegeoip#readme</DeprecationMessage >
0n1cOn3
parece que o novo "freegeoip.app" funciona conforme o esperado. "freegeoip.net" foi preterido
dwightk em