Создание пользовательского пакета UDP

Я пытаюсь подключиться к газовой плите, подключенной к Интернету. Производитель сказал мне, что я могу общаться с ним через UDP-порт 3300.

Он говорит, что я могу отправить пакет с информацией "SEARCH_FOR_FIRES" на адрес локальной подсети, чтобы получить ответ.

Пакеты должны состоять из 15 байтов следующим образом:

Байт 1: StartByte (0x47 'G') Байт 2: Идентификатор команды Байт 3: DataSize Байты 4-13: Байт данных 15: CRC Байт 15: Конечный байт (0x46 'F')

Они дают, например, 0x473100000000000000000000003146. 31 — это идентификатор команды «SEARCH_FOR_FIRES».

Единственная проблема в том, что я понятия не имею, как создавать эти пакеты... Я использую версию Packet Sender для Windows, и она дает мне возможность вводить значения ASCII или HEX. Пока у меня есть:

HEX: 47 31 00 03 01 46 ASCII: G1\00\03\01F

Но ни один из них, похоже, не работает, но я не знаю, как найти HEX-эквивалент 0x4731000000000000000000000003146.

Кто-нибудь может помочь?


person JWinstanley    schedule 09.12.2016    source источник
comment
Какие команды вы пробовали?   -  person kaitoy    schedule 10.12.2016
comment
Я использую программу Packet Sender. Я не уверен, как обобщить команду, но я попытался отправить HEX 47 31 00 03 01 46 на 192.168.1.76 (IP-адрес пожара). Насколько я вижу, это эмулирует приведенный ими пример (0x473100000000000000000000003146)   -  person JWinstanley    schedule 10.12.2016


Ответы (1)


Ну, это звучит странно, но шестнадцатеричный эквивалент 0x473100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003146 00 00 31 46" отправителю пакета.

Кстати, вы знаете, чего ожидать от устройства при успешной отправке пакета? Должно ли устройство отображать какие-либо заметные признаки обработки команды «SEARCH_FOR_FIRES»? Возможно, это устройство автоматически отправит вам отчет в пакете UDP, поэтому вам может потребоваться настроить захват сети (например, wireshark), чтобы увидеть и проанализировать ответ.

person nnovich-OK    schedule 27.12.2016
comment
Еще немного поиграл с отправителем пакетов. Кажется, он отображает ответы, так что без wireshark все будет в порядке. - person nnovich-OK; 28.12.2016
comment
Спасибо :) 0x через меня отключен, но теперь у меня все работает и я получаю ожидаемый ответ. - person JWinstanley; 29.12.2016