Отключение протоколов в Tshark

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

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии (лабораторной работе) вы научитесь управлять анализом протоколов в командной строке инструмента Wireshark - tshark, путем выборочного отключения и включения протоколов. Вы научитесь считывать пакетные захваты с помощью параметра -r, исключать UDP-трафик с использованием --disable-protocol udp и проверять результаты с помощью подробного вывода (-V).

В упражнениях вы получите практический опыт в фильтрации протоколов, сравнении вывода и управлении отображением. Вы будете работать с примером файла capture.pcap, изучая важные команды tshark в структурированной лабораторной среде.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL wireshark(("Wireshark")) -.-> wireshark/WiresharkGroup(["Wireshark"]) wireshark/WiresharkGroup -.-> wireshark/display_filters("Display Filters") wireshark/WiresharkGroup -.-> wireshark/protocol_dissection("Protocol Dissection") wireshark/WiresharkGroup -.-> wireshark/packet_analysis("Packet Analysis") wireshark/WiresharkGroup -.-> wireshark/commandline_usage("Command Line Usage") subgraph Lab Skills wireshark/display_filters -.-> lab-548922{{"Отключение протоколов в Tshark"}} wireshark/protocol_dissection -.-> lab-548922{{"Отключение протоколов в Tshark"}} wireshark/packet_analysis -.-> lab-548922{{"Отключение протоколов в Tshark"}} wireshark/commandline_usage -.-> lab-548922{{"Отключение протоколов в Tshark"}} end

Чтение файла с использованием -r capture.pcap

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

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

    cd ~/project
  2. В лабораторной среде предоставлен пример файла с пакетными захватами с именем capture.pcap. Прежде чем продолжить, давайте проверим его существование и посмотрим на его свойства. Команда ls -l показывает подробную информацию о файле, включая размер и разрешения:

    ls -l capture.pcap

    Вы должны увидеть вывод, похожий на следующий:

    -rw-r--r-- 1 labex labex 12345 Jan 1 00:00 capture.pcap
  3. Теперь мы будем считывать файл с пакетными захватами с помощью tshark. Базовая команда просто отображает сводку по каждому пакету, включая временную метку, адреса источника и назначения, а также протокол:

    tshark -r capture.pcap
  4. Для более глубокого анализа мы можем использовать флаг -V, чтобы увидеть подробный вывод. Это показывает все детали протокола и содержимое пакетов в иерархическом формате, что полезно, когда вам нужно рассмотреть конкретные поля протокола:

    tshark -r capture.pcap -V
  5. При работе с большими файлами с пакетными захватами вы, возможно, захотите ограничить вывод. Опция -c позволяет вам указать, сколько пакетов нужно отобразить. Здесь мы показываем только первые 5 пакетов:

    tshark -r capture.pcap -c 5

Отключение UDP с помощью --disable-protocol udp

На этом этапе вы научитесь фильтровать UDP (User Datagram Protocol - протокол пользовательских датаграмм) - трафик при анализе пакетных захватов с использованием командной строки инструмента Wireshark - tshark. UDP - это распространенный транспортный протокол, но иногда вы можете захотеть исключить его, чтобы сосредоточиться на анализе других протоколов, таких как TCP. Опция --disable-protocol позволяет полностью игнорировать UDP - пакеты во время анализа.

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

    cd ~/project
  2. Чтобы отключить анализ протокола UDP при чтении файла с пакетными захватами, используйте опцию --disable-protocol, за которой следует имя протокола. Это сообщает tshark пропустить обработку любых пакетов, использующих UDP:

    tshark -r capture.pcap --disable-protocol udp
  3. Давайте сравним этот отфильтрованный вывод с исходным, неотфильтрованным выводом из шага 1. Команда head -n 10 показывает только первые 10 строк вывода для удобства сравнения:

    tshark -r capture.pcap --disable-protocol udp | head -n 10

    Вы должны заметить, что UDP - пакеты теперь отсутствуют в выводе.

  4. Чтобы правильно проверить, что UDP - пакеты исключаются, мы можем подсчитать их до и после применения фильтра. Первая команда подсчитывает все UDP - пакеты в исходном файле, а вторая должна вернуть 0, так как мы отключили обработку UDP:

    ## Count all UDP packets in original capture
    tshark -r capture.pcap -Y "udp" | wc -l
    
    ## Count UDP packets after disabling protocol (should be 0)
    tshark -r capture.pcap --disable-protocol udp -Y "udp" | wc -l
  5. Вы можете комбинировать отключение протокола с другими фильтрами отображения. В этом примере показывается только TCP - трафик, при этом на уровне обработки полностью игнорируются все UDP - пакеты:

    tshark -r capture.pcap --disable-protocol udp -Y "tcp"

    Помните, что --disable-protocol работает по - другому, чем фильтры отображения (-Y) - он предотвращает даже обработку протокола в tshark, а не просто скрывает его из вида.

