В этой статье мы рассмотрим несколько функций Wireshark, позволяющих повысить эффективность анализа захваченного сетевого трафика; выясним, откуда взять файлы захвата сетевого трафика и каковы базовые требования к ним; и, наконец, разберёмся — можно ли автоматизировать захват и анализ трафика цифровой подстанции.
Три функции Wireshark для повышения эффективности анализа трафика
Wireshark — один из самых популярных инструментов захвата и анализа сетевого трафика. Он обладает широким набором функций, обеспечивающих удобный и детальный анализ сетевых данных. Рассмотрим несколько функций Wireshark, которые позволят значительно повысить производительность при анализе захваченного трафика.
Фильтры отображения на панели инструментов
Одна из наиболее известных и полезных функций Wireshark — Display filter (фильтр отображения). С его помощью можно указать Wireshark отображать только те кадры, которые соответствуют выражению фильтра. При применении Display filter остальные данные захвата скрываются, но не удаляются; вернуться к исходному захвату можно, очистив выражение фильтра.
Например, при анализе захвата трафика цифровой подстанции можно настроить Wireshark так, чтобы отображались только сообщения GOOSE — без трафика Sampled Values — или только клиент-серверные коммуникации (MMS). При задании выражений Display filter можно не только указать интересующий протокол, но и конкретные поля протокола с определёнными значениями. Например, применительно к трафику цифровой подстанции можно отобразить все сообщения Sampled Values с полем SmpSynch, равным Local; симулированные сообщения GOOSE/SV; сообщения GOOSE/SV с атрибутами качества данных определённого значения (invalid, test и т.д.).
Наиболее распространённый способ ввода и применения выражения Display filter — текстовое поле над панелью Packet List.

Если некоторые фильтры используются часто, можно добавить кнопки фильтров на панель меню, чтобы не вводить их вручную каждый раз. Для добавления кнопки фильтра введите выражение в текстовое поле Display filter и нажмите кнопку плюс (+) справа. В новой строке ниже укажите метку кнопки и комментарий; поле выражения фильтра уже будет заполнено.

После нажатия OK кнопка фильтра появится на панели меню. Нажатие кнопки применяет фильтр.

Быстрый ввод выражений Display filter доступен и через кнопку-лентой слева от панели — выберите Save this filter. Откроется окно со всеми сохранёнными фильтрами, включая только что добавленный. Присвойте имя фильтру двойным щелчком и нажмите OK. Теперь фильтр доступен из списка.
Используя эти функции, вы избавитесь от необходимости вручную вводить часто используемые выражения Display filter. Создайте специфические фильтры для GOOSE, Sampled Values, MMS, PTP и других протоколов цифровых подстанций с указанием конкретных полей и их значений.
Важно отметить: применив Display filter, можно экспортировать только отображаемые данные, передав коллегам лишь релевантную часть захвата.
Маркировка и комментирование кадров
Обнаруженные интересные кадры можно отметить. Отмеченные кадры легко выделяются среди остальных — они отображаются с чёрным фоном. Полезная функция: на основе оригинального захвата можно создать новый файл, включающий только отмеченные кадры или все кадры от первого до последнего отмеченного (File → Export Specified Packets). Это удобно для передачи результатов расследования коллегам без отправки всего захвата целиком.
Для маркировки кадра кликните на нём в панели Packet List и нажмите Ctrl+M. Для маркировки нескольких кадров выберите несколько и используйте ту же комбинацию. Для снятия маркировки — повторите действие.

Единственный недостаток маркировки — она не сохраняется в файлах pcap/pcapng. При повторном открытии файла отмеченные кадры не отображаются.
Для передачи результатов анализа коллегам можно использовать функцию комментариев к пакетам. Кликните правой кнопкой на кадре в панели Packet List, выберите Packet Comment и введите текст заметки. Затем сохраните файл захвата в формате pcapng (формат по умолчанию для Wireshark начиная с версии 1.8). Коллеги смогут использовать выражение Display filter frame.comment для отображения всех кадров с комментариями. Сам комментарий отображается в панели Packet Details.

