Введение
В этой лабораторной работе вы научитесь фильтровать сетевой трафик с помощью Wireshark — незаменимого инструмента для сетевого анализа. Вы попрактикуетесь в анализе готового файла захвата пакетов, научитесь применять фильтры отображения для выделения нужного трафика и экспортировать отфильтрованные результаты для дальнейшего изучения. Эти навыки помогут вам выявлять сетевые закономерности, устранять проблемы с подключением и понимать принципы сетевого взаимодействия.
Начало работы с Tshark
Прежде чем переходить к графическому интерфейсу, вы начнете работу с tshark — консольной версией Wireshark. Это мощный инструмент для быстрого анализа и автоматизации с помощью скриптов. На этом этапе вы проверите установку и проведете базовый осмотр предоставленного файла захвата пакетов.
Сначала убедитесь, что
tsharkустановлен правильно, проверив его версию.tshark --versionВы должны увидеть вывод с указанием версии Wireshark и
tshark, примерно такой:TShark (Wireshark) x.x.x (Git vx.x.x packaged as x.x.x-1) ...Образец файла захвата пакетов с именем
capture.pcapуже находится в директории вашего проекта. Используйте командуls, чтобы подтвердить его наличие.ls -lh capture.pcapВывод покажет сведения о файле, включая его размер и имя.
-rw-rw-r-- 1 labex labex 9.1M Oct 24 2015 capture.pcapЧтобы получить общую сводку по файлу захвата, воспользуйтесь утилитой
capinfos, которая поставляется вместе с Wireshark.capinfos capture.pcapЭта команда предоставляет метаданные о файле, такие как количество пакетов, длительность захвата и средний размер пакета.
File name: capture.pcap File type: Wireshark/tcpdump/... - pcap File encapsulation: Ethernet File timestamp precision: microseconds (6) Packet size limit: file hdr: 65535 bytes Number of packets: 14 k File size: 9444 kB Data size: 9216 kB Capture duration: 298.505344 seconds First packet time: 2011-01-26 02:52:22.484409 Last packet time: 2011-01-26 02:57:20.989753 Data byte rate: 30 kBps Data bit rate: 247 kbps Average packet size: 646.28 bytes Average packet rate: 47 packets/s SHA256: 77d06d3f33f1a95fb9f2610f20ead8ce978449077d6ba22d4945b85bd48f75d1 RIPEMD160: 68e950b2e438c7be011a46646ddfc8105b65b339 SHA1: 06e502dca8dbfe8e6a9cabc61f722d94756f6db9 Strict time order: True Number of interfaces in file: 1 Interface #0 info: Encapsulation = Ethernet (1 - ether) Capture length = 65535 Time precision = microseconds (6) Time ticks per second = 1000000 Number of stat entries = 0 Number of packets = 14261Наконец, используйте
tshark, чтобы прочитать первые пять пакетов из файла. Флаг-rуказывает входной файл, а-cограничивает количество выводимых пакетов.tshark -r capture.pcap -c 5Это выведет краткую сводку в одну строку для каждого из первых пяти пакетов, позволяя быстро взглянуть на трафик.
1 0.000000 192.168.3.131 → 72.14.213.138 HTTP 997 GET /complete/search?client=chrome&hl=en-US&q=cr HTTP/1.1 2 0.029841 72.14.213.138 → 192.168.3.131 HTTP 440 HTTP/1.1 200 OK (text/javascript) 3 0.223883 192.168.3.131 → 72.14.213.102 TCP 66 55950 → 80 [SYN] Seq=0 Win=8192 Len=0 MSS=1460 WS=4 SACK_PERM=1 4 0.229423 192.168.3.131 → 72.14.213.138 TCP 54 57011 → 80 [ACK] Seq=944 Ack=387 Win=16192 Len=0 5 0.242649 72.14.213.102 → 192.168.3.131 TCP 66 80 → 55950 [SYN, ACK] Seq=0 Ack=1 Win=5720 Len=0 MSS=1430 SACK_PERM=1 WS=64
Базовая фильтрация в Tshark
Файлы захвата могут содержать тысячи пакетов, что затрудняет поиск нужной информации. Фильтры отображения используются для сужения области просмотра только до тех пакетов, которые соответствуют определенным критериям. На этом этапе вы научитесь применять базовые фильтры с помощью tshark.
Фильтры отображения применяются с помощью флага
-Y(заглавная Y). Чтобы просмотреть только TCP-пакеты, используйте фильтрtcp. Давайте посмотрим первые пять TCP-пакетов в файле.tshark -r capture.pcap -Y "tcp" -c 5Теперь в выводе будут отображаться только те пакеты, в которых используется протокол TCP.
Вы также можете фильтровать данные на основе IP-адресов. Чтобы увидеть все пакеты, исходящие с IP-адреса источника
192.168.3.131, используйте фильтрip.src.tshark -r capture.pcap -Y "ip.src == 192.168.3.131" -c 5Обратите внимание на использование
==для точного соответствия.Фильтры можно комбинировать с помощью логических операторов, таких как
&&(И). Чтобы найти TCP-пакеты с IP-адреса источника192.168.3.131, объедините два предыдущих фильтра.tshark -r capture.pcap -Y "tcp && ip.src == 192.168.3.131"Вы можете сохранить отфильтрованный результат в новый файл захвата для последующего анализа. Флаг
-wуказывает выходной файл. Давайте сохраним отфильтрованные TCP-пакеты в файл с именемfiltered_tcp.pcap.tshark -r capture.pcap -Y "tcp && ip.src == 192.168.3.131" -w filtered_tcp.pcapУбедитесь, что новый файл был создан.
ls -lh filtered_tcp.pcapВы увидите ваш новый, уменьшенный файл захвата в списке директории.
Изучение трафика в графическом интерфейсе Wireshark
Хотя tshark отлично подходит для автоматизации, графический интерфейс (GUI) Wireshark предоставляет богатую интерактивную среду для глубокого анализа пакетов. На этом этапе вы запустите Wireshark и изучите его основные компоненты.
Запустите приложение Wireshark из терминала. Важно: убедитесь, что вы используете Desktop Interface (Рабочий стол), а не просто терминал, так как Wireshark — это графическое приложение, которому для работы требуется графическая среда. Символ амперсанда
&в конце команды запускает приложение в фоновом режиме, освобождая терминал для других команд.wireshark &Примечание: Если вы попытаетесь запустить эту команду в обычном терминале без графической оболочки, Wireshark не запустится. Всегда используйте Desktop Interface для работы с графическими приложениями.

