get-geo2 - localiza o endereço de um IP/HOST no Google Maps

Publicado por Pedro Robson Leão 02/05/2009 (última atualização em 20/10/2009)

[ Hits: 5.889 ]

Download get-geo2.sh




O script é baseado no get-geo original:

http://get-geo.sourceforge.net/

De Vinicius Della Libera <[email protected]>

Você passa para o script o HOST ou IP e ele retorna as coordenadas para consulta no Google Maps.

  



Esconder código-fonte

#!/bin/bash 

# Baseado no script get-geo[http://get-geo.sourceforge.net/] de Vinicius Della Libera[[email protected]]
#
# By Pedro Robson Leao - [email protected]
#
# O site tem uma limitacao diaria de acesso por IP por isto o script pode nao conseguir consular informacoes as vezes

# URL to search information
URL="http://www.maxmind.com/app/lookup_city";

# HOST informe host when call program
HOST=${1:-"get-geo.sf.net"};

# Set field sparetor
OIFS="${IFS}";
IFS="£";

LATITIDE=;
LONGITUDE=;

# set header information
HEADER=( "Hostname" "CountryCode" "CountryName" "Region" "RegionName" "City" "PostalCode" "Latitude" "Longitude" "ISP" "Organization" "MetroCode" "AreaCode");
# get data information
DATA=( $(echo ips="${HOST}" | lynx -source -post-data -accept_all_cookies ${URL} |grep -A 20 "${HOST}" | grep -v ^$ | sed 's/  //g' | grep "^.td" | sed 's/.td..font size=.....//g' | sed 's/..font...td./£/g' | sed 's/$/\"/g' | sed  's/^/\"/g' | tr -d '\n') );

IFS="${OIFS}";

TOT=${#HEADER[@]};

# parse fields
for ((i=0;i<TOT;i++)) {
    key="${HEADER[$i]}";
    val="${DATA[$i]}";

    val="${val//\"/}";

    [ "${key}" == "Hostname" ] && {
        echo "${val}" | egrep -q "^<" && {
            echo "Max search has expired today.";
            exit;
        }
    }

    [ ! -z "${val}" ] && [ "${val}" != "N/A" ] && [ "${val}" != "0" ] && {
# print values
        printf "%12.12s: %s\n" "${key}" "${val}";

        case ${key} in
            Latitude)  LATITUDE="${val}";;
            Longitude) LONGITUDE="${val}";;
        esac
    }
}

[ ! -z "${LATITUDE}" ] && [ ! -z "${LONGITUDE}" ] && {
# when get Latitude ande Longitude print googlemaps url.
    printf "%12.12s: %s\n" "MapsView" "http://maps.google.com/maps?q=${LATITUDE},${LONGITUDE}"
}


Scripts recomendados

Kalis.h2

Gravar DVDs no Linux pelo Cron

Executando comandos remotos via Dropbox

Autenticar usuários squid+shellscript+mysql

Backup, restore e leitura de log com Dialog


  

Comentários
[1] Comentário enviado por guimaluf em 28/10/2009 - 17:18h

nô cara!
vlw pela dica

MUITO bom esse script!!!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts