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
|-+  Seguridad Informática
| |-+  Hacking (Moderador: toxeek)
| | |-+  Sniffear comunicacion Serial [Solucionado, Funcional]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Sniffear comunicacion Serial [Solucionado, Funcional]  (Leído 5,243 veces)
AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.705


🏴 Libertad!!!!!


Ver Perfil WWW
Sniffear comunicacion Serial [Solucionado, Funcional]
« en: 17 Marzo 2018, 20:07 pm »

Alguno conoce un buen metodo para Sniffear una comunicación Serian entre dos dispositivos mediante puerto RS232?  :huh: :huh:

El punto esta en que estoy realizando Ingeniería Inversa en el protocolo de comunicacion que utilizan 2 dispositivos que se comunican mediante cable serie.

Primero intente utilizar mi computadora como dispositivo intermedio leer todos los datos que manda el HostA y escribirlos hacia el HostB y viceversa.

El programa lo escribi en C# y parecia funcionar bien, vi parte de la comunicación entre los equipos pero llega un punto en el que al parcer por tiempo no se sincroniza bien la comunicación entre ellos y NO SE Comportan los dispositivos de la manera esperada, segun me entere el tiempo de respuesta entre ambos dispositivos no debe de superar los 20 milisegundos entre ellos. Vi el tiempo que tardaba en leer y escribir la información y este supera los 40 milisegundos.

Intente un  programa en C puro y parece ir mas rápido, pero ahora leo información de mas.
Ejemplo.

En el programa en C# leia un byte del host A al host B con valor de 100 y posteriormente leia una respuesta del host B hacia el host A con otro valor X

Y ahora con el programa de C leo hasta 5 bytes continuos con valor 100 cuando realmente conozco de antemano que solo debe de ser un byte con valor 100 seguido de la respuesta.

Alguna sugerencia con otro metodo de snifeo?

Saludos!
« Última modificación: 18 Marzo 2018, 00:46 am por AlbertoBSD » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Sniffear comunicacion Serial
« Respuesta #1 en: 17 Marzo 2018, 20:23 pm »

te soy sincero, el tiempo de respuesta es muy alto, algo mal puedes estar haciendo, el tiempo de procesamiento de un paquete por un proxy web se considera alto si llega por encima de 1ms (incluso se puede considerar alto sobre 0.5ms) si tienes algún arduino, raspberry podrías hacer un sniffer de hardware, es decir, algo así




en caso de dudas, allí hay una web que aparentemente saben sobre eso
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.705


🏴 Libertad!!!!!


Ver Perfil WWW
Re: Sniffear comunicacion Serial
« Respuesta #2 en: 17 Marzo 2018, 21:27 pm »

Voy a ver que puedo realizar via Hardware tengo un Tensy board guardo.

El tema del tiempo mejoro notablemente con el programa en C, ya que C# te genera muchas clases intermedias para controlar el flujo de datos y darlo en una clase ya lista para usar.

El otro punto del Tiempo de respuesta creo que se debe a que estoy utilizando 2 adaptadores USB a RS232.

Ejemplo del log de salida del programa en C#

Código:
[09:56:03.791] COM6 bytes read:[1]: 64
[09:56:03.995] COM6 bytes read:[1]: 65
[09:56:04.010] COM4 bytes read:[1]: 01
[09:56:04.026] COM4 bytes read:[5]: FD-7D-A4-6A-F9
[09:56:04.151] COM6 bytes read:[1]: 64
[09:56:04.338] COM6 bytes read:[1]: 65
[09:56:04.338] COM4 bytes read:[1]: 01
[09:56:04.354] COM4 bytes read:[5]: FD-7D-A4-6A-F9

Pero la salida de lo anterio (un poco mas extensa) no lleva a nada ya que los dispositivos  no terminan de inicializarse y no funcionan para nada.

Ejemplo el log de salida fdel programa en C

Código:
Abrimos el puerto COM6
Abrimos el puerto COM9
COM6 Bytes[5]:  0101010101
COM9 Bytes[4]:  65656465
COM9 Bytes[5]:  6565646565
COM6 Bytes[11]: 01FD01C4A8AA4001C4A8EA
COM9 Bytes[4]:  65646565
COM6 Bytes[6]:  01FD01C4A8EA
COM9 Bytes[4]:  64656565
COM6 Bytes[6]:  01FD01C4A8F5
COM9 Bytes[5]:  6465656564
COM6 Bytes[6]:  01FD01C4A8EA
COM9 Bytes[4]:  65656564
COM6 Bytes[11]: 01FD01C4A8AA4001C4A8EA
COM9 Bytes[5]:  6565656465
COM6 Bytes[11]: 01FF01E2A8554001C4A8EA

Por lo que segun veo estoy leyando datos de mas. por que solo deberia de leer un 64 y un 65 para segir con la espuesta del host B.

Voy de momento a ver si puedo abordar el tema de Un cable modificado para tratar de leer los datos directamente.

Saludos y gracias por tu respuesta Engel, pense que nadie me responderia  ;-) ;-)



FUNCIONO!!!!

El cable modificado funciono bajo el diagrama mostrado, conseguí los Diodos de un eliminador de Corriente (Descompuesto) que estaba apunto de tirar, los desoldé del mismo y los puse en el cable tal como muestra el diagrama.

Ahora puede ver la comunicación entre los dispositivos en tiempo real.

El unico inconveniente que le veo es al estar leyendo de desde la computadora a través de un único puerto COM, es que no se distinguir que bytes leidos envió el host A y cuales el host B, solo me quedara depurar, prueba y error.

Saludos!


« Última modificación: 18 Marzo 2018, 00:45 am por AlbertoBSD » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Sniffear comunicacion Serial [Solucionado, Funcional]
« Respuesta #3 en: 19 Marzo 2018, 15:23 pm »

Ya  eso último lamentablemente te toca usar 2 conversores serial a USB para distinguir la comunicación

También podrias grabar una session en una dirección y procurar replicar grabando en la otra dirección

Si si, sin los diodos creas un crossover en la comunicación (haces un corto, pero no de los que echan chispas y causan incendios xD)



« Última modificación: 19 Marzo 2018, 15:27 pm por engel lex » En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.705


🏴 Libertad!!!!!


Ver Perfil WWW
Re: Sniffear comunicacion Serial [Solucionado, Funcional]
« Respuesta #4 en: 20 Marzo 2018, 21:25 pm »

Asi es para solucionarlo tuve que modificar el cable y agregar otra terminal RS232 con su respectivo adaptador USB para poder leerlo desde la laptop.

Quedo funcionando perfectamente ahora distingo la communication de cada dispositivo.

Saludos!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Comunicacion por serial
ASM
lexoazul 6 8,420 Último mensaje 6 Noviembre 2011, 04:47 am
por lexoazul
Problemas al LEER los datos por comunicación serial con CCS
Programación C/C++
CIBERIK 2 2,945 Último mensaje 28 Febrero 2016, 01:31 am
por CIBERIK
Arduino + Comunicación serial + C#
Electrónica
Mr.Blue 3 9,801 Último mensaje 5 Marzo 2016, 08:31 am
por Meta
Comunicación a Arduino mediante lenguaje en c (puerto Serial)
Programación C/C++
Emily 2 2,705 Último mensaje 12 Junio 2017, 09:46 am
por Emily
Error con comunicación serial en Android
Android
gabo1069 0 1,734 Último mensaje 14 Junio 2023, 17:14 pm
por gabo1069
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines