Gracias señorr!!
Vale, lo que pretendo es escuchar el tráfico de un puerto como por ejemplo las peticiones HTTP del puerto 80, y no sé como hacerlo, ¿debería usar sockets? Es lo que estoy intentando, estoy programando en C++, este es el code que llevo hasta ahora:
El objetivo final sería desviarlo a otro puerto, escuchar en ese otro puerto y modificar los paquetes, pues no sé si desviando los paquetes http a otro puerto esos paquetes se perderían y no llegarían al destino, por lo que podría recogerlos con sockets y enviarlos a su destino podiendo así modificarlos.
Otra cosa, el bind no me deja igualarlo a -1 entonces ¿como detecto si se ha producido error o no?.
Ayuda pls, gracias y un saludo.
Vale, lo que pretendo es escuchar el tráfico de un puerto como por ejemplo las peticiones HTTP del puerto 80, y no sé como hacerlo, ¿debería usar sockets? Es lo que estoy intentando, estoy programando en C++, este es el code que llevo hasta ahora:
Código (cpp) [Seleccionar]
//Funcion para obtener los paquetes salientes por el puerto 80.
void servidor_HTTP(volatile bool *on_sslstrip)
{
WSADATA wsa;
string contenido;
sockaddr_in dir;
int sock;
WSAStartup(MAKEWORD(2, 0), &wsa);
while (*on_sslstrip){
if ((sock = socket(AF_INET, SOCK_STREAM, 0)) == SOCKET_ERROR){
WSACleanup();
continue;
}
else{
dir.sin_family = AF_INET;
dir.sin_addr.s_addr = inet_addr("127.0.0.1");
dir.sin_port = htons(80);
bind(sock, (struct sockaddr*)&dir, sizeof(dir));
printf("abiertoo");
system("pause");
/*if (std::bind(sock, (struct sockaddr *)&dir, sizeof(dir)) == -1)//SOCKET_ERROR){
closesocket(sock);
continue;
}*/
//En proceso que debería hacer ahora?
}
}
Sleep(20000);
}
El objetivo final sería desviarlo a otro puerto, escuchar en ese otro puerto y modificar los paquetes, pues no sé si desviando los paquetes http a otro puerto esos paquetes se perderían y no llegarían al destino, por lo que podría recogerlos con sockets y enviarlos a su destino podiendo así modificarlos.
Otra cosa, el bind no me deja igualarlo a -1 entonces ¿como detecto si se ha producido error o no?.
Ayuda pls, gracias y un saludo.