# Http fingerprinter #Siiiiimple, lo único la interfaz gráfica. #protos.nu@gmail.com require 'socket' require 'tk' root = TkRoot.new() {title " HTTP Fingerprinting"} host = TkVariable.new() met = TkVariable.new() TkLabel.new(root) { text "Host: " pack() } TkEntry.new(root) { textvariable(host) pack() } lbl = TkText.new(root) { width 50; height 25 }.pack("side"=>"bottom") TkButton.new(root) { text "Ok!" command proc { sock = TCPSocket.new(host.value, 80) sock.print "GET / HTTP/1.1 \n" sock.print "Host: ", host.value, "\n\n" res=sock.recv(400) lbl.insert('end', res) lbl.insert('end', "\n\n\n\n\n\n\n\n") sack = TCPSocket.new(host.value, 80) sack.print "OPTIONS / HTTP/1.1 \n" sack.print "Host: ", host.value, "\n\n" ras=sack.recv(400) lbl.insert('end', ras) sick = TCPSocket.new(host.value, 80) sick.print "HEAD / HTTP/1.1 \n" sick.print "Host: ", host.value, "\n\n" ris = sick.recv(400) sock.close sack.close sick.close } pack("side"=>"top") } TkButton.new(root) { text " Clear " command proc { lbl.clear } pack("side"=>"bottom") } Tk.mainloop()