#encoding: utf-8
=begin
*************************************************
*Geotool-Ruby by strup *
*Autor: strup *
*Lenguaje: Ruby *
*Proposito: extraer datos de una Dirección IP *
*6:17 26/12/2012 *
*************************************************
=end
require 'net/http'
puts "GEOTOOL-Ruby, by strup".center(80,"·")
puts "\nIntroduce la IP a escanear"
direccion_ip=gets.chomp
ip=Net::HTTP.post_form(URI('http://geoip.flagfox.net/'),{"ip"=>direccion_ip,"Submit"=>"submit"}).body
def servidor(ip)
ip.each_line do |li|
if li =~ /title:/
li=li.gsub(/\t\t\t\t\t\ttitle: "/) {$1}
li=li.gsub(/"/) {$1}
puts "Servidor: "+li
end
end
end
def continente(ip)
if ip =~ /Continent<\/td>\n\t\t\t\t<td align="left" >\n\t\t\t\t<a href="http:\/\/en.wikipedia.org\/wiki\/(.*?)" tar/m
puts "Continente: "+$1
end
end
def pais(ip)
if ip =~ /nowrap"><a href="http:\/\/en.wikipedia.org\/wiki\/(.*?)"/m
puts "País: "+$1
end
end
def region (ip)
if ip =~ /gion<\/td>\n\t\t\t\t<td align="left" >\n\t\t\t\t<span class="dim">(.*?)<\/span>/m
puts "Región: "+$1
end
end
def ciudad(ip)
if ip =~ /ity<\/td>\n\t\t\t\t<td align="left" >\n\t\t\t\t<span class="dim">(.*?)<\/span>/m
puts "Ciudad: "+$1
end
end
def direccion_ip(ip)
if ip =~ /http:\/\/whois.domaintools.com\/(.*?)" tar/
puts "Dirección IP: "+$1
end
end
def isp(ip)
if ip =~ /<td align="left" width="33%">\n\t\t\t\t\t(.*?)\n/m
puts "ISP: "+$1
end
end
def clave_pais(ip)
if ip =~ /try Code<\/td>\n\t\t\t\t<td align="left" >\n\t\t\t\t(.*?) (.*?)\n/m
puts "Código de País: #{$1}, "+$2
end
end
def hora(ip)
if ip =~ /[*]<\/a><\/td>\n\t\t\t\t<td align="left" >\n\t\t\t\t<span style="white-space: nowrap">(.*?)\n<\/span>/
puts "Hora Local: "+$1
end
end
def code_postal(ip)
if ip =~ /tal Code<\/td>\n\t\t\t\t\t\t<td align="left" >\n\t\t\t\t\t\t(.*?)\n/m
puts "Código Postal: "+$1.gsub(/<span class="dim">/) {$1}.gsub(/<\/span>/) {$1}
else
puts "Código Postal no Encontrado"
end
end
def latitud(ip)
if ip =~ /Latitude<\/td>\n\t\t\t\t<td align="left" >\n\t\t\t\t(.*?)\n/m
puts "Latitud: "+$1
end
end
def longitud(ip)
if ip =~ /Longitude<\/td>\n\t\t\t\t<td align="left" >\n\t\t\t\t(.*?)\n/m
puts "Longitud: "+$1
end
end
begin
servidor(ip)
continente(ip)
pais(ip)
region(ip)
ciudad(ip)
direccion_ip(ip)
isp(ip)
clave_pais(ip)
hora(ip)
code_postal(ip)
latitud(ip)
longitud(ip)
end
puts "\n\nDatos Cargados\nPulsa Enter para salir"
gets()
espero os guste el code, saludos Saludos foro, esta vez vengo con un script para sacar los datos de la ip de alguien, por ejemplo, le gustara a aquellos que miran cada dos por tres geotool, pues esto facilitara la tarea de tener que ir habriendo la pagina etc etc.
Abolición para el torneo del toro de la vega. Death to the murderers of bulls.