Введение
В этом лабораторном практикуме вы научитесь использовать фильтры отображения в командной строке Wireshark tshark для эффективного анализа сетевого трафика. Вы будете практиковаться в чтении файлов захвата пакетов (capture.pcap) и применении фильтров для выделения определённых шаблонов трафика, таких как пакеты от конкретных IP-адресов или TCP-портов.
Практические упражнения помогут вам освоить ключевые команды tshark, включая -r для чтения файлов и -Y для применения фильтров. Лабораторная работа делает упор на сравнении результатов с фильтром и без него, чтобы улучшить ваши навыки по устранению неполадок в сети.
Проверка установки Tshark и образцового файла
На этом начальном этапе вы подтвердите, что инструмент командной строки tshark установлен и что образец файла захвата пакетов доступен в вашей рабочей директории. Это гарантирует готовность вашей среды для последующих задач анализа сети.
Сначала проверьте установку
tshark, проверив его версию. Откройте терминал и выполните:tshark -vВы должны увидеть вывод, похожий на этот, указывающий на установку
tshark:TShark (Wireshark) X.Y.Z (Git vX.Y.Z-gXXXXXXXXXXXX) ...Номера версии (X.Y.Z) могут отличаться, но наличие вывода подтверждает готовность
tshark.Далее перейдите в директорию проекта, где находится образец файла захвата пакетов. Это стандартная рабочая директория для этого практикума:
cd ~/projectПроверьте, что образец файла захвата пакетов
capture.pcapсуществует в этой директории. Этот файл будет использоваться для всех последующих этапов анализа:ls -l capture.pcapВы должны увидеть вывод, похожий на этот:
-rw-r--r-- 1 labex labex 123456 Янв 1 00:00 capture.pcapЭтот вывод подтверждает права доступа, владельца, размер и дату изменения файла, указывая на его наличие и доступность.
Чтение файла захвата пакетов с помощью -r
В этом шаге вы узнаете, как читать и отображать содержимое файла захвата пакетов с помощью tshark. Флаг -r является основополагающим для указания входного файла, позволяя tshark анализировать предварительно записанный сетевой трафик вместо захвата данных в реальном времени.
Убедитесь, что вы находитесь в директории
~/project, так как именно там расположен наш файлcapture.pcap:cd ~/projectТеперь используйте
tsharkдля чтения и отображения всех пакетов из файлаcapture.pcap:tshark -r capture.pcapФлаг
-rуказываетtsharkна чтение из указанного файла. Эта команда выведет сводку каждого пакета непосредственно в ваш терминал.Вывод будет отображать основную информацию для каждого пакета в столбцах. Вы увидите такие детали, как номер пакета, метка времени, исходные и конечные IP-адреса, протокол и краткое описание. Например:
1 0.000000 10.0.2.15 → 10.0.0.2 TCP 74 80 → 49234 [SYN] Seq=0 Win=64240 Len=0 2 0.000123 10.0.0.2 → 10.0.2.15 TCP 74 49234 → 80 [SYN, ACK] Seq=0 Ack=1 Win=29200 Len=0 ...Каждая строка представляет один сетевой пакет, предоставляя краткий обзор трафика.
Поскольку
capture.pcapсодержит множество пакетов, вывод будет непрерывно прокручиваться. Чтобы остановить отображение и вернуться к командной строке, нажмитеCtrl+C. Эта комбинация клавиш безопасно завершит процессtshark.
Фильтрация по источнику IP с помощью -Y "ip.src==10.0.2.15"
В этом шаге вы узнаете, как применять фильтр отображения, чтобы показывать только пакеты, исходящие от определенного исходного IP-адреса. Опция -Y в tshark позволяет использовать мощную синтаксическую конструкцию фильтров отображения Wireshark для сужения анализа до релевантного трафика.
Убедитесь, что вы находитесь в директории
~/project:cd ~/projectТеперь отфильтруйте файл
capture.pcap, чтобы отобразить только пакеты, где исходный IP-адрес равен10.0.2.15. Фильтрip.src==10.0.2.15задаёт это условие:tshark -r capture.pcap -Y "ip.src==10.0.2.15"Флаг
-Yприменяет предоставленный в кавычках фильтр отображения.Команда выведет только пакеты, соответствующие критериям фильтра. Вы заметите, что каждый отображаемый пакет имеет
10.0.2.15в качестве исходного IP-адреса:1 0.000000 10.0.2.15 → 10.0.0.2 TCP 74 80 → 49234 [SYN] Seq=0 Win=64240 Len=0 3 0.000456 10.0.2.15 → 10.0.0.2 TCP 66 80 → 49234 [ACK] Seq=1 Ack=1 Win=64240 Len=0 ...Сравните этот вывод с результатами без фильтрации из предыдущего шага. Это демонстрирует, как фильтры отображения помогают сосредоточиться на определённых шаблонах трафика в большом файле захвата.
После завершения проверки отфильтрованного вывода нажмите
Ctrl+C, чтобы остановить отображение и вернуться к командной строке.
Комбинирование фильтров с помощью -Y "ip.src==10.0.2.15 и tcp.port==80"
В этом шаге вы научитесь объединять несколько фильтров отображения с помощью логических операторов для уточнения анализа сетевого трафика. Используя оператор and, вы можете указать, что пакеты должны удовлетворять всем определённым условиям, чтобы быть отображёнными, что позволяет проводить высоконаправленные исследования.
Убедитесь, что вы находитесь в директории
~/project:cd ~/projectТеперь давайте отфильтруем пакеты, которые одновременно удовлетворяют двум условиям: они должны исходить от IP-адреса
10.0.2.15И использовать TCP-порт80(обычно используемый для HTTP-трафика). Операторandгарантирует, что оба условия должны быть истинными для включения пакета в вывод:tshark -r capture.pcap -Y "ip.src==10.0.2.15 and tcp.port==80"Эта команда отобразит только пакеты, которые соответствуют как критериям исходного IP-адреса, так и критериям TCP-порта.
Вывод будет содержать только пакеты, удовлетворяющие обоим условиям. Например, вы можете увидеть HTTP-запросы или ответы с указанного IP-адреса:
1 0.000000 10.0.2.15 → 10.0.0.2 TCP 74 80 → 49234 [SYN] Seq=0 Win=64240 Len=0 5 0.001234 10.0.2.15 → 10.0.0.2 HTTP 145 GET /index.html HTTP/1.1 ...Обратите внимание, как этот объединённый фильтр даёт более точные результаты по сравнению с использованием отдельных фильтров. Этот метод имеет решающее значение для изоляции конкретных разговоров или трафика приложений.
После завершения проверки вывода нажмите
Ctrl+C, чтобы вернуться к командной строке.
Проверка вывода с помощью -P (Подробный просмотр пакетов)
В этом заключительном шаге вы узнаете, как отобразить подробную информацию о отфильтрованных пакетах с помощью опции -P утилиты tshark. Флаг -P особенно полезен, когда вы хотите видеть сводки пакетов, одновременно записывая пакеты в файл, или когда используется с другими опциями, подавляющими вывод.
Убедитесь, что вы находитесь в директории
~/project:cd ~/projectСначала давайте посмотрим разницу между использованием
-Pи его отсутствием при записи в файл. Запустите эту команду без-P:tshark -r capture.pcap -Y "ip.src==10.0.2.15 and tcp.port==80" -w filtered.pcapОбратите внимание, что никакая информация о пакетах не отображается на экране, потому что пакеты записываются в файл.
Теперь запустите ту же команду с опцией
-P:tshark -r capture.pcap -Y "ip.src==10.0.2.15 and tcp.port==80" -w filtered.pcap -PС флагом
-Pвы увидите сводки пакетов, отображаемые на экране, в то время как пакеты одновременно записываются в файл:1 0.000000 10.0.2.15 → 10.0.0.2 TCP 74 80 → 49234 [SYN] Seq=0 Win=64240 Len=0 2 0.000123 10.0.2.15 → 10.0.0.2 TCP 74 80 → 49234 [ACK] Seq=1 Ack=1 Win=64240 Len=0 ...Ещё один полезный сценарий — это сочетание
-Pс-q(режим без вывода). Сначала попробуйте только-q:tshark -r capture.pcap -Y "ip.src==10.0.2.15 and tcp.port==80" -qЭто подавляет весь вывод пакетов и показывает только счётчик в конце.
Теперь объедините
-qс-P:tshark -r capture.pcap -Y "ip.src==10.0.2.15 and tcp.port==80" -q -PОпция
-Pпереопределяет подавление-qи снова отображает сводки пакетов.
Опция -P наиболее полезна, когда вам нужно отслеживать обработку пакетов одновременно с сохранением отфильтрованных результатов в файл или когда вы хотите переопределить подавление вывода другими опциями, такими как -q.
Резюме
В этом лабораторном практикуме вы научились эффективно применять фильтры отображения с помощью командной строки Wireshark tshark для анализа сетевого трафика. Вы практиковались в чтении файлов PCAP с помощью -r, фильтрации по IP-адресам и портам с помощью -Y и объединении условий с логическими операторами, такими как and.
Упражнения продемонстрировали, как изолировать определённые шаблоны трафика и проверять результаты с помощью -P, снабдив вас необходимыми навыками для целенаправленного анализа пакетов. Эти методы позволяют эффективно устранять неполадки, сосредотачиваясь на релевантных сетевых данных.