Появится главное окно Wireshark. Поскольку мы анализируем уже существующий файл, выбирать сетевой интерфейс не нужно. Вместо этого откройте файл
capture.pcap.- Перейдите в строку меню и выберите
File->Open.... - В диалоговом окне выбора файла перейдите в
/home/labex/projectи выберитеcapture.pcap. - Нажмите кнопку
Open.
- Перейдите в строку меню и выберите
Главное окно заполнится пакетами из файла. Потратьте немного времени, чтобы ознакомиться с тремя основными панелями:

- Панель списка пакетов (сверху): Список всех пакетов в захвате с колонками для номера пакета, времени, источника, назначения, протокола и другой сводной информации.
- Панель деталей пакета (посередине): Детальное древовидное представление уровней протоколов для выбранного в данный момент пакета. Вы можете развернуть каждый уровень (например, Ethernet, IP, TCP), чтобы увидеть его поля.
- Панель байтов пакета (снизу): Необработанные данные выбранного пакета, отображаемые в шестнадцатеричном и ASCII форматах.
Нажимайте на разные пакеты в верхней панели и наблюдайте, как соответствующим образом обновляется информация в панелях деталей и байтов. Такое интерактивное исследование — одна из самых мощных функций Wireshark.
Применение фильтров отображения в GUI
Синтаксис фильтров отображения, который вы изучили в tshark, идентичен синтаксису в графическом интерфейсе Wireshark. GUI обеспечивает мгновенную визуальную обратную связь, что упрощает создание и тестирование сложных фильтров.
Найдите панель фильтра отображения в верхней части окна Wireshark. Это длинное текстовое поле, в котором часто в качестве подсказки написано "Apply a display filter...".
Давайте отфильтруем HTTP-трафик. Введите
httpв строку фильтра и нажмитеEnterили кнопкуApply(стрелка справа от строки).http
Панель списка пакетов мгновенно обновится, показывая только HTTP-пакеты. Обратите внимание, что строка фильтра стала зеленой — это означает, что синтаксис фильтра корректен. Если вы введете неверный фильтр, строка станет красной.
Теперь найдем весь DNS-трафик. Очистите предыдущий фильтр, введите
dnsв строку фильтра и нажмитеEnter.dnsТеперь вы увидите все запросы и ответы системы доменных имен (DNS) в данном захвате.
Вы можете комбинировать фильтры так же, как делали это в
tshark. Чтобы найти HTTP-трафик, связанный с IP-адресом192.168.3.131(в качестве источника или назначения), используйте фильтрip.addrв сочетании с фильтромhttp.http && ip.addr == 192.168.3.131
Эта мощная комбинация позволяет сфокусироваться на конкретных диалогах между узлами. Поэкспериментируйте с другими фильтрами, например,
tcp.port == 80(для трафика на стандартном HTTP-порту) илиudp(для UDP-трафика). Чтобы сбросить фильтр и снова увидеть все пакеты, нажмите кнопкуXв строке фильтра.
Экспорт отфильтрованных данных
После фильтрации трафика для изоляции интересующего события часто требуется экспортировать результаты для отчета, обмена данными или дальнейшего анализа в других инструментах. Wireshark и tshark предоставляют несколько способов экспорта данных.
Сначала в графическом интерфейсе Wireshark примените фильтр
http, как вы делали на предыдущем шаге.Чтобы сохранить только отображаемые (отфильтрованные) пакеты в новый файл захвата:
- Перейдите в
File->Export Specified Packets.... - В диалоговом окне убедитесь, что в разделе "All Packets" выбран переключатель
Displayed. - Назовите файл
http_capture.pcapи сохраните его в директории/home/labex/project.

