Existen webs como geoiptool (http://www.geoiptool.com) que brindan servicios de geolocalización a partir de una dirección ip.
Sabiendo del modo en que se realiza la consulta y se devuelve el resultado, podemos automatizar una tool.
# Geolocalizaci0n usando el servicio de geoiptool.com
# blozzter || [email protected]
# underc0de.org || hackxcrack.es || undersecurity.net
import urllib2, re
# se hace la solicitud usando cierta ip
ip = (raw_input('[+]IP: '))
h = {"User-Agent": "Mozilla/5.0 (compatible; Konqueror/3.5.8; Linux)"}
r = urllib2.Request("http://www.geoiptool.com/es/?IP=" + ip, headers=h)
source = urllib2.urlopen(r).read()
# se buscan expresiones regulares
aux, pais = re.findall("<img src='/flags/(.*)' alt=\"(.*)\" align=\"absmiddle\" ></td>", source)[0]
aux, region = re.findall("<td align=\"left\" class=\"arial_bold\"><a href=\"http://en.wikipedia.org/wiki/(.*)\" target=\"_blank\">(.*)</a></td>", source)[0]
infoList = re.findall("<td align=\"left\" class=\"arial_bold\">(.*)</td>", source)
longitud = infoList[-2]
latitud = infoList[-1]
# se muestra la informaci0n
print 'pais: ' + pais
print 'region: ' + region
print 'longitud: ' + longitud
print 'latitud: ' + latitud[/url]
una captura:
(http://s3.subirimagenes.com:81/otros/previo/thump_7045882captura.jpg)