Wireshark

Подробное руководство по WireShark

Подробное руководство по WireShark
Wireshark - это бесплатный инструмент для проверки сетевого трафика с открытым исходным кодом. Он захватывает и отображает пакеты в реальном времени для автономного анализа в удобочитаемом формате с микроскопическими деталями. Он требует некоторых хороших знаний в области сетевых технологий и считается важным инструментом для системных администраторов и экспертов по сетевой безопасности.

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

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

Инструмент Wireshark состоит из богатого набора функций. Некоторые из них следующие:

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

Эта статья представляет собой подробное руководство, которое начинается с основ (i.е., фильтрация, сетевые уровни Wireshark и т. д.) и погрузит вас в глубину анализа трафика.

Фильтры Wireshark

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

Прежде чем переходить к деталям фильтров. Если вам интересно, как захватить сетевой трафик без какого-либо фильтра, вы можете либо нажать Ctrl + E, либо перейти к параметру «Захват» в интерфейсе Wireshark и нажать «Пуск».

Теперь давайте углубимся в доступные фильтры.

Фильтр захвата

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

Не путайте этот фильтр с фильтрами отображения. Это не фильтр отображения. Этот фильтр появляется в главном окне, который необходимо установить перед началом захвата пакета. Более того, вы не можете изменить этот фильтр во время захвата.

Вы можете перейти к Захватывать вариант интерфейса и выберите Фильтры захвата.

Вам будет предложено окно, как показано на снимке. Вы можете выбрать любой фильтр из списка фильтров или добавить / создать новый фильтр, нажав на + кнопка.

Примеры списка полезных фильтров захвата:

Фильтр отображения

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

Вы можете добавить фильтры на панели инструментов фильтра отображения прямо над первой панелью, содержащей информацию о пакете. Этот фильтр можно использовать для отображения пакетов на основе протокола, IP-адреса источника, IP-адреса назначения, портов, значения и информации полей, сравнения полей и многого другого.

Верно! Вы можете создать комбинацию фильтров, используя логические операторы, такие как ==.!=, ||, && и т. д.

Некоторые примеры фильтров отображения одного протокола TCP и комбинированного фильтра показаны ниже:

Сетевые уровни в Wireshark

Помимо проверки пакетов, Wireshark представляет уровни OSI, которые помогают в процессе устранения неполадок. Wireshark показывает слои в обратном порядке, например:

  1. Физический слой
  2. Уровень канала передачи данных
  3. Сетевой уровень
  4. Транспортный уровень
  5. Уровень приложения

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

Физический слой

Физический уровень, как показано на следующем снимке, представляет физическую сводку кадра, например информацию об оборудовании. Как сетевой администратор, вы обычно не извлекаете информацию из этого уровня.

Уровень канала передачи данных

Следующий уровень канала передачи данных содержит адрес сетевой карты источника и назначения. Это относительно просто, поскольку он доставляет только кадр с ноутбука на маршрутизатор или следующий соседний кадр на физическом носителе.

Сетевой уровень

Сетевой уровень представляет IP-адреса источника и назначения, версию IP, длину заголовка, общую длину пакета и множество другой информации.

Транспортный уровень

На этом уровне Wireshark отображает информацию о транспортном уровне, который состоит из порта SRC, порта DST, длины заголовка и порядкового номера, который изменяется для каждого пакета.

Уровень приложения

На последнем уровне вы можете увидеть, какой тип данных отправляется по среде и какое приложение используется, например FTP, HTTP, SSH и т. Д.

Анализ трафика

Анализ ICMP-трафика

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

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

ubuntu $ ubuntu: ~ $ ping google.ком

Использовать Ctrl + C для завершения процесса захвата пакетов в Wireshark. На снимке ниже вы можете заметить ICMP-пакет отправлен = ICMP-пакет получен с потерей пакетов 0%.

На панели захвата Wireshark выберите первый пакет ICMP_echo_request и просмотрите детали, открыв среднюю панель Wireshark.

На сетевом уровне вы можете заметить источник Src как мой ip_address, тогда как пункт назначения Dst ip_address относится к серверу Google, тогда как уровень IP упоминает протокол как ICMP.

Теперь мы увеличиваем детализацию ICMP-пакета, расширяя Internet Control Message Protocol и декодируем выделенные поля на снимке ниже:

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

