elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Recomendacion de libreria para serializar paquetes de red [C++]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Recomendacion de libreria para serializar paquetes de red [C++]  (Leído 1,014 veces)
GonzaFz

Desconectado Desconectado

Mensajes: 69


Ver Perfil WWW
Recomendacion de libreria para serializar paquetes de red [C++]
« en: 10 Agosto 2018, 21:52 pm »

Estoy haciendo una aplicacion para capturar el trafico de un programa especifico. En realidad no tengo que serializar paquetes de red, sino simplemente los mensajes que se envian a travez de sockets, en otras palabras el buffer del paquete.

Lo que estoy haciendo basicamente es redireccionando las funciones send y recv a unas propias para luego serializar toda la comunicación de la aplicación.

Estuve probando la libreria Protobuf de Google y es muy facil de usar, el problema es que almacena todos los datos en memoria y hay que serializarlos/deserializarlos todos juntos, y basicamente la memoria va aumentando lentamente.

Yo estaria necesitando una libreria que me permita serializar por partes, es decir, ir añadiendo los paquetes al archivo a medida que van llegando.

La salida que espero es mas o menos así, aunque no necesariamente en json, preferiria datos binarios.
Código:
{
     "date": "2018-08-10T17:03:15Z",
     "version": "7.6.1.1",
     "packets":
     [
      {
       "buffer": "xxxxxxxx",
       "date": "2018-08-10T17:18:16Z"
      },
      {
       "buffer": "xxxxxxxx",
       "date": "2018-08-10T17:18:16Z"
      },
      ...
     ]
}

Vi que por ejemplo wireshark usa Cap'n Proto pero no estoy del todo seguro que permita serializar por partes, y mucho menos deserializar solo algunos datos.

Flatbuffers al parecer permite deserializar por partes, pero no estoy seguro si se puede hacer una serialización "por partes" como explique mas arriba.

De cualquier modo, incluso es posible hacer lo que requiero? No se si existe un nombre tecnico para esto, hice una busqueda en google pero no encontre nada. Quizás solo sea posible serializar todo junto, en ese caso no se cual seria el camino ideal para evitar problemas de memoria.

No es algo critico, la aplicacion es para algo muy especifico y personal pero me gustaria saber si hay alguna otra alternativa.

Saludos.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Serializar datos en archivo xml
Java
Debci 9 7,956 Último mensaje 5 Agosto 2009, 09:40 am
por Debci
Recomendación librería...
Java
Blitzkrieg' 3 2,354 Último mensaje 2 Marzo 2010, 23:07 pm
por Blitzkrieg'
ayuda, serializar c*
Programación C/C++
ktemo 2 2,179 Último mensaje 14 Marzo 2012, 16:08 pm
por ktemo
Como serializar en c++? (dev c++)
Programación C/C++
fabian7593 3 5,033 Último mensaje 25 Septiembre 2013, 08:33 am
por eferion
Serializar ConcurrentMap
Java
mapers 1 1,474 Último mensaje 28 Febrero 2014, 17:21 pm
por 1mpuls0
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines