Как использовать Wireshark для захвата, фильтрации и проверки пакетов

Wireshark, инструмент сетевого анализа, ранее известный как Ethereal, захватывает пакеты в реальном времени и отображает их в удобочитаемом формате. Wireshark включает в себя фильтры, цветовую обозначение и другие функции, которые позволяют глубоко копаться в сетевом трафике и проверять отдельные пакеты.

Это руководство познакомит вас с основами захвата пакетов, их фильтрации и проверки. Вы можете использовать Wireshark для проверки сетевого трафика подозрительной программы, анализа потока трафика в вашей сети или устранения сетевых проблем.

Как установить Wireshark

Вы можете скачать Wireshark для Windows или macOS с официального сайта. Если вы используете Linux или другую UNIX-подобную систему, вы, вероятно, найдете Wireshark в его репозиториях пакетов. Например, если вы используете Ubuntu, вы найдете Wireshark в Центре программного обеспечения Ubuntu.

Небольшое предупреждение: многие организации не разрешают использовать Wireshark и аналогичные инструменты в своих сетях. Не используйте этот инструмент на работе, если у вас нет разрешения.

После запуска инсталятора вам будет предложено выбрать компоненты для установки — оставьте все значения по умолчанию, поскольку это там отмечены нужные компоненты.

Захват пакетов

После загрузки и установки Wireshark вы можете запустить эту программу. В разделе «Захват» вы увидите названия всех доступных сетей (сетевых интерфейсов), рядом с которыми будет график сетевой активности.

Дважды щёлкните имя сетевого интерфейса, чтобы начать захват пакетов на этом интерфейсе. Например, если вы хотите захватить трафик в беспроводной сети, щёлкните свой беспроводной интерфейс. Вы можете настроить расширенные функции, нажав «Захват» → «Опции», но пока в этом нет необходимости.

Как только вы нажмёте на название интерфейса, вы увидите, что пакеты начинают появляться в реальном времени. Wireshark фиксирует каждый пакет, отправленный в вашу систему или из неё.

Если у вас включён неразборчивый режим (он включён по умолчанию), вы также увидите все другие пакеты в сети, а не только пакеты, адресованные вашему сетевому адаптеру. Чтобы проверить, включён ли неразборчивый режим, нажмите «Захват» → «Опции» и убедитесь, что в нижней части этого окна активирован флажок «Включить смешанный режим на всех интерфейсах».

Вы увидите, что даже если вы не выполняете никаких действий, то в сети всё равно непрерывно происходит некая активность.

Нажмите красную кнопку «Остановить захват пакетов» в верхнем левом углу окна, если хотите прекратить захват трафика.

Цветовое кодирование

Вы, вероятно, увидите пакеты, выделенные разными цветами. Wireshark использует цвета, чтобы помочь вам с первого взгляда определить типы трафика. По умолчанию серый цвет соответствует трафику TCP, бирюзовый — трафику UDP, а чёрный цвет обозначает пакеты с ошибками — например, они могли быть доставлены не по порядку.

Чтобы точно увидеть, что означают цветовые коды, нажмите «Просмотр» → «Цветовые правила». Вы также можете настроить и изменить правила раскраски здесь, если хотите.

Образцы захвата

Если в вашей собственной сети нет ничего интересного для проверки, вам поможет вики Wireshark. Вики-сайт содержит страницу с образцами файлов захвата, которые вы можете загрузить и проверить. Щёлкните Файл → Открыть в Wireshark и найдите загруженный файл, чтобы открыть его.

Вы также можете сохранить в файлы свои собственные захваченные сетевые данные в Wireshark и открыть их позже. Щёлкните Файл → Сохранить, чтобы сохранить захваченные пакеты.

Фильтрация пакетов

Если вы пытаетесь проверить что-то конкретное, например трафик, который программа отправляет при звонке домой, лучше закрыть все другие приложения, использующие сеть, чтобы вы могли уменьшить количество трафика, не имеющего отношение к вашему анализу. Тем не менее, вам, вероятно, всё равно придётся просеивать большое количество пакетов. Вот тут-то и пригодятся фильтры Wireshark.

Самый простой способ применить фильтр — ввести его в поле фильтра в верхней части окна и нажать «Применить» (или нажать Enter). Например, введите «dns», и вы увидите только пакеты DNS. Когда вы начнёте вводить текст, Wireshark поможет вам автоматически заполнить фильтр.

Вы также можете нажать Анализ → Дисплейные Фильтры (не очень удачный перевод), чтобы выбрать фильтр из заготовленного списка фильтров по умолчанию, включённых в Wireshark. Отсюда вы можете добавить свои собственные фильтры и сохранить их, чтобы легко получить к ним доступ в будущем.

Приведём несколько примером фильтров Wireshark.

Чтобы увидеть все DNS запросы и ответы:

dns

Фильтр, который показывает только данные, переданные методом POST:

http.request.method == "POST"

Фильтр, который показывает только данные, переданные методом GET:

http.request.method == "GET"

Поиск запросов к определённому сайту (хосту):

http.host == "<URL>"

Поиск запросов к определённому сайту по части имени:

http.host contains "здесь.частичное.имя"

Фильтр для вывода HTTP запросов, в которых передавались кукиз:

http.cookie

Запросы, в которых сервер установил кукиз в браузер пользователя.

http.set_cookie

Нужно понимать, что мы не можем искать по содержимому передаваемых зашифрованных данных (по очевидным причинам — данные зашифрованы). То есть сетевой трафик к сайтам по протоколу HTTPS не всегда доступны для анализа.

Поиск сетевых подключений, в которых портом назначения был порт из диапазона 8000-8180:

tcp.dstport>=8000 && tcp.dstport<=8180

Показать IPv6 трафик:

ipv6

Для показа ARP трафика:

arp

Показать трафик, источником которого является хост с IP адресом 138.201.81.199:

ip.src == 138.201.81.199

Показать трафик, адресатом которого является хост с IP адресом 138.201.81.199:

ip.dst == 138.201.81.199

Более подробный список смотрите в статье: Фильтры Wireshark

Ещё одна интересная вещь, которую вы можете сделать, — это щёлкнуть пакет правой кнопкой мыши и выбрать Следовать → Поток TCP.

Вы увидите полный TCP-диалог между клиентом и сервером. Вы также можете щёлкнуть другие протоколы в меню Следовать, чтобы просмотреть полные разговоры для других протоколов, если это применимо.

Закройте окно, и вы увидите, что фильтр применён автоматически. Wireshark показывает пакеты, из которых состоит беседа.

Анализ пакетов

Щёлкните пакет, чтобы выбрать его, и вы можете углубиться в его свойства, чтобы досконально просмотреть сведения о нем.

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

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

Вы можете найти ссылки на разнообразные инструкции с Wireshark на русском языке на странице: https://kali.tools/?p=1407


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

wp-puzzle.com logo