Введение
Команде мероприятий Grove нужен достоверный пример того, как посетитель открывает сведения о Night Garden Walk. Вы используете реально записанный HTTP-трафик, чтобы найти нужное посещение, сопоставить запросы с ответами и подготовить запись, которую другой аналитик сможет открыть заново.
Предполагается, что вы умеете открывать файлы, вводить простые команды терминала и применять базовый фильтр отображения Wireshark. Программировать не нужно. Всю работу выполняйте в Desktop: терминал, Wireshark и текстовый редактор находятся в одном учебном контейнере. Это контролируемые записи, а не текущий трафик посетителей. Лабораторная работа запускается независимо; оценка времени включает чтение и обычные ошибки.
Выделите полное посещение
На этом шаге вы найдёте обычное посещение Cedar и экспортируете весь обмен. Начните в Desktop. В меню рабочего стола слева внизу откройте Applications → Terminal Emulator. Подготовленная запись является входным файлом; не меняйте её. Запустите Wireshark и откройте запись командой ниже. Пока Wireshark работает, терминал занят; продолжайте в окне Wireshark.
wireshark /home/labex/project/event-page/input/casebook.pcapng
Разверните окно кнопкой в строке заголовка. Верхняя панель содержит пакеты, средняя объясняет выбранный пакет, нижняя показывает его байты. Файл содержит три отдельных посещения локального сервиса мероприятий. Адрес сервиса — 127.0.0.1; клиентские адреса обозначают разные локальные тестовые идентичности, а не физические компьютеры.
| Посещение | Клиент | Роль в этой работе |
|---|---|---|
| cedar | 127.0.0.2 | Обычное посещение для передачи |
| willow | 127.0.0.3 | Другой посетитель вне этой передачи |
| birch | 127.0.0.4 | Другой посетитель вне этой передачи |
Нажмите строку фильтра над списком пакетов, введите выражение и нажмите Enter. ip.addr совпадает с любым концом соединения и сохраняет оба направления. == означает равенство. Фильтр отображения меняет представление, но не удаляет пакеты из входного файла.
ip.addr == 127.0.0.2
Откройте Statistics → Conversations, выберите вкладку TCP и при необходимости включите Limit to display filter. TCP-обмен включает оба адреса и оба порта. Его Duration учитывает простой, поэтому не измеряет отдельный HTTP-ответ. Убедитесь, что выбранное соединение связывает Cedar с сервисом, и закройте диалог.
Выберите запрос, у которого Info начинается с GET. HTTP — протокол запросов и ответов приложения. URI определяет запрошенный ресурс: здесь значение view выбирает list, details или programme. Нажмите запрос правой кнопкой и выберите Follow → TCP Stream. Прочитайте оба направления обмена, прокручивая при необходимости. Cedar дважды запрашивает сведения по одному соединению. Поэтому одинаковые URI и поток не определяют запрос однозначно.
Закройте окно Follow кнопкой Close. Wireshark оставит фильтр потока. Сохраните его: представление включает TCP-сегменты соединения, а не только пакеты с меткой HTTP. Если случайно выбрали другое посещение, замените фильтр выражением адреса Cedar и повторите Follow на его запросе.
Выберите File → Export Specified Packets. Сохраните как /home/labex/project/event-page/output/evidence.pcapng, формат pcapng, диапазон Displayed и All packets в отображаемом наборе. Храните входной файл отдельно. При неверном имени вывода повторите экспорт с нужным именем. Не используйте Export Packet Dissections: эта функция создаёт сводки, а не повторно используемую запись.

