¿Hay alguna forma gratuita de monitorear un puerto serie en Windows 7 x64?

15

He examinado bastante, pero todavía no he encontrado una forma gratuita de monitorear un puerto serie (sin abrirlo o bloquearlo desde otras aplicaciones), que funciona en Windows 7 de 64 bits.

Incluso el propio Portmon de Microsoft no funciona. Algunas publicaciones han hablado sobre ejecutarlo en modo de compatibilidad, pero no funciona para mí. Probé el modo de compatibilidad para Windows XP Service Pack 2 y 3 (los únicos disponibles en la lista desplegable), y ninguno de los dos permite que funcione.

Entonces, sí, ¿hay alguna forma de monitorear un puerto serie para Windows 7 de 64 bits?

Xantham
fuente
2
PortMon de MS / Sysinternals no funcionaría porque el controlador depende del bitness del sistema operativo. A diferencia de los programas de modo de usuario que pueden usar WOW64 para ejecutar una aplicación de 32 bits en un sistema x64.
0xC0000022L

Respuestas:

1

Acabo de probar Advanced Serial Port Monitor . El modo "espía" hace justo lo que quieres.

Solo es gratis para probar. Sin embargo, debe pagar por una solución permanente.

MARK C
fuente
1

Una solución alternativa que he usado en el pasado cuando estaba exactamente en la misma situación en la que usabas una máquina virtual de 32 bits.

No es la mejor solución, pero funciona y no tiene costo (aparte de los costos asociados con la configuración de su entorno VM).

Scott Chamberlain
fuente
¿Cuál sería un ejemplo de una VM?
Peter Mortensen el
¿Entonces está diciendo que (un proceso en) una VM puede monitorear un puerto en el host sin bloquearlo de las aplicaciones en el host? Pensé que el host o el invitado podían acceder a los dispositivos host , pero no a ambos.
Scott
1
@Scott Él sugiere que PortMon ejecutándose en una máquina virtual de 32 bits podría monitorear la conexión en serie de la máquina virtual.
jpaugh
1

Si tiene otra computadora, le recomiendo ejecutar un sistema operativo POSIX y usarlo socatpara "canalizar" los datos de un puerto a otro mientras registra el tráfico. Esto es básicamente como una solución basada en hardware, pero está utilizando hardware de uso general en lugar de algo especial. Por ejemplo, algo como esto:

sudo socat -x -v -d /dev/ttyUSB0,b115200,rawer,cr /dev/ttyUSB1,b115200,rawer,cr

Lo realmente interesante de este programa es que es súper flexible en lo que se puede conectar a qué. Puede usar sockets TCP / IP, archivos / secuencias, etc. transformar velocidades de transmisión, cambiar terminaciones de línea, etc. El artículo introductorio (con fecha de 2009 pero aún útil) está disponible aquí .

Editar: solo para aclarar, en lugar de tener una configuración de hardware como esta:

Main computer serial port <--> Device serial port

Sería así:

Main computer serial port <--> sniffer computer serial port 1 Device serial port <--> sniffer computer serial port 2

iX3
fuente
Es cierto, pero le permitirá a uno observar todos los datos que se envían o reciben en el puerto físico. Dado que el OP no especificó si el "puerto" era abstracto / software o físico / hardware, creo que esta sigue siendo una respuesta justa.
iX3
@jpaugh No entiendo lo que quieres decir. ¿Qué "no se está ejecutando"? Esta solución permite el uso de cualquier software o hardware siempre que los datos fluyan a través de un puerto físico. Simplemente conecte una computadora / dispositivo adicional en línea con la conexión y ejecútelo socatpara reenviar los datos mientras lo registra. Agregaré un diagrama simple a la respuesta con la esperanza de aclarar esto.
iX3
Bueno. Sí, entendí mal. Ahora que lo entiendo, no creo que hayas dicho nada malo. Originalmente, vine aquí tratando de lidiar con un dispositivo serial virtual a la USB, por lo que esto no tendría sentido para ese caso. Perdón por eso.
jpaugh
1
Para la depuración de la conexión USB, recomiendo estos: desowin.org/usbpcap wiki.wireshark.org/CaptureSetup/USB
iX3