es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

En el envío de Socket TCP/IP, los datos enviados continúan en la memoria del sistema operativo.

Creé un programa simple de cliente de chat para comunicarme con el servidor.

Después de que el cliente envió datos al servidor usando la función send (), los datos se inicializaron a memset (buf, 0x00, sizeof (buf)), pero después de buscar la memoria del sistema operativo a través de Dumpit, todavía quedan rastros de datos enviados en algún lugar.
¿Cómo puedo borrar los datos enviados?

int main () {
    WSADATA wsaData;
    SOCKET hSocket;
    SOCKADDR_IN servAddr;

char message [30];
char tmp [8];
int strLen;
memset (tmp, 0x00, 8);

if (WSAStartup (MAKEWORD (2, 2), & amp; wsaData)! = 0)
    ErrorHandling ("¡Error de WSAStartup ()!");

hSocket = socket (PF_INET, SOCK_STREAM, 0);
si (hSocket == INVALID_SOCKET)
    ErrorHandling ("¡error de socket ()!");

memset (& amp; servAddr, 0, sizeof (servAddr));
servAddr.sin_family = AF_INET;
servAddr.sin_addr.s_addr = inet_addr ("222.106.99.137");
servAddr.sin_port = htons (atoi ("20071"));

si (connect (hSocket, (SOCKADDR *) & amp; servAddr, sizeof (servAddr)) == SOCKET_ERROR)
    ErrorHandling ("¡error de conexión ()!");

memcpy (tmp, "estoishell", 7);

sendto (hSocket, tmp, strlen (tmp) + 1, 0,
    (struct sockaddr *) & amp; servAddr, sizeof (servAddr));

memset (tmp, 0x00, 8);
memset (tmp, 0xFF, 8);
memset (tmp, 0x00, 8);

closesocket (hSocket);
WSACleanup ();

return 0;


}
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para borrar los datos enviados al servidor, puedes utilizar la función memset() para sobrescribir los datos con ceros. En el código de ejemplo anterior, la función memset() se utiliza para sobrescribir los datos con ceros después de que se envían al servidor. Esto asegurará que los datos se borren de la memoria y no sean visibles en la memoria del sistema operativo.

Comments are closed.