Есть ли бесплатный способ мониторинга последовательного порта в Windows 7 x64?

15

Я немного осмотрелся, но мне еще не удалось найти бесплатный способ мониторинга последовательного порта (без его открытия или блокировки в других приложениях), который работает на 64-битной Windows 7.

Даже собственный портмон от Microsoft не работает. Несколько постов говорили о запуске его в режиме совместимости, но у меня это не работает. Я пробовал режим совместимости для Windows XP с пакетом обновления 2 и 3 (единственные, доступные в раскрывающемся списке), и ни один из них не позволяет ему работать.

Так что да, есть ли способ мониторинга последовательного порта для Windows 7 64-бит?

Ксантановая
источник
2
PortMon от MS / Sysinternals не будет работать, потому что драйвер зависит от разрядности ОС. В отличие от пользовательских программ, которые могут использовать WOW64 для запуска 32-битного приложения в системе x64.
0xC0000022L

Ответы:

1

Я только что попробовал Advanced Serial Port Monitor . Режим «шпион» делает именно то, что вы хотите.

Это только бесплатно попробовать. Тем не менее, вы должны заплатить за постоянное решение.

MARK C
источник
1

Обходной путь, который я использовал в прошлом, когда находился в той же ситуации, что и вы, использовал 32-битную виртуальную машину.

Это не самое лучшее решение, но оно работает и не требует затрат (кроме затрат, связанных с настройкой вашей виртуальной среды).

Скотт Чемберлен
источник
Что будет примером виртуальной машины?
Питер Мортенсен
Итак, вы говорите, что (процесс на) ВМ может контролировать порт на хосте, не блокируя его от приложений на хосте? Я думал, что хост-устройства могут быть доступны хостом или гостем, но не обоими.
Скотт
1
@ Scott Он предполагает, что PortMon, работающий в 32-битной виртуальной машине, может контролировать последовательное соединение виртуальной машины.
jpaugh
1

Если у вас есть другой компьютер, я рекомендую запустить операционную систему POSIX и использовать ее socatдля передачи данных с одного порта на другой во время регистрации трафика. Это в основном похоже на аппаратное решение, но оно использует аппаратное обеспечение общего назначения вместо чего-то особенного. например что-то вроде этого:

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

Что действительно хорошо в этой программе, так это то, что она очень гибкая в плане того, что вы можете подключить к чему. Вы можете использовать сокеты TCP / IP, файлы / потоки и т. Д. Для преобразования скоростей передачи в бодах, изменения концов строк и т. Д. Вводная статья (от 2009 г., но все еще полезная) доступна здесь .

Изменить: просто чтобы уточнить, вместо того, чтобы иметь аппаратную конфигурацию, как это:

Main computer serial port <--> Device serial port

Это было бы так:

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

ix3
источник
Верно, но это позволит наблюдать за всеми данными, которые отправляются или принимаются на физическом порту. Поскольку в ОП не указано, был ли «порт» абстрактным / программным или физическим / аппаратным, я думаю, что это все еще справедливый ответ.
iX3
@jpaugh Я не понимаю, что ты имеешь в виду. Что "не работает"? Это решение позволяет использовать любое программное или аппаратное обеспечение, если данные проходят через физический порт. Просто подключите дополнительный компьютер / устройство, встроенное в соединение, и запустите, socatчтобы переслать данные во время их регистрации. Я добавлю простую диаграмму к ответу в надежде прояснить это.
iX3
Ладно. Да, я неправильно понял. Теперь, когда я это понимаю, я не думаю, что вы сказали что-то не так. Первоначально я пришел сюда, пытаясь иметь дело с виртуальным последовательным устройством, например, USB, так что, конечно, это не имело бы смысла для этого случая. Извините о том, что.
jpaugh
1
Для отладки USB-подключения я настоятельно рекомендую следующее: desowin.org/usbpcap wiki.wireshark.org/CaptureSetup/USB
iX3