Отображение пользовательских имён ИЭУ вместо MAC и IP-адресов
Инженеры, работающие с Wireshark, наверняка замечали, что Wireshark заменяет первые три октета MAC-адреса (OUI — Organizationally Unique Identifier) сетевого интерфейса ИЭУ названием его производителя. Но можно ли настроить замену конкретных MAC-адресов пользовательскими именами? Например, вместо MAC 00:26:57:01:34:6e отображать Protection_IED, а вместо 64:60:38:d0:34:6e — Eth.switch_SW22.
Аналогично было бы удобно заменять IP-адреса пользовательскими именами ИЭУ — например, вместо 192.168.1.100 отображать SCADA.
Всё это значительно упрощает анализ сетевого трафика. И ответ — да, это возможно.
В Windows: Help → About; в macOS: Wireshark → About Wireshark. В диалоговом окне выберите вкладку Folders и нажмите ссылку рядом с Personal configuration. В открывшейся папке создайте текстовый файл с именем ethers. В нём укажите MAC-адреса и пользовательские имена (через пробел) для всех ИЭУ, трафик которых ожидается в файле захвата. Сохраните изменения.
00.26.57.01.25.9f Protection_W1E
00.26.57.01.25.9d Protection_W1E
00.26.57.01.32.a7 Protection_W2E
00.26.57.01.25.99 Protection_W2E
00.26.57.01.38.2a SCU_W1E
4a.00.62.06.45.a8 SCU_W2E
64:60:38:d0:b8:18 Eth.switch_SW1
64:60:38:d0:b7:18 Eth.switch_SW2
Аналогично создайте или отредактируйте текстовый файл с именем hosts. Укажите IP-адреса и пользовательские имена через пробел. Сохраните изменения.
192.168.1.210 Time_server_Main
192.168.161.74 DFR
Для использования этих файлов перейдите в Preferences → Name resolution и убедитесь, что установлены флажки Resolve MAC addresses и Resolve network (IP) addresses. Перезапустите Wireshark.

Экспорт в CSV/JSON и другие форматы
Wireshark предоставляет возможность экспорта данных в различные форматы — CSV, JSON, простой текст, XML и др.
CSV — один из наиболее распространённых форматов, поскольку его можно открыть в Microsoft Excel. С помощью встроенных функций Excel можно быстро искать определённые кадры и даже строить графики, визуализируя токи, напряжения и дискретные сигналы, передаваемые в сообщениях GOOSE, Sampled Values и MMS.
Для экспорта данных разверните кадр, выберите интересующее поле (например, данные тока/напряжения в сообщении Sampled Values), кликните правой кнопкой и выберите Apply as a column. Затем выберите File → Export Packet Dissections, укажите нужный формат (например, CSV) и кадры для включения в экспорт.

Знакомые с Python могут автоматизировать обработку, анализ и визуализацию данных — ограничение только в ваших навыках и знаниях.
Откуда брать файлы захвата трафика?
Конечно, можно использовать ПК с Wireshark для захвата трафика. Но один ПК не сможет захватить весь трафик цифровой подстанции. Во-первых, объём данных слишком велик; во-вторых, для захвата всего трафика необходимо подключиться к разным сегментам сети (шина станции, шина процесса), а синхронизация данных между ними без специализированного программного обеспечения — нетривиальная задача.
Для иллюстрации масштабов: для небольшой подстанции 110 кВ с 22 потоками Sampled Values и 120 сообщениями GOOSE потребуется около 100 ТБ/месяц хранилища. Для хранения данных в течение 6 месяцев — 600 ТБ. Стоимость такого решения сопоставима со стоимостью нескольких шкафов РЗА.
Альтернатива: выполнять захват трафика по аналогии с аварийными регистраторами — запускать запись по событиям в системе связи (потеря сообщения, изменение качества синхронизации времени и т.д.), изменению данных в сообщениях и другим критериям. Записанные данные включают трафик до и после события в одном файле PCAP, с данными из нескольких сегментов сети, выровненными по метке времени. При таком подходе можно хранить и обрабатывать PCAP-файлы за несколько лет.
Описанная функциональность реализована в регистраторе событий высокоавтоматизированной подстанции ПТК «Теквел Парк» (РС ВАПС ПТК «Теквел Парк»). Система имеет модульную структуру: сервер и устройства мониторинга сети.

ПТК «Теквел Парк» легко масштабируется для захвата всего сетевого трафика подстанции за счёт необходимого количества устройств мониторинга, обеспечивающих не только захват, но и обработку данных.

Пользователь может скачать файл захвата PCAP из ПТК «Теквел Парк» для каждого выявленного события и провести анализ с помощью функций Wireshark, описанных в этой статье.
Можно ли автоматизировать анализ трафика цифровой подстанции?
Да. Именно для этого создан ПТК «Теквел Парк». По сравнению с Wireshark, он обладает рядом выдающихся функций:
- Онлайн-мониторинг трафика IEC 61850 в сопоставлении с SCD-файлом. Пользователь получает подробную информацию о параметрах сообщений, не соответствующих конфигурации по SCD-файлу, в журнале событий ПТК «Теквел Парк».
- Автоматическое обнаружение нарушений связи IEC 61850 (сбои счётчиков сообщений, изменения статуса синхронизации времени, потеря сообщений и т.д.). Все нарушения сохраняются в журнале событий с временной меткой, именем ИЭУ и именем управляющего блока.
- Автоматическое обнаружение изменений данных в сообщениях GOOSE/Sampled Values.
- Запись трафика по событиям, выявленным ПТК «Теквел Парк», с захватом трафика до и после события в виде единого файла PCAP.

- Визуализация осциллограмм на основе данных GOOSE и Sampled Values с описанием сигналов на родном языке.

В большинстве случаев вам вообще не нужно загружать PCAP-файл из ПТК «Теквел Парк» и анализировать его вручную — этот анализ выполняется автоматически в режиме онлайн.
Не потеряйтесь в сетях цифровой подстанции!