Проверка исключения с использованием -V

На этом этапе мы проверим, правильно ли Tshark исключает UDP - пакеты из анализа. Флаг подробного вывода (-V) позволяет нам видеть подробную информацию о пакетах, что помогает подтвердить, работает ли настройка --disable-protocol udp корректно. Это важно, так как анализ сети часто требует сосредоточиться на определенных протоколах, игнорируя другие.

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

    cd ~/project
  2. Теперь запустите tshark с флагами отключения протокола и подробного вывода. Команда head -n 30 показывает только первые 30 строк вывода, что упрощает его просмотр:

    tshark -r capture.pcap --disable-protocol udp -V | head -n 30

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

  3. Чтобы конкретно проверить отсутствие протокола UDP, мы используем grep для поиска "UDP" в выводе. Команда wc -l подсчитывает количество совпадающих строк:

    tshark -r capture.pcap --disable-protocol udp -V | grep -i "udp" | wc -l

    Если счетчик равен нулю, это подтверждает, что Tshark не обрабатывает никаких UDP - пакетов. Если вы видите какое - то число больше нуля, то исключение работает неправильно.

  4. Для сравнения давайте посмотрим, как выглядит обычный подробный вывод без отключения протокола:

    tshark -r capture.pcap -V | grep -i "udp" | head -n 5

    Эта команда может показать UDP - пакеты, если они есть в вашем файле с пакетными захватами. Разница между этим выводом и выводом предыдущей команды демонстрирует эффект --disable-protocol udp.

  5. Наконец, давайте подробно рассмотрим только один пакет, чтобы проверить исключение протокола на уровне пакета:

    tshark -r capture.pcap --disable-protocol udp -V -c 1

    Опция -c 1 ограничивает вывод только одним пакетом. Проверьте протоколовые слои в выводе этого пакета - вы не должны увидеть упоминания о UDP в иерархии протоколов.

Повторное включение с помощью --enable-protocol udp

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

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

    cd ~/project

    Эта команда переходит в директорию проекта, где мы будем работать с файлом пакетных захватов (capture.pcap).

  2. Чтобы снова активировать анализ протокола UDP, используйте опцию --enable-protocol, за которой следует имя протокола:

    tshark -r capture.pcap --enable-protocol udp

    Это сообщает tshark снова обрабатывать UDP - пакеты при чтении файла с пакетными захватами.

  3. Давайте проверим, что UDP - пакеты теперь обрабатываются, подсчитав их:

    tshark -r capture.pcap --enable-protocol udp -Y "udp" | wc -l

    Фильтр -Y "udp" показывает только UDP - пакеты, а wc -l подсчитывает их. Теперь вы должны увидеть UDP - пакеты, если они есть в вашем захвате.

  4. Чтобы ясно увидеть разницу, сравните выводы с включенным и отключенным UDP:

    ## With UDP enabled (should display UDP packets)
    tshark -r capture.pcap --enable-protocol udp -Y "udp" | head -n 5
    
    ## With UDP disabled (should show empty output)
    tshark -r capture.pcap --disable-protocol udp -Y "udp" | head -n 5

    Команда head -n 5 показывает только первые 5 строк вывода для быстрого сравнения.

  5. Для тщательной проверки убедитесь, что детали протокола UDP появляются в подробном выводе:

    tshark -r capture.pcap --enable-protocol udp -V | grep -i "User Datagram Protocol" | head -n 3

    Флаг -V показывает подробную информацию о пакетах, и мы фильтруем заголовки протокола UDP, чтобы подтвердить, что они снова обрабатываются.

Резюме

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

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