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.564 ]
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.
#!/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}"
}
Troca de link em caso de queda de Internet (FAILOVER)
Configurando IPTABLES de forma simples
Backup do Firebird por data - via rede ou local
Backup diario rotativo MySQL + Backup semanal mantendo uma cópia local e remota
Bluefin - A nova geração de ambientes de trabalho Linux
Como atualizar sua versão estável do Debian
Cirurgia para acelerar o openSUSE em HD externo via USB
Quer auto-organizar janelas (tiling) no seu Linux? Veja como no Plasma 6 e no Gnome
Copiando caminho atual do terminal direto para o clipboard do teclado
Script de montagem de chroot automatica
Conky não mostra temperaturas da CPU no notebook (0)
Não estou conseguindo fazer funcionar meu Postfix na versão 2.4 no Deb... (0)