- Перейдите в
Вы также можете экспортировать сводку пакетов в виде текстового файла или CSV. Для экспорта в CSV:
- Перейдите в
File->Export Packet Dissections->As CSV.... - Убедитесь, что для "All Packets" выбрано значение
Displayed. - Назовите файл
http_packets.csvи сохраните его в директории проекта.
- Перейдите в
Те же операции экспорта можно выполнить с помощью
tsharkв командной строке. Это полезно для автоматизации. Следующая команда читает исходныйcapture.pcap, фильтрует по протоколуhttpи экспортирует определенные поля в CSV-файл.tshark -r capture.pcap -Y "http" -T fields -e frame.number -e ip.src -e ip.dst -e http.request.method -e http.host -E header=y -E separator=, > http_export_cli.csv-T fields: задает формат вывода.-e ...: указывает поля (колонки) для экспорта.-E header=y: добавляет строку заголовка.-E separator=,: использует запятую в качестве разделителя.
Проверьте, что экспортированные файлы были созданы.
ls -lh http_*Вы должны увидеть файлы
http_capture.pcap,http_packets.csvиhttp_export_cli.csvв вашей директории.
Резюме
В этой лабораторной работе вы изучили основы фильтрации сетевого трафика с помощью Wireshark и его консольного аналога tshark. Вы начали с проверки файла захвата с помощью tshark и capinfos. Затем вы попрактиковались в применении фильтров отображения для изоляции конкретных протоколов и IP-адресов — сначала в командной строке, а затем в интерактивном графическом интерфейсе Wireshark. Наконец, вы научились экспортировать отфильтрованные результаты в новые файлы захвата и удобные для чтения CSV-файлы для отчетности и анализа. Эти базовые навыки являются фундаментом для любой задачи по анализу сетей или поиску неисправностей.


