Извлечь непрерывную информацию из клиента Telnet

sudo grub-set-default /media/YOU/YOUR_SSD/boot/grub

или что-то вроде этого :)

0
23.11.2018, 17:04
1 ответ

Выписка из pastebin:

00000050  2e 0a 53 41 45 4d 00 00  00 00 f6 04 00 00 15 00  |..SAEM..........|
00000060  00 00 00 00 00 00 00 00  00 00 0c 00 01 00 fa 94  |................|
00000070  00 00 8c 00 00 00 8c 00  00 00 0a 23 00 00 53 41  |...........#..SA|
00000080  45 4d 00 00 00 00 f6 04  00 00 15 00 00 00 00 00  |EM..............|

Таким образом, это показывает, что вся информация есть, это прямой порядок следования байтов, и вам просто нужно прочитать и проанализировать их. Подойдет любой удобный вам инструмент; программу на C, программу perl, все что угодно. Возможно, вам придется пропустить вывод telnetв начале или использовать что-то другое вместо telnet(, например. nc, netcat, socat).

Чтобы продемонстрировать perl, для декодирования одного пакета вы должны сделать что-то вроде

cat... | perl -nle "print join(':',unpack 'a4 (L2 Q L S2 l4)<')"

в командной строке для пакета в дампе,и получить на выходе

SAEM:0:1270:21:0:12:1:38138:140:140

Это работает только для заданного количества каналов (, и маска говорит, что одно из четырех значений измерения не должно присутствовать, но оно имеет значение; Я не понимаю эту часть ).

Если вы получаете переменное количество каналов в зависимости от другой информации, вам нужен более точный синтаксический анализ.

0
28.01.2020, 04:08

Теги

Похожие вопросы