Existe uma maneira gratuita de monitorar uma porta serial no Windows 7 x64?

15

Eu olhei em volta bastante, mas ainda não encontrei uma maneira gratuita de monitorar uma porta serial (sem abrir ou bloquear outras aplicações), que funciona no Windows 7 de 64 bits.

Até o próprio Portmon da Microsoft não funciona. Alguns posts falaram sobre executá-lo no modo de compatibilidade, mas isso não funciona para mim. Tentei o modo de compatibilidade para o Windows XP service pack 2 e 3 (os únicos disponíveis na lista suspensa) e nem permitem que ele funcione.

Então, sim, existe alguma maneira de monitorar uma porta serial para o Windows 7 de 64 bits?

Xantham
fonte
2
O PortMon do MS / Sysinternals não funcionaria porque o driver depende da versão do sistema operacional. Ao contrário dos programas de modo de usuário, que podem usar o WOW64 para executar um aplicativo de 32 bits em um sistema x64.
0xC0000022L

Respostas:

1

Eu apenas tentei o Advanced Serial Port Monitor . O modo "Spy" faz exatamente o que você deseja.

É grátis para experimentar. No entanto, você deve pagar por uma solução permanente.

MARCA C
fonte
1

Uma solução alternativa que usei no passado quando estava exatamente na mesma situação em que você usava uma VM de 32 bits.

Não é a melhor solução, mas funciona e não tem nenhum custo (exceto os custos associados à configuração do seu ambiente de VM).

Scott Chamberlain
fonte
O que seria um exemplo de uma VM?
Peter Mortensen
Então, você está dizendo que (um processo) uma VM pode monitorar uma porta no host sem bloqueá-la de aplicativos no host? Eu pensei que os dispositivos host pudessem ser acessíveis pelo host ou pelo convidado, mas não pelos dois.
Scott
1
@ Scott Ele está sugerindo que o PortMon executando em uma VM de 32 bits possa monitorar a conexão serial da VM.
jpaugh
1

Se você tiver outro computador, recomendo executar um sistema operacional POSIX e usar socatpara "canalizar" os dados de uma porta para outra enquanto registra o tráfego. Isso é basicamente como uma solução baseada em hardware, mas está usando hardware de uso geral em vez de algo especial. por exemplo, algo como isto:

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

O que é realmente interessante sobre esse programa é que ele é super flexível na medida em que você pode se conectar a ele. Você pode usar soquetes TCP / IP, arquivos / fluxos, etc. transformar taxas de transmissão, alterar finais de linha etc. Artigo introdutório (datado de 2009, mas ainda útil) está disponível aqui .

Edit: Apenas para esclarecer, em vez de ter uma configuração de hardware como esta:

Main computer serial port <--> Device serial port

Seria assim:

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

iX3
fonte
Verdade, mas permitirá observar todos os dados que são enviados ou recebidos na porta física. Como o OP não especificou se a "porta" era abstrata / software ou física / hardware, acho que essa ainda é uma resposta justa.
iX3 12/12/18
@jpaugh Eu não entendo o que você quer dizer. O que "não está sendo executado"? Esta solução permite o uso de qualquer software ou hardware, desde que os dados fluam através de uma porta física. Basta conectar um computador / dispositivo adicional em linha com a conexão e executar socatpara encaminhar os dados enquanto os registra. Vou adicionar um diagrama simples à resposta, na esperança de esclarecer isso.
iX3 14/12/18
OK. Sim, eu não entendi. Agora que entendi, acho que você não disse nada de errado. Originalmente, eu vim aqui tentando lidar com um dispositivo serial virtual à la USB, então é claro que isso não faria sentido para esse caso. Desculpe por isso.
jpaugh
1
Para conexão USB depuração Eu recomendo estes: desowin.org/usbpcap wiki.wireshark.org/CaptureSetup/USB
IX3