ero si yo consulto
www.google.com y de ahi selecciono la web del hacker.net ya no funcionaria?? en este caso tu script que direccion suplantaria la de google o la de elhacker??
Depende, si yo mi script lo ejecuto y tu habres google, va a funcionar. Y si tienes google abierto y yo ahora ejecuto mi escript, haces la busqueda y no va a funcionar, pero cuando pinches en elhacker.net si que va a funcionar.
Cuando estas en google, significa que tienes un conexion establecida con el servidor web de google, si en se momento yo ejecuto mi script y tu haces una busqueda, podras ver perfectamente el resultado de la busqueda (la lista de webs) porque aun sigues con una conexion establecida con google, pero cuando pinches en una de las webs para visitarla, haras una nueva conexion con el servidor web al que quieres visitar y ahi es cuando funcionara.
Mi script lo que hace es suplantar la identidad de un servidor web justo en el inicio de la conexion, entonces cuando abras una web que no tengas abierta funcionara, pero si estas es una web y solo te mueves por los enlaces de esa web entonces no va a funcionar porque se basa en el inicio de conexion. Es decir, tu al conectarte a una web mandas un paquete TCP con el flag SYN y mi script te manda la respuesta del servidor que es otro paquete TCP con los flag SYN y ACK, luego mandaras un paquete HTTP con un GET (del fichero .html)y mi script te manda el fichero .html que yo quiero.
Mirate estos enlaces:
http://es.wikipedia.org/wiki/Transmission_Control_Protocol#Establecimiento_de_la_conexi.C3.B3n_.28negociaci.C3.B3n_en_tres_pasos.29En la imagen de este enlace la flecha de datos es el metodo GET de HTTP, y la respuesta del servidor es enviar el fichero .html con una cabecera HTTP 200 OK!
Aun asi, mi script necesita mejoras aun que funciona. La primera de todas es que mi script es lento y hay algunas web que responden al inicio de conexion antes que mi script y por eso a veces no funciona, pero con las paginas que estan lejos de tu ordenador si, porque tarda mas tiempo enn responder al inicio de conexion y le da tiempo a mi script a adelantarse al servidor. Tambien podria hacer que no fuera dependiente del inicio de conexion y directamente en cuanto la victima haga cualquier GET que mi script inyecte mi fichero .html, pero para hacer estas mejoras necesito mas tiempo. El script que he puesto es la primera version funcional.