узел спит · сигнал не получен

Пробуждённый узел

Где-то в сети стоит машина, которая не отвечает на запросы. Она не сломана — она ждёт последовательность, которую никто не догадался отправить. Четыре ступени. Ответ каждой становится ключом к следующей. Бумаги и калькулятора достаточно.

Ступеней
Четыре. Пропустить нельзя: третья не решается без первой, четвёртая — без второй.
Что понадобится
Побитовое исключающее ИЛИ, длина префикса подсети и внимание к границам диапазонов.
Подсказки
По три на ступень, открываются по одной. Взятая подсказка ничего не портит.
Прогресс
Хранится в браузере. Вернётесь — продолжите с той же ступени.
Ступень 01

Дамп памяти

открыта

Узел держит в служебной странице восемь байт. Каждый из них обязан удовлетворять правилу b[i] = (i × 0x1F) ⊕ 0x5A, где i — номер ячейки, а ⊕ — побитовое исключающее ИЛИ. Один байт искажён. Назовите номер ячейки.

005A
0145
0264
0307
0426
05C9
06E0
0783
Ступень 02

Таблица маршрутов

заперта

Узел собирается ответить по адресу 10.82.1.37. Выбирается маршрут с самым длинным совпадающим префиксом — но только среди тех, в чей диапазон адрес действительно попадает. Назовите имя интерфейса.

СетьИнтерфейс
0.0.0.0/0wan
10.82.0.0/16alpha
10.82.1.0/24beta
10.82.1.32/28gamma
10.82.1.36/30delta
10.82.1.40/29epsilon
Ступень 03

Рукопожатие

заперта

Узел отдаёт шесть байт. Это слово из шести латинских букв, к каждому байту которого применили исключающее ИЛИ с одним и тем же ключом. Ключ узлу неоткуда взять — он берёт его из первой ступени. Назовите слово.

// принято от узла
47 40 44 46 4A 4B
Ступень 04

Позывной

заперта

Последнее. Узел просыпается на широковещательный адрес той сети, которую вы нашли во второй ступени. Позывной собирается из трёх частей через дефис: имя интерфейса — слово рукопожатия — последний октет широковещательного адреса.

// ожидаемый вид
<интерфейс>-<слово>-<октет>

Узел спит

Пока ни одна ступень не пройдена. Начните с дампа памяти — он открыт.

— · — · ·   ожидание