Введение
В этой лабораторной работе вы научитесь фильтровать сетевой трафик с помощью 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Обратите внимание: для точного совпадения используется оператор
==.Фильтры можно объединять с помощью логических операторов, например
&&(AND). Чтобы найти 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 отлично подходит для автоматизации, но графический интерфейс Wireshark (GUI) предоставляет удобную интерактивную среду для подробного анализа пакетов. На этом этапе вы запустите GUI Wireshark и изучите его основные компоненты.
Запустите приложение Wireshark из терминала. Важно: используйте Desktop Interface, а не отдельный Terminal Interface, поскольку Wireshark — графическое приложение, которому для корректной работы требуется графическая среда. Символ
&в конце команды запускает приложение в фоновом режиме и освобождает терминал для выполнения других команд.wireshark &Не закрывайте Wireshark, пока не завершите этот этап и не выполните проверку этапа.
Примечание: Если выполнить эту команду в отдельном терминале без рабочего стола, Wireshark не запустится. Для графических приложений всегда используйте Desktop Interface.

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

- Панель списка пакетов (сверху): список всех пакетов в захвате с колонками номера пакета, времени, источника, назначения, протокола и другими сводными сведениями.
- Панель сведений о пакете (посередине): подробное, раскрываемое представление уровней протокола выбранного пакета. Можно раскрыть каждый уровень, например Ethernet, IP или TCP, и просмотреть его поля.
- Панель байтов пакета (снизу): исходные данные выбранного пакета в шестнадцатеричном формате и ASCII.
Нажимайте разные пакеты в панели списка пакетов и наблюдайте, как соответствующим образом меняются сведения на панелях сведений о пакете и байтов пакета. Такая интерактивная работа — одна из самых мощных возможностей Wireshark.
Применение фильтров отображения в GUI
Синтаксис фильтров отображения, изученный в tshark, работает в GUI Wireshark точно так же. GUI сразу показывает результат, поэтому в нём удобно создавать и проверять сложные фильтры.
Найдите панель фильтра отображения в верхней части окна Wireshark. Это длинное текстовое поле; обычно в нём отображается подсказка «Apply a display filter...».
Отфильтруем HTTP-трафик. Введите
httpв панель фильтра и нажмитеEnterлибо кнопкуApply(стрелку справа от панели).http
Панель списка пакетов сразу обновится и покажет только HTTP-пакеты. Обратите внимание: панель фильтра станет зелёной, что означает корректный синтаксис фильтра. Если ввести некорректный фильтр, панель станет красной.
Теперь найдём весь DNS-трафик. Очистите предыдущий фильтр, введите
dnsв панель фильтра и нажмитеEnter.dnsТеперь вы увидите все запросы и ответы Domain Name System в файле захвата.
Фильтры можно объединять так же, как в
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 предоставляют несколько способов экспорта данных.
Сначала примените в GUI 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-адресов: сначала в tshark, а затем в интерактивном GUI Wireshark. В заключение вы научились экспортировать отфильтрованные результаты в новые файлы захвата и удобные для чтения CSV-файлы для отчётности и анализа. Эти базовые навыки необходимы для анализа сетей и устранения неполадок.

