Sí se a lo que te refieres, no es ese el problema, claro que me llegan los paquetes con el poisoning, y les hago ip fordward, incluso tengo una función para ver si la red es vulnerable al poisoning pues por desgracia/fortuna, hay redes que no lo son XD.
En una que no era vulnerable, hice lo que dijistes del DHCP para hacer las pruebas, pero no es el caso, los paquetes llegan correctamente, pero claro, llegan pensando que soy el router, conectandose a google, y la IP de mi servidor local (127.0.0.1) no es la de google así que debo de coger el paquete cambiarle la IP de destino y puerto por el de mi servidor local y mandarmelo a mi mismo con pcap_sendpacket (triste pero no hay otro remedio) para que mi SO lo reciba a través de mi server proxy.
Y luego mismo proceso de vuelta, cuando el proxy responda, responderá con IP origen 127.0.0.1 y puerto de server, y tendré que cambiarlo por la IP del servidor de google (o la que solicitó el host) y puerto 80.
Pero el caso es que algo pasa que no llegan al servidor o no salen de este, con wireshark parece que el servidor no responde cuando me reenvio los paquetes, algo les falla a esos paquetes, ojo pues son SYN al server google o que apunta el host, y los estoy usando para conectar a mi server HTTP debería funcionar no?, es igual para todas las conexiones TCP.
No sé el caso es que no reponde el server, y culpa del server no es porque como digo va bien, basta con probarlo con el navegador y ver como hace el strip (además de suplantar exes) hehehe
Saludos!!
Edito: No hay manera, he probado a mandar el paquete al router y que del router vuelva a mi y trate de entrar en el servidor, pues nada no funciona no sale respuesta del servidor luego no llega.
La cosa es que no entiendo, para que se produzca conexión con el server tiene que pasar esto:
https://wiki.wireshark.org/TCP_3_way_handshaking
Cuando redirecciono el paquete normalmente es un SYN correcto, pero al redirigirlo algo pasa que no es respondido pues hay varios paquetes destino puerto 10000 (el puerto del server) pero ninguno con source puerto 10000, no está ese SYN/ACK.
¿Porque?, en el firewall tengo permitido el programa, juraría que todo bien, incluido checksums. ¿que pasa? XD.
JEJEJE, "incluido checksums", cuando he puesto esto lo decía un poco como a regañadientes y me he puesto a comprobar el que no se si lo había solucionado.. ¡EL TCP CHECKSUM! y sorpresa persiste con su error de unos pocos bits, así que tendré que areglarlo, sin embargo puedo probar a dejarlo normal y poner el puerto 80 el checksum debería ser correcto a ver si así responde... sigue sin funcionar con el 80 tampoco, probaré a calcular bien el checksum que me sale igual que el normal solo que 16 uds por encima, y veré que tal.
Perfecto he puesto "checksum -= 20;" y acierta la mitad de los tcp checksums Y SI SE HA PRODUCIDO EL SYN/ACK que estaba buscando sin embargo no encamina bien para el host pues falla lo de poner la IP del server, pero eso ya son problemas menores CORRECTO, en unos días lo solucionare, ahora lo tengo que dejar.. XD.
En una que no era vulnerable, hice lo que dijistes del DHCP para hacer las pruebas, pero no es el caso, los paquetes llegan correctamente, pero claro, llegan pensando que soy el router, conectandose a google, y la IP de mi servidor local (127.0.0.1) no es la de google así que debo de coger el paquete cambiarle la IP de destino y puerto por el de mi servidor local y mandarmelo a mi mismo con pcap_sendpacket (triste pero no hay otro remedio) para que mi SO lo reciba a través de mi server proxy.
Y luego mismo proceso de vuelta, cuando el proxy responda, responderá con IP origen 127.0.0.1 y puerto de server, y tendré que cambiarlo por la IP del servidor de google (o la que solicitó el host) y puerto 80.
Pero el caso es que algo pasa que no llegan al servidor o no salen de este, con wireshark parece que el servidor no responde cuando me reenvio los paquetes, algo les falla a esos paquetes, ojo pues son SYN al server google o que apunta el host, y los estoy usando para conectar a mi server HTTP debería funcionar no?, es igual para todas las conexiones TCP.
No sé el caso es que no reponde el server, y culpa del server no es porque como digo va bien, basta con probarlo con el navegador y ver como hace el strip (además de suplantar exes) hehehe
Saludos!!
Edito: No hay manera, he probado a mandar el paquete al router y que del router vuelva a mi y trate de entrar en el servidor, pues nada no funciona no sale respuesta del servidor luego no llega.
La cosa es que no entiendo, para que se produzca conexión con el server tiene que pasar esto:
https://wiki.wireshark.org/TCP_3_way_handshaking
Cuando redirecciono el paquete normalmente es un SYN correcto, pero al redirigirlo algo pasa que no es respondido pues hay varios paquetes destino puerto 10000 (el puerto del server) pero ninguno con source puerto 10000, no está ese SYN/ACK.
¿Porque?, en el firewall tengo permitido el programa, juraría que todo bien, incluido checksums. ¿que pasa? XD.
JEJEJE, "incluido checksums", cuando he puesto esto lo decía un poco como a regañadientes y me he puesto a comprobar el que no se si lo había solucionado.. ¡EL TCP CHECKSUM! y sorpresa persiste con su error de unos pocos bits, así que tendré que areglarlo, sin embargo puedo probar a dejarlo normal y poner el puerto 80 el checksum debería ser correcto a ver si así responde... sigue sin funcionar con el 80 tampoco, probaré a calcular bien el checksum que me sale igual que el normal solo que 16 uds por encima, y veré que tal.
Perfecto he puesto "checksum -= 20;" y acierta la mitad de los tcp checksums Y SI SE HA PRODUCIDO EL SYN/ACK que estaba buscando sin embargo no encamina bien para el host pues falla lo de poner la IP del server, pero eso ya son problemas menores CORRECTO, en unos días lo solucionare, ahora lo tengo que dejar.. XD.