Цитата:
|
MicroLogic с управляющей программой Logic 1.1.15 по Вашему не "любой сниффер"?
|
это прежде всего терминал, а не сниффер, и очень куцый, судя по выложенными вами логам.
сайт мелкософта знаком?
https://msdn.microsoft.com/en-us/library/bb896644.aspx
Цитата:
|
Кстати, если принятые данные посылать в таком же виде в текстовый файл, то получится бесформенная каша. Ведь часто байты собраны в группы, в пакеты, в которых может быть синхропоследовательность, адрес получателя, команда, и данные. Поэтому намного нагляднее, если в текстовом файле подобные пакеты будут сформированы в отдельные строки текста.
|
пример сниффа с монохроматора, каждый запрос-ответ-настройки отдельной строкой (с учетом склеивания или разбивки пакетов драйвером), в HEX отображении:
0 0.00000000 SerialPort Term IRP_MJ_CREATE Nmserial0 Options: Open
0 0.00065707 SUCCESS
1 0.00000000 SerialPort Term IOCTL_SERIAL_GET_PROPERTIES Nmserial0
1 0.00000168 SUCCESS
2 0.00000000 SerialPort Term IOCTL_SERIAL_GET_MODEMSTATUS Nmserial0
2 0.00000223 SUCCESS
3 0.00000000 SerialPort Term IOCTL_SERIAL_GET_BAUD_RATE Nmserial0
3 0.00000112 SUCCESS
4 0.00000000 SerialPort Term IOCTL_SERIAL_GET_LINE_CONTROL Nmserial0
4 0.00000084 SUCCESS
5 0.00000000 SerialPort Term IOCTL_SERIAL_GET_CHARS Nmserial0
5 0.00000112 SUCCESS
6 0.00000000 SerialPort Term IOCTL_SERIAL_GET_HANDFLOW Nmserial0
6 0.00000084 SUCCESS
7 0.00000000 SerialPort Term IOCTL_SERIAL_GET_BAUD_RATE Nmserial0
7 0.00000112 SUCCESS
8 0.00000000 SerialPort Term IOCTL_SERIAL_GET_LINE_CONTROL Nmserial0
8 0.00000084 SUCCESS
9 0.00000000 SerialPort Term IOCTL_SERIAL_GET_CHARS Nmserial0
9 0.00000084 SUCCESS
10 0.00000000 SerialPort Term IOCTL_SERIAL_GET_HANDFLOW Nmserial0
10 0.00000084 SUCCESS
11 0.00000000 SerialPort Term IOCTL_SERIAL_SET_BAUD_RATE Nmserial0 Rate: 19200
11 0.00000615 SUCCESS
12 0.00000000 SerialPort Term IOCTL_SERIAL_CLR_RTS Nmserial0
12 0.00000307 SUCCESS
13 0.00000000 SerialPort Term IOCTL_SERIAL_CLR_DTR Nmserial0
13 0.00000279 SUCCESS
14 0.00000000 SerialPort Term IOCTL_SERIAL_SET_LINE_CONTROL Nmserial0 StopBits: 1 Parity: NONE WordLength: 8
14 0.00000196 SUCCESS
15 0.00000000 SerialPort Term IOCTL_SERIAL_SET_CHAR Nmserial0 EOF:1a ERR:0 BRK:0 EVT:1a XON:11 XOFF:13
15 0.00000084 SUCCESS
16 0.00000000 SerialPort Term IOCTL_SERIAL_SET_HANDFLOW Nmserial0 Shake:0 Replace:0 XonLimit:1024 XoffLimit:1024
16 0.00000223 SUCCESS
17 0.00000000 SerialPort Term IOCTL_SERIAL_GET_BAUD_RATE Nmserial0
17 0.00000084 SUCCESS
18 0.00000000 SerialPort Term IOCTL_SERIAL_GET_LINE_CONTROL Nmserial0
18 0.00000084 SUCCESS
19 0.00000000 SerialPort Term IOCTL_SERIAL_GET_CHARS Nmserial0
19 0.00000084 SUCCESS
20 0.00000000 SerialPort Term IOCTL_SERIAL_GET_HANDFLOW Nmserial0
20 0.00000084 SUCCESS
21 0.00000000 SerialPort Term IOCTL_SERIAL_SET_BAUD_RATE Nmserial0 Rate: 19200
21 0.00000559 SUCCESS
22 0.00000000 SerialPort Term IOCTL_SERIAL_CLR_RTS Nmserial0
22 0.00000307 SUCCESS
23 0.00000000 SerialPort Term IOCTL_SERIAL_CLR_DTR Nmserial0
23 0.00000307 SUCCESS
24 0.00000000 SerialPort Term IOCTL_SERIAL_SET_LINE_CONTROL Nmserial0 StopBits: 1 Parity: NONE WordLength: 8
24 0.00000196 SUCCESS
25 0.00000000 SerialPort Term IOCTL_SERIAL_SET_CHAR Nmserial0 EOF:1a ERR:0 BRK:0 EVT:1a XON:11 XOFF:13
25 0.00000084 SUCCESS
26 0.00000000 SerialPort Term IOCTL_SERIAL_SET_HANDFLOW Nmserial0 Shake:0 Replace:0 XonLimit:1024 XoffLimit:1024
26 0.00000196 SUCCESS
27 0.00000000 SerialPort Term IOCTL_SERIAL_CLR_DTR Nmserial0
27 0.00000307 SUCCESS
28 0.00000000 SerialPort Term IOCTL_SERIAL_SET_TIMEOUTS Nmserial0 RI:-1 RM:-1 RC:100 WM:0 WC:100
28 0.00000112 SUCCESS
29 0.00000000 SerialPort Term IOCTL_SERIAL_SET_WAIT_MASK Nmserial0 Mask: RXCHAR RXFLAG CTS DSR RLSD BRK ERR RING
29 0.00000168 SUCCESS
30 0.00000000 SerialPort Term IOCTL_SERIAL_SET_QUEUE_SIZE Nmserial0 InSize: 4096 OutSize: 2048
30 0.00000140 SUCCESS
31 0.00000000 SerialPort Term IOCTL_SERIAL_WAIT_ON_MASK Nmserial0
32 0.00000000 SerialPort Term IOCTL_SERIAL_GET_MODEMSTATUS Nmserial0
32 0.00000279 SUCCESS
33 0.00000000 SerialPort Term IOCTL_SERIAL_GET_MODEMSTATUS Nmserial0
33 0.00000223 SUCCESS
34 0.00000000 SerialPort Term IOCTL_SERIAL_GET_MODEMSTATUS Nmserial0
34 0.00000223 SUCCESS
35 0.00000000 SerialPort Term IOCTL_SERIAL_PURGE Nmserial0 Purge: RXABORT RXCLEAR
35 0.00000363 SUCCESS
36 0.00000000 SerialPort Term IOCTL_SERIAL_PURGE Nmserial0 Purge: TXABORT TXCLEAR
36 0.00000112 SUCCESS
37 0.00000000 SerialPort Term IRP_MJ_WRITE Nmserial0 Length 5: 4C 8D 13 03 0D
...
44 0.00000000 SerialPort Term IRP_MJ_READ Nmserial0 Length 8
44 0.00000196 SUCCESS Length 8: 4C 8D 13 03 3A 30 34 20
41 0.00392452 SUCCESS
45 0.00000000 SerialPort Term IOCTL_SERIAL_GET_COMMSTATUS Nmserial0
45 0.00000168 SUCCESS
46 0.00000000 SerialPort Term IOCTL_SERIAL_WAIT_ON_MASK Nmserial0
Цитата:
|
Два канала в компьютер просто так не подашь, для этого надо два отдельных порта. А кто-нибудь видел сниффер, способный работать с двумя портами одновременно?
|
Portmon пресловутый может отслеживать несколько портов одновременно, хоть COM, хоть LPT. Но суть у топик-стартера не в этом. Лично я не усложняю то, что и так элементарно.
На пальцах поясняю:
1- если устройство с ПК общается (с ПО верхнего уровня), просто сниффер вклиниваем.
2- если устройство с устройством и шина
не точка-точка, например RS-485, то садим параллельно на шину конвертор RS-485/RS-232/USB (кому что нравится) и любым терминалом (хоть системным гипертерминалом) подглядываем и сохраняем-пишем сразу в файл обмен.
3- если устройство с устройством
точка-точка, то делаем прозрачную заглушку Port-to-Port (и неважно что это будет физически для ПК, то ли два железных RS-232, то ли USB через конверторы USB/COM и виртуальные COM-порты). Заглушка эта реализуется свободным и бесплатным ПО - виртуальным нуль-модемным кабелем com0com и на казусе неоднократно о нем упоминал. Этот нуль-модемный кабель соединяет два порта от двух устройств прозрачно. Далее по классике - или сниффером или с помощью возможностей того же com0com - hub4com, делаем ответвление от соединения точка-точка. Итого, устройство общается с устройством прозрачно, а мы подглядываем за действом или даже пересылаем по сети.
Пример
http://raxp2.blogspot.com/2015/04/blog-post_35.html