Перед сохранением проверьте столбец Displayed и вариант All packets. В примере отображаются 30 пакетов Cedar.
Через File → Open откройте новый evidence.pcapng. Примените http в строке фильтра. Ожидаются четыре GET-запроса и четыре HTTP-ответа; проверяйте не только число, но и содержание. Ответ может занимать несколько TCP-сегментов. Экспорт лишь строк HTTP способен потерять предыдущие сегменты, даже если исходное окно показывало полный ответ. Повторное открытие экспорта выявляет такую ошибку.
Если ответ отсутствует или не собирается заново, откройте исходную запись, восстановите фильтр адреса Cedar и снова экспортируйте полное соединение. Не заполняйте пропуски ответа текстом, набранным в другом файле.
Сопоставьте запросы с их фактическими ответами
Вы различите два запроса сведений и запишете все четыре верные пары. Начните в Desktop с открытым Wireshark. Через File → Open вернитесь к /home/labex/project/event-page/input/casebook.pcapng. Все номера кадров в следующей таблице относятся к этой исходной записи, а не к перенумерованному экспорту.
Соедините два условия оператором &&: должны выполняться оба. http выбирает декодированные HTTP-сообщения.
ip.addr == 127.0.0.2 && http
Выберите первый GET. Разверните Hypertext Transfer Protocol на средней панели треугольником либо выберите строку и нажмите Right Arrow. Прочитайте URI и заголовок X-Request. Это синтетическое приложение назначает каждому запросу собственный идентификатор, например cedar-01.
Найдите Response in frame. Нажмите поле правой кнопкой и выберите Go to Linked Packet. В разделе HTTP ответа поле Request in frame указывает обратно на исходный запрос. Важны обе ссылки: последний ответ потока не обязательно отвечает на первый запрос.
Разверните в ответе JavaScript Object Notation → Object → Member: title, при необходимости прокручивая среднюю панель, либо прочитайте полный обмен приложения через Follow → TCP Stream. Название мероприятия — Night Garden Walk. JSON представляет подписанные значения приложения: title — имя поля, слова в кавычках после него — значение. Читайте само значение, а не только код 200. Если JSON не виден, прокрутите среднюю панель.
Повторите для каждого запроса Cedar, включая оба запроса сведений. В этой фиксированной записи пары следующие:
| Кадр запроса в исходной записи | Соответствующий ответ | Название мероприятия |
|---|---|---|
| 4 | 10 | Night Garden Walk |
| 12 | 16 | Night Garden Walk |
| 17 | 21 | Night Garden Walk |
| 23 | 27 | Night Garden Walk |
Для удобства сравнения нажмите Response in frame в запросе правой кнопкой и выберите Apply as Column. Пустые ячейки у строк ответов нормальны: вместо этого у них есть Request in frame. Столбец служит подсказкой, а не обязательной настройкой профиля. Проверьте, что повторные запросы сведений ссылаются на разные ответы.

Читайте исходный номер кадра слева и Response in frame рядом. Два запроса сведений ведут к кадрам 16 и 27.
Создайте краткую таблицу передачи в графическом редакторе. Снова откройте Applications → Terminal Emulator, чтобы получить ещё один терминал в Desktop. mousepad запускает предоставленный редактор; абсолютный путь задаёт выходной файл.
mousepad /home/labex/project/event-page/output/pairs.csv
Введите весь CSV ниже. CSV разделяет поля запятыми, каждая строка содержит одну запись. Заголовок задаёт имена столбцов. В этих названиях нет запятых, поэтому дополнительные кавычки не нужны.
request_frame,response_frame,title
4,10,Night Garden Walk
12,16,Night Garden Walk
17,21,Night Garden Walk
23,27,Night Garden Walk
Сохраните через Ctrl+S. Если появится диалог, подтвердите точный каталог и имя pairs.csv. Вернитесь в Wireshark через окно или кнопку нижней панели. Сравните каждую строку CSV с фактическими ссылками запросов и ответов в исходной записи. Таблица документирует исследование, но не заменяет полный evidence.pcapng.
Резюме
Вы использовали статистику соединений Wireshark и Follow TCP Stream, чтобы выделить посещение, заново открыли полностью экспортированную запись и сопоставили повторяющиеся HTTP-запросы с их собственными ответами. Исходный файл не изменён; экспортированные пакеты и краткую таблицу пар можно проверить независимо.