Теперь в ответном пакете ICMP обратите внимание на уровень IPv4. Адреса источника и назначения поменялись местами.

На уровне ICMP проверьте и сравните следующие важные поля:

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

Анализ HTTP-трафика

HTTP - это протокол прикладного уровня передачи гипертекста. Он используется во всемирной паутине и определяет правила, когда HTTP-клиент / сервер передает / получает HTTP-команды. Наиболее часто используемые методы HTTP, такие как POST и GET:

ПОЧТА: этот метод используется для безопасной отправки конфиденциальной информации на сервер, которая не отображается в URL-адресе.

ПОЛУЧАТЬ: этот метод обычно используется для получения данных из адресной строки с веб-сервера.

Прежде чем мы углубимся в анализ пакетов HTTP, мы сначала кратко продемонстрируем трехстороннее рукопожатие TCP в Wireshark.

Трехстороннее рукопожатие TCP

При трехстороннем рукопожатии клиент инициирует соединение, отправляя SYN-пакет и получая ответ SYN-ACK от сервера, который подтверждается клиентом. Мы будем использовать команду сканирования соединения TCP Nmap, чтобы проиллюстрировать установление связи TCP между клиентом и сервером.

ubuntu $ ubuntu: ~ $ nmap -sT google.ком

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

Использовать TCP.порт == 80 фильтр, чтобы увидеть, установлено ли соединение через порт 80. Вы можете заметить полное трехстороннее рукопожатие, я.е., SYN, SYN-ACK, а также ACK, выделен в верхней части снимка, что свидетельствует о надежном соединении.

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

Для анализа HTTP-пакетов перейдите в свой браузер и вставьте URL-адрес документации Wireshark: http: // www.вафельница.com и загрузите руководство пользователя в формате PDF. А пока Wireshark должен захватывать все пакеты.

Примените фильтр HTTP и найдите HTTP GET запрос, отправленный на сервер клиентом. Чтобы просмотреть HTTP-пакет, выберите его и разверните уровень приложения на средней панели. В запросе может быть много заголовков, в том числе в зависимости от веб-сайта и браузера. Мы проанализируем заголовки, присутствующие в нашем запросе, на снимке ниже.

в HTTP ОК пакет от сервера к клиенту, наблюдая за информацией на уровне протокола передачи гипертекста, показывает «200 ОК«. Эта информация указывает на нормальную успешную передачу. В пакете HTTP OK вы можете наблюдать разные заголовки по сравнению с HTTP GET пакет. Эти заголовки содержат информацию о запрошенном контенте.

В этом разделе вы узнали, как работает HTTP и что происходит, когда мы запрашиваем контент в Интернете.

Заключение

Wireshark - самый популярный и мощный инструмент сетевого сниффера и анализа. Он широко используется в повседневных задачах анализа пакетов в различных организациях и институтах. В этой статье мы изучили некоторые темы Wireshark в Ubuntu для начинающих и среднего уровня. Мы узнали, какие фильтры предлагает Wireshark для анализа пакетов. Мы рассмотрели модель сетевого уровня в Wireshark и провели углубленный анализ пакетов ICMP и HTTP.

Однако изучение и понимание различных аспектов этого инструмента - долгий трудный путь. Следовательно, есть много других онлайн-лекций и учебных пособий, которые помогут вам по конкретным темам Wireshark. Вы можете следовать официальному руководству пользователя, доступному на сайте Wireshark. Более того, как только вы получите базовое понимание анализа протокола, также рекомендуется использовать такой инструмент, как Varonis, который указывает вам на потенциальную угрозу, а затем использовать Wireshark для расследования для лучшего понимания.

5 лучших эргономичных компьютерных мышей для Linux
Вызывает ли длительное использование компьютера боль в запястье или пальцах?? Вы страдаете от скованности суставов и постоянно должны пожимать руки? В...
Как изменить настройки мыши и сенсорной панели с помощью Xinput в Linux
Большинство дистрибутивов Linux по умолчанию поставляются с библиотекой libinput для обработки событий ввода в системе. Он может обрабатывать события ...
Переназначьте кнопки мыши по-разному для разных программ с помощью X-Mouse Button Control
Может быть, вам нужен инструмент, который мог бы изменять управление вашей мышью с каждым приложением, которое вы используете. В этом случае вы можете...