2012-01-22 3 views
2

У меня есть устройство, которое подключается к ПК через USB, которое сопоставляется с виртуальным последовательным портом драйвером и программным обеспечением, которое подключается к этому последовательному порту и позволяет мне управлять устройством. Я не знаю, какое программное обеспечение протокола использует для подключения к устройству. Я мог бы выяснить протокол, посмотрев на связь между устройством и программным обеспечением, но дело с последовательными портами заключается в том, что, когда программное обеспечение подключается к последовательному порту, нет другого способа подключения к этому порту другого программного обеспечения (что, естественно, имеет смысл).SerialPort Sniffing

Так я думал, что я мог бы написать кусок программного обеспечения, которое делает следующее:

  1. подключается к виртуальному последовательному порту устройство находится в
  2. создает виртуальный последовательный порт программное обеспечение будет подключаться к
  3. внутренне переводов все от первого порта до второго и наоборот, но записывая всю эту информацию в какой-то файл дампа

Мой вопрос: возможно ли создать virt ual последовательный порт с использованием .NET? Я не слышал, потому что вам как-то нужно создать драйвер или что-то еще, и для этого требуется программирование на уровне ядра, верно? И если это так, все же есть способ, которым я мог бы наблюдать связь между устройством и программным обеспечением без какого-либо мостового программного обеспечения?

Заранее благодарен! Aaron

ответ

1

Вы попробовали Portmon.

Это то, что сайт говорит

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

http://technet.microsoft.com/en-us/sysinternals/bb896644

ИЗВЕСТНЫЙ ВОПРОС: Там ошибка в PortMon v3.03 (см here), что делает пункт меню Необходимую «Компьютер» не отображаются на некоторых системах. Одним из способов является подключение к локальной машине в v3.02 перед открытием v3.03.

+0

Я никогда не использовал его, но описание выглядело перспективным – Shaun07776

+4

Описание выглядит многообещающим. Проблема заключается в каждом учебнике PortMon, в котором говорится, что вы запускаете сеанс мониторинга, нажав «Компьютер»> «Подключиться локально» в меню приложения, но у моего PortMon нет элемента меню «Компьютер» вообще, и я не вижу другого способа запуска мониторинга сессии вообще. –

+3

Дополнительно, под пунктом меню Capture элементы меню Capture Events и Ports отключены, а заголовок заголовка говорит «Не подключен». Я не знаю, как подключиться к монитору указанного порта. –

1

Если в меню Capture/Порты неактивен, этот метод работает:

Start экземпляр PortMon с использованием PortMon/с из командной строки. Затем запустите еще один, используйте ctrl-r с 127.0.0.1 в качестве адреса для подключения к вашему персональному компьютеру.