Введение
В этом практическом занятии (лабораторной работе) вы научитесь основным техникам отладки с использованием командной строки инструмента Wireshark — Tshark. Вы узнаете, как устанавливать уровни отладки с помощью параметра --log-level, захватывать текущий сетевой трафик на интерфейсе eth1 с использованием параметра -i и сохранять логи в файлы с помощью параметра --log-file для дальнейшего анализа.
В ходе практических упражнений вы научитесь настраивать режимы отладки, отслеживать сетевой трафик и интерпретировать выходные данные логов. В рамках этого практического занятия вы получите практический опыт работы с основными функциями отладки Tshark в контролируемой среде виртуальной машины.
Установка уровня отладки с помощью --log-level debug
На этом этапе вы научитесь настраивать уровень детализации лог-сообщений при использовании командной строки инструмента Wireshark — tshark. Флаг --log-level позволяет контролировать объем информации, выводимой tshark, что особенно полезно, когда вам нужно понять, что происходит «за кулисами», или решить проблемы.
Сначала подготовим рабочую среду. Откройте терминал в виртуальной машине LabEx. Мы будем работать в каталоге проекта по умолчанию, чтобы все было организовано:
cd ~/projectБазовая структура команды для настройки уровней логирования проста. Вы просто указываете желаемый уровень после флага:
tshark --log-level <level>Вот наиболее часто используемые уровни логирования, от менее до более детального:
critical- Отображает только серьезные ошибки, которые могут помешать работеtsharkwarning- Показывает потенциальные проблемы, не являющиеся критическими, но заслуживающие вниманияmessage- Уровень по умолчанию, который показывает обычные сообщения о работе программыinfo- Предоставляет дополнительную информационную информацию о действияхtsharkdebug- Показывает самую детальную техническую информацию для глубокой отладки
В этом упражнении мы будем использовать уровень
debug, чтобы увидеть максимальное количество информации. Это поможет нам понять все внутренние операцииtshark. Запустите эту команду:tshark --log-level debugПосле выполнения команды вы заметите гораздо больше выходных данных, чем обычно. Этот отладочный вывод включает в себя детали инициализации, внутренние сообщения обработки и техническую информацию о том, как
tsharkобрабатывает сетевой трафик.Когда вы готовы остановить
tshark, просто нажмитеCtrl+Cв терминале. Эта комбинация клавиш отправляет сигнал прерывания для остановки текущей выполняемой команды.
Захват трафика с использованием -i eth1
На этом этапе мы узнаем, как захватывать текущий сетевой трафик с помощью мощного командного инструмента Wireshark — tshark. Сетевые интерфейсы представляют собой физические или виртуальные точки, через которые ваше компьютер подключается к сети, а eth1 обычно является первым Ethernet-интерфейсом в системах Linux.
Сначала определим, какие сетевые интерфейсы доступны на вашей виртуальной машине LabEx. Это поможет нам убедиться, что мы отслеживаем правильный интерфейс:
tshark -DЭта команда выводит список всех сетевых интерфейсов, к которым
tsharkможет получить доступ. Найдитеeth1в выводе — это обычно ваш основной Ethernet-соединение.Теперь начнем захватывать реальный сетевой трафик. Флаг
-iуказываетtshark, какой интерфейс нужно отслеживать:tshark -i eth1По мере передачи пакетов по сети вы будете видеть их в режиме реального времени. Каждая строка представляет один сетевой пакет и показывает:
- Точное время его захвата (таймстамп)
- Откуда он пришел и куда направлен (IP-адреса)
- Какой тип сетевого взаимодействия он содержит (протокол)
- Сколько данных он несет (длина пакета)
Дайте процессу захвата работать около 10 секунд, чтобы собрать репрезентативную выборку трафика. Когда будете готовы, нажмите
Ctrl+C, чтобы остановить захват. Это даст вам практический опыт захвата пакетов в режиме реального времени.Иногда вам может понадобиться захватить определенное количество пакетов. Флаг
-cпозволяет установить такое ограничение:tshark -i eth1 -c 10Эта команда автоматически остановится после захвата ровно 10 пакетов, что полезно для быстрых тестов.
Вы можете сочетать это с отладкой, чтобы получить более подробную информацию о процессе захвата:
tshark -i eth1 --log-level debugЭто показывает не только пакеты, но и внутренние операции
tshark, помогая вам понять, что происходит «за кулисами».
Запись логов в файл с использованием --log-file tshark.log
На этом этапе вы научитесь сохранять логи захвата tshark в файл для последующего анализа с помощью опции --log-file. Это особенно полезно, когда вам нужно документировать шаблоны сетевого трафика или устранить проблемы с подключением, так как позволяет вам просматривать данные в удобное для вас время, а не следить за выводом в режиме реального времени.
Сначала убедитесь, что вы находитесь в каталоге по умолчанию. Это важно, так как файл журнала будет создан в текущем каталоге:
cd ~/projectЧтобы начать захватывать сетевой трафик и одновременно сохранять все логи в файл с именем
tshark.log, выполните эту команду. Параметр-i eth1указывает, что мы осуществляем захват с Ethernet-интерфейса:tshark -i eth1 --log-file tshark.logДайте процессу захвата работать около 10 секунд, чтобы собрать достаточное количество данных, а затем нажмите
Ctrl+C, чтобы корректно остановить процесс захвата. Этот сигнал прерывания клавиатуры гарантирует, что файл журнала будет правильно закрыт.Проверьте, что файл журнала был успешно создан, выведя содержимое каталога. Флаг
-lпоказывает подробную информацию о файле, включая размер и временную метку:ls -l tshark.logВы должны увидеть файл в списке с указанием его размера и времени создания, что подтверждает, что захват прошел как ожидалось.
Просмотрите содержимое файла журнала, чтобы изучить захваченные пакеты. Команда
catотображает все содержимое файла в терминале:cat tshark.logВывод будет показывать захваченные пакеты в удобочитаемом формате, включая временные метки, адреса источника и назначения, а также информацию о протоколе.
Для более полного примера, объединяющего предыдущие шаги, попробуйте эту расширенную команду, которая включает несколько полезных параметров:
tshark -i eth1 --log-level debug --log-file tshark.log -c 20Эта комплексная команда будет:
- Захватывать пакеты конкретно с сетевого интерфейса
eth1 - Устанавливать уровень логирования на
debugдля максимальной детализации - Сохранять весь вывод в файл
tshark.log - Автоматически останавливаться после захвата ровно 20 пакетов
- Захватывать пакеты конкретно с сетевого интерфейса
Проверка логов на наличие ошибок
На этом этапе вы проанализируете файл журнала tshark, созданный на предыдущем этапе, чтобы выявить возможные сетевые проблемы и ошибки. Это важный навык для устранения неполадок в сети, так как журналы предоставляют подробные записи сетевой активности и потенциальных проблем.
Сначала перейдите в каталог проекта, если вы еще не находитесь в нем. Это гарантирует, что вы работаете с правильным файлом журнала:
cd ~/projectПросмотрите полное содержимое файла журнала, чтобы получить общее представление о захваченном сетевом трафике. Команда
catотображает все содержимое файла в терминале:cat tshark.logЧтобы найти конкретно сообщения об ошибках в журнале, используйте
grepс регистронезависимым сопоставлением (флаг-i). Это поможет найти все записи об ошибках, независимо от регистра букв:grep -i "error" tshark.logДля более комплексного анализа и поиска нескольких типов проблем, включая предупреждения и сбои, используйте флаг
-E, который позволяет использовать расширенные регулярные выражения:grep -E -i "error|warning|fail" tshark.logЧтобы определить количество ошибок, передайте вывод
grepв утилиту подсчета слов (wc) с опцией подсчета строк (-l). Это даст вам быстрое представление о том, сколько ошибок было записано:grep -i "error" tshark.log | wc -lДля более структурированного представления ошибок на уровне пакетов используйте фильтр отображения
tshark(-Y), чтобы показать только кадры с флагами ошибок. Это поможет выявить проблемные пакеты в вашем захвате:tshark -r tshark.log -Y "frame.error_flag == 1"Чтобы сохранить только сообщения об ошибках для дальнейшего анализа или отчетности, перенаправьте вывод
grepв новый файл. Это создаст чистый журнал, содержащий только ошибки:grep -i "error" tshark.log > errors.txt
Резюме
В этом лабораторном занятии вы научились практическим методам анализа сетевого трафика с использованием командной строки tshark из пакета Wireshark. Вы изучили настройку уровня отладки с помощью параметра --log-level debug для получения подробных операционных сообщений, что является важным аспектом при устранении сложных сетевых проблем.
Кроме того, вы практиковались в захвате активного сетевого трафика на интерфейсе eth1, определяя доступные интерфейсы и анализируя данные пакетов в режиме реального времени. Эти базовые навыки позволяют эффективно отслеживать сеть и диагностировать проблемы в командной строке.


