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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  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,003 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,929 Último mensaje 5 Agosto 2009, 09:40 am
por Debci
Recomendación librería...
Java
Blitzkrieg' 3 2,335 Último mensaje 2 Marzo 2010, 23:07 pm
por Blitzkrieg'
ayuda, serializar c*
Programación C/C++
ktemo 2 2,167 Último mensaje 14 Marzo 2012, 16:08 pm
por ktemo
Como serializar en c++? (dev c++)
Programación C/C++
fabian7593 3 5,019 Último mensaje 25 Septiembre 2013, 08:33 am
por eferion
Serializar ConcurrentMap
Java
mapers 1 1,460 Último mensaje 28 Febrero 2014, 17:21 pm
por 1mpuls0
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines