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

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

Популярные инструменты для анализа сетевых пакетов

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

Установка tcpdump

В системах на базе Debian, таких как Ubuntu, вы можете установить tcpdump с помощью следующей команды:

sudo apt install tcpdump

Захват данных пакетов в реальном времени

Чтобы начать захват данных на определенном интерфейсе, используйте флаг -i, за которым следует имя интерфейса.

pete@icebox:~$ sudo tcpdump -i wlan0
tcpdump: подробный вывод подавлен, используйте -v или -vv для полного декодирования протокола
прослушивание на wlan0, link-type EN10MB (Ethernet), размер захвата 65535 байт
11:28:23.958840 IP icebox.lan > nuq04s29-in-f4.1e100.net: ICMP echo request, id 1901, seq 2, length 64
11:28:23.970928 IP nuq04s29-in-f4.1e100.net > icebox.lan: ICMP echo reply, id 1901, seq 2, length 64
11:28:24.960464 IP icebox.lan > nuq04s29-in-f4.1e100.net: ICMP echo request, id 1901, seq 3, length 64
11:28:24.979299 IP nuq04s29-in-f4.1e100.net > icebox.lan: ICMP echo reply, id 1901, seq 3, length 64
11:28:25.961869 IP icebox.lan > nuq04s29-in-f4.1e100.net: ICMP echo request, id 1901, seq 4, length 64
11:28:25.976176 IP nuq04s29-in-f4.1e100.net > icebox.lan: ICMP echo reply, id 1901, seq 4, length 64
11:28:26.963667 IP icebox.lan > nuq04s29-in-f4.1e100.net: ICMP echo request, id 1901, seq 5, length 64
11:28:26.976137 IP nuq04s29-in-f4.1e100.net > icebox.lan: ICMP echo reply, id 1901, seq 5, length 64
11:28:30.674953 ARP, Request who-has 172.254.1.0 tell ThePickleParty.lan, length 28
11:28:31.190665 IP ThePickleParty.lan.51056 > 192.168.86.255.rfe: UDP, length 306

Вы заметите много активности при запуске захвата пакетов, что ожидаемо, учитывая постоянный фоновый сетевой трафик. Приведенный выше пример показывает фрагмент захвата, сделанного во время отправки ping-запроса на www.google.com.

Интерпретация вывода tcpdump

Давайте разберем строку из захвата:

11:28:23.958840 IP icebox.lan > nuq04s29-in-f4.1e100.net: ICMP echo request, id 1901, seq 2, length 64
  • Метка времени: Первое поле (11:28:23.958840) показывает, когда был захвачен пакет.
  • Протокол: IP указывает на протокол сетевого уровня.
  • Источник и назначение: icebox.lan > nuq04s29-in-f4.1e100.net показывает происхождение и назначение пакета.
  • Специфичная для протокола информация: Остальная часть строки содержит детали, специфичные для протокола. Для этого ICMP-пакета:
    • seq: Порядковый номер пакета.
    • length: Длина пакета в байтах.

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

Сохранение захватов для последующего анализа

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

sudo tcpdump -w /some/file.pcap

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

Войдите, чтобы сохранить ваш прогресс обучения

Вход

Упражнения

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

  1. Анализ Ethernet-кадров с помощью tcpdump в Linux - Практикуйтесь в захвате и инспекции Ethernet-кадров, генерации трафика и анализе заголовков кадров и MAC-адресов с помощью tcpdump.

Эта лабораторная работа поможет вам применить концепции анализа пакетов в реальном сценарии и повысить уверенность в устранении неполадок в сети.

Тест

Какой флаг используется для захвата определенного интерфейса с помощью tcpdump? Пожалуйста, ответьте, используя только требуемый флаг на английском языке. Ответ чувствителен к регистру.