# -*- coding: utf-8 -*-
# Python
# Script para localización geográfica de IP - Boris Murillo
import sys
import re
import string
import httplib
import urllib2
import re
# Contruccion de la conexion a través de proxy
proxy_info = {
'user' : '',
'pass' : '',
'host' : "localhost",
'port' : 8080
}
proxy_support = urllib2.ProxyHandler({"http" : "http://%(user)s:%(pass)s@%(host)s:%(port)d" % proxy_info})
# Funcion para verificar si no es una IP interna
def ip_interno(ip):
if ip[0] == "10" and ip[2] == ".":
return True
else: return False
# Funcion de consulta de IP
def buscar_ip(dir_ip):
try:
results = 'http://freegeoip.net/csv/'+str(dir_ip)
request = urllib2.Request(results)
request.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.1; rv:11.0) Gecko/20100101 Firefox/11.0')
opener = urllib2.build_opener(proxy_support, urllib2.HTTPHandler)
urllib2.install_opener(opener)
text = opener.open(request).read()
return text
except IOError:
print "No es posible conectarse con el proveedor"+""
# Uso de la herramienta
if len(sys.argv) != 2:
print "\nObtiene la Localizacion Geografica de una Direccion IP.\n"
print "\nUso : ./localizar.py <ARCHIVO_CON_IP's>\n"
sys.exit(1)
archivo=sys.argv[1]
# Lanzamiento de programa
ins = open( archivo, "r" )
for ip in ins:
if ip_interno(ip) == False:
print buscar_ip(ip)
Para lanzar la herramienta basta con ejecutar el archivo localizar.py seguido del nombre del archivo con las direcciones IP
Saludos