Мониторинг трафика в реальном времени в Tshark

WiresharkBeginner
Практиковаться сейчас

Введение

В этом практическом занятии (лабораторной работе) вы научитесь отслеживать сетевой трафик в режиме реального времени с помощью командной строки инструмента Wireshark - tshark. Вы научитесь захватывать пакеты на интерфейсе eth1, настраивать обновление статистики в режиме реального времени и анализировать сводный вывод с использованием таких ключевых команд, как -i и --update-interval.

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

Начать захват с использованием -i eth1

На этом этапе вы научитесь запускать захват сетевых пакетов с помощью командной строки инструмента Wireshark - tshark на интерфейсе eth1. Это фундаментальная операция для анализа сетевого трафика.

Сетевые интерфейсы - это физические или виртуальные точки, через которые ваше компьютерное устройство подключается к сети. Флаг -i в tshark указывает, с какого сетевого интерфейса нужно захватывать пакеты. В большинстве систем Linux eth1 представляет собой первый Ethernet - интерфейс, который обычно является основным проводным сетевым подключением. В нашей виртуальной среде LabEx eth1 - это стандартный Ethernet - интерфейс, подключенный к сети.

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

Следуйте этим шагам, чтобы начать захват:

  1. Откройте терминал в виртуальной машине LabEx (вы должны находиться в каталоге ~/project).
  2. Выполните следующую команду, чтобы начать захват на интерфейсе eth1:
tshark -i eth1

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

По мере захвата пакетов вы должны увидеть вывод, похожий на следующий:

Capturing on 'eth1'
1 0.000000000 192.168.1.100 → 192.168.1.1    TCP 74 55942 → 80 [SYN] Seq=0 Win=64240 Len=0 MSS=1460 SACK_PERM=1 TSval=123456789 TSecr=0 WS=128
2 0.000123456 192.168.1.1 → 192.168.1.100    TCP 74 80 → 55942 [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0 MSS=1460 SACK_PERM=1 TSval=987654321 TSecr=123456789 WS=128

Каждая строка представляет собой захваченный пакет и показывает его временную метку, IP - адреса источника и назначения, тип протокола (в данном случае TCP) и различные детали, специфичные для протокола. Первый пакет показывает инициацию TCP - соединения (флаг SYN), а второй - ответ (SYN - ACK).

Чтобы остановить захват, нажмите Ctrl+C в терминале. Перед возвратом в командную строку будет отображена сводка по захваченным пакетам. В сводке содержатся статистические данные о количестве захваченных и обработанных пакетов.

Установить обновления с интервалом в 1 секунду с помощью --update-interval 1000

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

Параметр --update-interval контролирует, как часто tshark обновляет отображение. Значение задается в миллисекундах (мс), при этом 1000 мс равны 1 секунде. Это означает, что мы будем получать снимок сетевого трафика каждую секунду, что облегчает наблюдение за шаблонами и изменениями.

Прежде чем приступить, разберемся, что мы будем делать:

  • Мы отслеживаем сетевой интерфейс eth1 (стандартный Ethernet - порт на большинстве систем).
  • Вместо того чтобы видеть каждый отдельный пакет, мы увидим сводные подсчеты.
  • Отображение будет автоматически обновляться каждую секунду.

Вот как настроить это:

  1. Сначала убедитесь, что вы находитесь в правильной рабочей директории. Откройте терминал и перейдите в:
cd ~/project
  1. Теперь выполните эту команду, чтобы начать мониторинг с обновлениями каждую секунду:
tshark -i eth1 --update-interval 1000

После выполнения этой команды вы увидите вывод, похожий на следующий:

Capturing on 'eth1'
Packets: 15
Packets: 32
Packets: 47

Важные замечания о выводе:

  • Счетчик "Packets" показывает общее количество захваченных пакетов с момента запуска tshark.
  • Каждая новая строка представляет обновление после указанного интервала (1 секунда).
  • Числа будут различаться в зависимости от фактической сетевой активности.
  • Более высокие числа указывают на более интенсивный сетевой трафик в этот период.

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

Показать живую сводку с использованием -P

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

Параметр -P сообщает tshark отображать периодическую статистику вместо вывода каждого пакета. В сочетании с --update-interval он создает представление, похожее на панель мониторинга, которое обновляется с указанной периодичностью. Этот подход намного более эффективен, чем просмотр необработанных данных пакетов, когда вам нужен только обзор.

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

tshark -i eth1 --update-interval 1000 -P

Вот что делает каждая часть команды:

  • -i eth1 указывает на сетевой интерфейс, который нужно отслеживать.
  • --update-interval 1000 устанавливает частоту обновления в 1000 миллисекунд (1 секунда).
  • -P включает режим отображения периодической статистики.

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

Capturing on 'eth1'
Packets: 15    Avg. packet size: 342 bytes    Packets/s: 5
Packets: 32    Avg. packet size: 356 bytes    Packets/s: 8
Packets: 47    Avg. packet size: 378 bytes    Packets/s: 7

Эти метрики сообщают вам:

  1. Общее количество захваченных пакетов с момента запуска.
  2. Средний размер этих пакетов в байтах.
  3. Текущую скорость потока пакетов через интерфейс.

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

Прервать выполнение с помощью Ctrl+C

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

Когда вы запускаете tshark, он непрерывно отслеживает сетевой трафик и записывает данные в память. Нажатие Ctrl+C отправляет сигнал SIGINT (сигнал прерывания), который сообщает tshark:

  1. Незамедлительно остановить захват новых пакетов.
  2. Завершить и отобразить собранную статистику.
  3. Корректно выйти и вернуться к командной строке.

Вот что нужно сделать:

  1. Сначала убедитесь, что сессия захвата tshark запущена (используя ту же команду, что и ранее: -i eth1 --update-interval 1000 -P).
  2. На клавиатуре нажмите и удерживайте клавишу Ctrl.
  3. Пока удерживаете Ctrl, нажмите один раз клавишу C.

Вы увидите такой вывод:

^C
47 packets captured

Символ ^C подтверждает, что вы нажали Ctrl+C. Число показывает, сколько пакетов было успешно захвачено в течение сессии. Этот счетчик помогает убедиться, что захват данных прошел как ожидалось, прежде чем вы остановили его.

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

Резюме

В этом практическом занятии вы научились мониторить сетевой трафик в режиме реального времени с использованием Tshark, командной строки Wireshark. Ключевые методы включали запуск захвата пакетов на интерфейсе eth1 с помощью -i, настройку периодических обновлений с помощью --update-interval и отображение динамических сводок пакетов с использованием -P.

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