[Ruby] LocateIP 0.3

  • 1 Respuestas
  • 3754 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado BigBear

  • *
  • Underc0der
  • Mensajes: 543
  • Actividad:
    0%
  • Reputación 3
    • Ver Perfil

[Ruby] LocateIP 0.3

  • en: Junio 26, 2015, 08:18:37 pm
Un simple script en Ruby para localizar una IP y sus DNS.

Version consola :

Código: Ruby
  1. #!usr/bin/ruby
  2. #LocateIP 0.3
  3. #(C) Doddy Hackman 2015
  4.  
  5. require "open-uri"
  6. require "net/http"  
  7. require "resolv"
  8.  
  9. # Functions
  10.  
  11. def get_ip(hostname)
  12.    begin
  13.       return Resolv.getaddress(hostname)
  14.    rescue
  15.       return "Error"
  16.    end
  17. end
  18.  
  19. def toma(web)
  20.    begin
  21.       return open(web, "User-Agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0").read
  22.    rescue
  23.       return "Error"
  24.    end
  25. end
  26.  
  27. def response_code(web)
  28.    begin
  29.       return Net::HTTP.get_response(URI(web)) .code
  30.    rescue
  31.       return "404"
  32.    end
  33. end
  34.  
  35. def tomar(web,arg)
  36.    begin
  37.       headers = {"User-Agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0"}
  38.       uri = URI(web)
  39.       http = Net::HTTP.new(uri.host, uri.port)
  40.       return http.post(uri.path,arg, headers).body
  41.    rescue
  42.       return "Error"
  43.    end
  44. end
  45.  
  46. def uso
  47.    print "\n<ul class="bbc_list"><li type="square"> Sintax : ruby locateip.rb <target>\n"[/li][/list]
  48. end
  49.  
  50. def  head
  51.    print "\n\n-- == LocateIP 0.3 == --\n\n"
  52. end
  53.  
  54. def copyright
  55.    print "\n\n-- == (C) Doddy Hackman 2015 == --\n\n"
  56. end
  57.  
  58. def locateip(target)
  59.  
  60.    print "\n</li><li type="square"> Getting IP ...\n"[/li][/list]
  61.  
  62.    ip = get_ip(target)
  63.  
  64.    print "\n</li><li type="square"> IP : "+ip+"\n"[/li][/list]
  65.  
  66.    web = "http://www.melissadata.com/lookups/iplocation.asp"
  67.    print "\n</li><li type="square"> Locating ...\n\n"[/li][/list]
  68.  
  69.    code = tomar(web,"ipaddress="+ip+"&btn=Submit")
  70.  
  71.    if code=~/City<\/td><td align=(.*)><b>(.*)<\/b><\/td>/
  72.       print "</li><li type="square"> City : "+$2+"\n"[/li][/list]
  73.    else
  74.       print "</li><li type="square"> City : Not Found\n"[/li][/list]
  75.    end
  76.  
  77.    if code=~/Country<\/td><td align=(.*)><b>(.*)<\/b><\/td>/
  78.       print "</li><li type="square"> Country : "+$2+"\n"[/li][/list]
  79.    else
  80.       print "</li><li type="square"> Country : Not Found\n"[/li][/list]
  81.    end
  82.  
  83.    if code=~/State or Region<\/td><td align=(.*)><b>(.*)<\/b><\/td>/
  84.       print "</li><li type="square"> State or Region : "+$2+"\n";[/li][/list]
  85.    else
  86.       print "</li><li type="square"> State of Region : Not Found\n"[/li][/list]
  87.    end
  88.  
  89.    print "\n</li><li type="square"> Getting DNS ...\n\n"[/li][/list]
  90.  
  91.    control = "0"
  92.  
  93.    code = toma("http://www.ip-adress.com/reverse_ip/"+ip)
  94.  
  95.    dnss = code.scan(/whois\/(.*?)\">Whois/)
  96.  
  97.   dnss.flatten.each do |dns|
  98.      begin
  99.         if dns != ""
  100.            control = "1"
  101.            print "</li><li type="square"> DNS Found : "+dns[/li][/list]
  102.         end
  103.      end
  104.   end
  105.  
  106.   if control=="0"
  107.      print "\n[-] DNS Not Found\n"
  108.   end
  109. end
  110.  
  111. target = ARGV[0]
  112.  
  113. head()
  114.  
  115. if !target
  116.   uso()
  117. else
  118.   locateip(target)
  119. end
  120.  
  121. copyright()
  122.  
  123. #The End ?
  124.  

Version Tk :

Código: Ruby
  1. #!usr/bin/ruby
  2. #LocateIP 0.3
  3. #(C) Doddy Hackman 2015
  4.  
  5. require "tk"
  6. require "open-uri"
  7. require "net/http"
  8. require "resolv"
  9.  
  10. # Functions
  11.  
  12. def get_ip(hostname)
  13.    begin
  14.       return Resolv.getaddress(hostname)
  15.    rescue
  16.       return "Error"
  17.    end
  18. end
  19.  
  20. def toma(web)
  21.    begin
  22.       return open(web, "User-Agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0").read
  23.    rescue
  24.       return "Error"
  25.    end
  26. end
  27.  
  28. def response_code(web)
  29.    begin
  30.       return Net::HTTP.get_response(URI(web)) .code
  31.    rescue
  32.       return "404"
  33.    end
  34. end
  35.  
  36. def tomar(web,arg)
  37.    begin
  38.       headers = {"User-Agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0"}
  39.       uri = URI(web)
  40.       http = Net::HTTP.new(uri.host, uri.port)
  41.       return http.post(uri.path,arg, headers).body
  42.    rescue
  43.       return "Error"
  44.    end
  45. end
  46.  
  47. #
  48.  
  49. window = TkRoot.new { title "LocateIP 0.3 (C) Doddy Hackman 2015" ; background "black" }
  50. window['geometry'] = '300x300-20+10'
  51.  
  52. TkLabel.new(window) do
  53.    background "black"
  54.    foreground "yellow"
  55.    text "    Target : "
  56.    place('relx'=>"0.1",'rely'=>"0.1")
  57. end
  58.  
  59. target = TkEntry.new(window){
  60.    background "black"
  61.    foreground "yellow"
  62.    width 25
  63.    place('relx'=>0.3,'rely'=>0.1)
  64. }
  65.  
  66. TkLabel.new(window) do
  67.    background "black"
  68.    foreground "yellow"
  69.    text "Console"
  70.    place('relx'=>0.4,'rely'=>0.2)
  71. end
  72.  
  73. console =TkText.new(window) do
  74.    background "black"
  75.    foreground "yellow"
  76.    width 30
  77.    height 10
  78.    place('relx'=>0.1,'rely'=>0.3)
  79. end
  80.  
  81. TkButton.new(window) do
  82.    text "Search"
  83.         background "black"
  84.    foreground "yellow"
  85.    width 17
  86.    activebackground "yellow"
  87.    highlightbackground  "yellow"
  88.    command proc{
  89.    
  90.       target = target.value.to_s
  91.    
  92.       console.insert("end",  "</li><li type="square"> Getting IP ...\n")[/li][/list]
  93.  
  94.       ip = get_ip(target)
  95.  
  96.       web = "http://www.melissadata.com/lookups/iplocation.asp"
  97.  
  98.       console.insert("end", "\n</li><li type="square"> Locating ...\n\n")[/li][/list]
  99.  
  100.       code = tomar(web,"ipaddress="+ip+"&btn=Submit")
  101.  
  102.       if code=~/City<\/td><td align=(.*)><b>(.*)<\/b><\/td>/
  103.          console.insert("end", "</li><li type="square"> City : "+$2+"\n")[/li][/list]
  104.       else
  105.          console.insert("end", "</li><li type="square"> City : Not Found\n")[/li][/list]
  106.       end
  107.  
  108.       if code=~/Country<\/td><td align=(.*)><b>(.*)<\/b><\/td>/
  109.          console.insert("end","</li><li type="square"> Country : "+$2+"\n")[/li][/list]
  110.       else
  111.          console.insert("end", "</li><li type="square"> Country : Not Found\n")[/li][/list]
  112.       end
  113.  
  114.       if code=~/State or Region<\/td><td align=(.*)><b>(.*)<\/b><\/td>/
  115.          console.insert("end", "</li><li type="square"> State or Region : "+$2+"\n")[/li][/list]
  116.       else
  117.          console.insert("end","</li><li type="square"> State of Region : Not Found\n")[/li][/list]
  118.       end
  119.  
  120.       console.insert("end","\n</li><li type="square"> Getting DNS ...\n\n")[/li][/list]
  121.  
  122.       control = "0"
  123.  
  124.       code = toma("http://www.ip-adress.com/reverse_ip/"+ip)
  125.  
  126.       dnss = code.scan(/whois\/(.*?)\">Whois/)
  127.  
  128.      dnss.flatten.each do |dns|
  129.         begin
  130.            if dns != ""
  131.               control = "1"
  132.               console.insert("end", "</li><li type="square"> DNS Found : "+dns)[/li][/list]
  133.            end
  134.         end
  135.      end
  136.  
  137.      if control=="0"
  138.         console.insert("end","\n[-] DNS Not Found\n")
  139.      end
  140.  
  141.      console.insert("end","\n\n</li><li type="square"> Finished")[/li][/list]
  142.      
  143.   }
  144.   place('relx'=>0.3,'rely'=>0.9)
  145. end
  146.  
  147. Tk.mainloop
  148.  
  149. #The End ?
  150.  

Una imagen :



Eso es todo.
« Última modificación: Julio 06, 2015, 10:16:30 pm por Expermicid »

Desconectado B3N

  • *
  • Underc0der
  • Mensajes: 35
  • Actividad:
    0%
  • Reputación 0
  • 00111011 00101001
    • Ver Perfil
    • Email

Re:[Ruby] LocateIP 0.3

  • en: Junio 27, 2015, 01:13:41 am
Aqui esta la salida:
Código: [Seleccionar]
[email protected]:~$ ruby ip-locator.rb www.google.com


-- == LocateIP 0.3 == --


  • Getting IP ...[/li]

  • IP : 74.125.198.105[/li]

  • Locating ...[/li]

  • City : Mountain View[/li]
  • Country : United States[/li]
  • State or Region : California[/li]

  • Getting DNS ...[/li]

  • DNS Found : og-in-f105.1e100.net
  • DNS Found : 74.125.198.105
  • DNS Found : 74.125.198.105[/li][/list]

    -- == (C) Doddy Hackman 2015 == --

    [email protected]:~$

    Buen aporte
01010111 01100001 01101011 01100101 00100000 01110101
01110000 00100000 01001110 01100101 01101111

 

[Ruby] Traductor de Decimal a Ascii / Ascii a Decimal

Iniciado por ANTRAX

Respuestas: 0
Vistas: 2852
Último mensaje Febrero 24, 2010, 04:16:38 pm
por ANTRAX
Lenguaje Ruby, aprendiendo poco a poco.

Iniciado por Alejandro_99

Respuestas: 2
Vistas: 3158
Último mensaje Agosto 15, 2013, 02:58:39 pm
por Alejandro_99
Crafting rails 4 applications (Manual de Ruby on Rails 4)

Iniciado por Alejandro_99

Respuestas: 0
Vistas: 1994
Último mensaje Marzo 01, 2014, 05:34:50 pm
por Alejandro_99
Desarrollo de aplicaciones Perl, PHP, Python y "Ruby on Rails"

Iniciado por Alejandro_99

Respuestas: 0
Vistas: 2474
Último mensaje Junio 13, 2014, 03:27:08 pm
por Alejandro_99
Shoesrb donde puedes hacerle una interfaz grafica a una aplicación hecha en Ruby

Iniciado por Alejandro_99

Respuestas: 3
Vistas: 3549
Último mensaje Mayo 21, 2013, 03:51:00 am
por StuXn3t