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

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

Veja os 10 últimos tópicos das comunidades

Recriando /dev/null facilmente

Compara igualdade entre arquivos

Instalação do Cisco packettracer 7.2 no Debian 10

Script para gravar DVD, gera imagem e grava na mídia


  

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