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: 6.295 ]

Download get-geo2.sh




O script é baseado no get-geo original:

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

De Vinicius Della Libera <artedogesto@gmail.com>

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[artedogesto@gmail.com]
#
# By Pedro Robson Leao - pleao@gmail.com
#
# 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

Barra de progresso em shell

Verificação e otimização do banco de dados MySQL

bash: função para validação de IP (IPv4)

Iptables com squid

Gerador de PPP para USB (Palm OS e Pocket PC)


  

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

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts