Как WTware узнаёт информацию о соседях?

Темы, которые не попадают в остальные категории.
Ответить
Alex_rs
Сообщения: 15
Зарегистрирован: Ср июн 02, 2021 12:48 pm

Как WTware узнаёт информацию о соседях?

Сообщение Alex_rs »

С недавних пор в web-интерфейсе тонкого клиента появилась возможность посмотреть "соседей" - терминалы в этой же сети. Вот как на скрине ниже. Собственно вопрос в том, как они узнают о друг друге? Если это, конечно, не коммерческая тайна.
Вложения
Untitled.jpg
Untitled.jpg (44.15 КБ) 619 просмотров
aka
Разработчик
Разработчик
Сообщения: 11853
Зарегистрирован: Ср окт 01, 2003 12:06 am
Откуда: Роcсия, Тольятти
Контактная информация:

Re: Как WTware узнаёт информацию о соседях?

Сообщение aka »

Широковещательными сообщениями. UDP порт 779. Работает только в той же сети, через маршрутизатор не пройдёт.

Конфигуратор с самого начала так узнавал соседей, к терминалам позже прикрутили.
Alex_rs
Сообщения: 15
Зарегистрирован: Ср июн 02, 2021 12:48 pm

Re: Как WTware узнаёт информацию о соседях?

Сообщение Alex_rs »

aka писал(а): Пн апр 15, 2024 1:13 pm Широковещательными сообщениями. UDP порт 779. Работает только в той же сети, через маршрутизатор не пройдёт.

Конфигуратор с самого начала так узнавал соседей, к терминалам позже прикрутили.
Спасибо. А можно как-то узнать формат ответа?
Я к чему спрашиваю. Я не использую конфигуратор, нету в сети свободной виндовой машины. Всё на линуксах. Вот и хотел сделать свой мониторинг. Опять же, если не коммерческая тайна.
aka
Разработчик
Разработчик
Сообщения: 11853
Зарегистрирован: Ср окт 01, 2003 12:06 am
Откуда: Роcсия, Тольятти
Контактная информация:

Re: Как WTware узнаёт информацию о соседях?

Сообщение aka »

Что лучше: формат ответов или исполнимый файл под линукс, который запросит и распечатает?
Alex_rs
Сообщения: 15
Зарегистрирован: Ср июн 02, 2021 12:48 pm

Re: Как WTware узнаёт информацию о соседях?

Сообщение Alex_rs »

aka писал(а): Ср апр 17, 2024 12:29 pm Что лучше: формат ответов или исполнимый файл под линукс, который запросит и распечатает?
Надеюсь, правильно вас понял.
Я смотрел трафик по 779 порту WireShark'ом. Думаю, не ошибусь, если скажу, что там полезная нагрузка или шифрована, или XOR'ена. В целом, мне не принципиально, как получить нешифрованные данные. Хотелось бы, чтобы я вот эту информацию мог каким-либо образом отобразить в "человекочитаемом" виде. Тут у меня три скрина. На первом и втором данные, которые вижу при загрузке терминала. На третьем - данные при клике на кнопку "Список терминалов" в веб интерфейсе одного из терминалов. Будет вообще классно, если смогу видеть полезные данные в обоих случаях.
По поводу "формата ответов". Может выразился неправильно. Мне надо полезные данные. А каким образом я их получу, не суть важно. Скажете как их расшифровать - отлично, сам напишу скрипты, которые будут с данными работать дальше. Предоставите исполняемый файл под линукс, который сможет висеть на 779 порту на DHCP сервере и "расшифровывать" полезные данные - тоже отлично. Хотя, первый вариант меня устроил бы больше. Сдаётся мне, что и других пользователей вашего продукта тоже))).
Вложения
photo_2024-04-17_17-17-02.jpg
photo_2024-04-17_17-17-02.jpg (164.1 КБ) 562 просмотра
photo_2024-04-17_17-16-35.jpg
photo_2024-04-17_17-16-35.jpg (149.63 КБ) 562 просмотра
photo_2024-04-17_17-20-23.jpg
photo_2024-04-17_17-20-23.jpg (168.54 КБ) 562 просмотра
aka
Разработчик
Разработчик
Сообщения: 11853
Зарегистрирован: Ср окт 01, 2003 12:06 am
Откуда: Роcсия, Тольятти
Контактная информация:

Re: Как WTware узнаёт информацию о соседях?

Сообщение aka »

Первый байт:
1 - discover, запрос переклички. Дальше ничего не будет.
2 - ответ на перекличку или самопредставление сразу после загрузки.

4 байта длины строки с версией.
Строка однобайтовых, версия.

4 байта длины строки имени хоста.
Строка однобайтовых, имя хоста.

6 байт МАК.

Дальше перечисление: "один байт команды, возможно полезная нагрузка".

Команда 1 - загрузились по сети, следом 4 байта IP dhcp сервера.

Команда 2 - загрузились с сидирома.

Команда 3 или 4 - загрузились с диска или USB флешки.

Команда 5 - платформа, следом 1 байт:
x86 = 1
uefi = 2
pi = 3
pi_64 = 4

Команда 6 - IP терминала. Следом 4 байта IP терминала. Может отличаться от IP отправителя пакета если терминал за NAT. Это чтобы работало discover= в конфиге.

Команда 8 - имя юзера с доменом. Следом один байт длины в двухбайтовых и затейливо ксореные двухбайтовые имя юзера с доменом.

Команда 7 - подпись всего что было в пакете до неё. Следом 64 байта подписи. Она должна быть последней в пакете. Не хочу открывать ключи.

Всё.
Alex_rs
Сообщения: 15
Зарегистрирован: Ср июн 02, 2021 12:48 pm

Re: Как WTware узнаёт информацию о соседях?

Сообщение Alex_rs »

Спасибо огромное за столь развёрнутый ответ.
К сожалению, он не даёт ответа на вопрос, как узнать имя пользователя. Я понимаю, что там
затейливо ксореные двухбайтовые имя юзера с доменом
Но может расскажете, как их расксорить? Вероятнее всего эти данные ксорятся чем-то, что есть ранее в пакете?
Ключи ненужны. Но если ключ участвует в ксоре, ну что поделать.
aka
Разработчик
Разработчик
Сообщения: 11853
Зарегистрирован: Ср окт 01, 2003 12:06 am
Откуда: Роcсия, Тольятти
Контактная информация:

Re: Как WTware узнаёт информацию о соседях?

Сообщение aka »

Проще собрать исполнимый файл для линуксов чем расписать, как оно ксорится. Вчера надо или подождёт неделю?
Alex_rs
Сообщения: 15
Зарегистрирован: Ср июн 02, 2021 12:48 pm

Re: Как WTware узнаёт информацию о соседях?

Сообщение Alex_rs »

aka писал(а): Сб апр 20, 2024 11:57 pm Проще собрать исполнимый файл для линуксов чем расписать, как оно ксорится. Вчера надо или подождёт неделю?
Конечно подождет. Буду признателен.
Ответить

Вернуться в «Остальное»