Информация в сети передается с помощью пакетов. Каждый из них состоит из заголовка, данных и контрольной суммы:
Заголовок |
Данные |
Выравнивание до целого числа байт |
Контрольная сумма | ||
Адрес источника |
Адрес назначения |
Размер данных (бит) |
1 байт
| ||
6 байт |
6 байт |
2 байта |
Вася обнаружил в исходящем сетевом трафике своего компьютера несколько странных пакетов и подозревает, что в них содержится скрытое сообщение. Помогите Васе определить, что именно было передано?
001122332211009988776655005188888888888888888888D33C
001122332211009988776655006988888888888888888888888888F745
00112233221100998877665500298888888888EF34
001122332211009988776655003988888888888888F237
001122332211009988776655006988888888888888888888888888E442
Структура пакета напоминает сетевой протокол Ethernet, в котором данные передаются в виде пакетов, состоящих из заголовка, данных и контрольной суммы. В заголовках присутствует обязательно MAC-адрес источника (6 байт), MAC-адрес получателя (6 байт), размер пакета (вычисляется автоматически). Контрольная сумма вычисляется автоматически.
В заголовке все поля стандартные и нельзя их использовать для передачи какой-либо информации.
Пользователь может повлиять на значение следующих полей пакета:
· поле данных,
· поле размера данных (вычисляется исходя из размера поля данных).
Если рассматривать поле данных обнаруженных пакетов, то можно заметить следующую особенность: поле данных содержит одинаковую информацию («8»), но при этом для каждого пакета имеет различный размер.
По указанной особенности можно сделать предположение, что полезная информация передавалась путем формирования пакетов определенного размера. Если взять значения, которые необходимо добавить для выравнивания пакета до целого числа байт, то можно заметить, что в ASCII-таблице им соответствуют читаемые буквы. В результате анализа всех пакетов получаем сообщение из 5 символов с кодами 0x53, 0x77, 0x6F, 0x72, 0x64, что соответствует слову «Sword».