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.975 ]

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

Shell para ativar o Iptables

NFS server/client com iptables

script para travar usuario discado

Adicionando usuários

Correção Bug Kurumin/Som on-boad


  

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