Есть ли бесплатный способ мониторинга последовательного порта в 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 . Режим «шпион» делает именно то, что вы хотите.

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


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

@jpaugh Я не понимаю, что ты имеешь в виду. Что "не работает"? Это решение позволяет использовать любое программное или аппаратное обеспечение, если данные проходят через физический порт. Просто подключите дополнительный компьютер / устройство, встроенное в соединение, и запустите, socatчтобы переслать данные во время их регистрации. Я добавлю простую диаграмму к ответу в надежде прояснить это.
iX3

Ладно. Да, я неправильно понял. Теперь, когда я это понимаю, я не думаю, что вы сказали что-то не так. Первоначально я пришел сюда, пытаясь иметь дело с виртуальным последовательным устройством, например, USB, так что, конечно, это не имело бы смысла для этого случая. Извините о том, что.
jpaugh

1
Для отладки USB-подключения я настоятельно рекомендую следующее: desowin.org/usbpcap wiki.wireshark.org/CaptureSetup/USB
iX3
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.