Шпаргалка по Wireshark

Изучите Wireshark с практическими лабораториями

Изучите анализ сетевых пакетов Wireshark с помощью практических лабораторий и сценариев реального мира. LabEx предлагает комплексные курсы по Wireshark, охватывающие основные методы захвата пакетов, фильтры отображения, анализ протоколов, устранение неполадок в сети и мониторинг безопасности. Освойте методы анализа сетевого трафика и инспекции пакетов.

Фильтры Захвата и Захват Трафика

Фильтрация по Хосту

Захват трафика к определенным хостам или от них.

# Захват трафика от/к определенному IP
host 192.168.1.100
# Захват трафика от источника
src host 192.168.1.100
# Захват трафика к получателю
dst host 192.168.1.100
# Захват трафика из подсети
net 192.168.1.0/24
Викторина

Войдите в систему, чтобы ответить на эту викторину и отслеживать свой прогресс обучения

Что фильтрует host 192.168.1.100 в Wireshark?
Весь трафик к 192.168.1.100 или от него
Только трафик от 192.168.1.100
Только трафик к 192.168.1.100
Трафик на порту 192.168.1.100

Фильтрация по Порту

Захват трафика на определенных портах.

# Трафик HTTP (порт 80)
port 80
# Трафик HTTPS (порт 443)
port 443
# Трафик SSH (порт 22)
port 22
# Трафик DNS (порт 53)
port 53
# Диапазон портов
portrange 1000-2000
Викторина

Войдите в систему, чтобы ответить на эту викторину и отслеживать свой прогресс обучения

Что фильтрует port 80 в Wireshark?
Только запросы HTTP
Только ответы HTTP
Только пакеты TCP
Весь трафик на порту 80 (как источник, так и получатель)

Фильтрация по Протоколу

Захват трафика определенного протокола.

# Только трафик TCP
tcp
# Только трафик UDP
udp
# Только трафик ICMP
icmp
# Только трафик ARP
arp

Расширенные Фильтры Захвата

Объединение нескольких условий для точного захвата.

# Трафик HTTP к указанному хосту или от него
host 192.168.1.100 and port 80
# Трафик TCP, кроме SSH
tcp and not port 22
# Трафик между двумя хостами
host 192.168.1.100 and host 192.168.1.200
# Трафик HTTP или HTTPS
port 80 or port 443
Викторина

Войдите в систему, чтобы ответить на эту викторину и отслеживать свой прогресс обучения

Что фильтрует tcp and not port 22?
Только трафик SSH
Весь трафик TCP, кроме SSH (порт 22)
Трафик UDP на порту 22
Весь сетевой трафик

Выбор Интерфейса

Выбор сетевых интерфейсов для захвата.

# Список доступных интерфейсов
tshark -D
# Захват на определенном интерфейсе
# Интерфейс Ethernet
eth0
# Интерфейс WiFi
wlan0
# Петлевой интерфейс
lo

Опции Захвата

Настройка параметров захвата.

# Ограничить размер файла захвата (МБ)
-a filesize:100
# Ограничить продолжительность захвата (секунды)
-a duration:300
# Кольцевой буфер с 10 файлами
-b files:10
# Неразборчивый режим (захват всего трафика)
-p

Фильтры Отображения и Анализ Пакетов

Базовые Фильтры Отображения

Основные фильтры для распространенных протоколов и типов трафика.

# Показать только трафик HTTP
http
# Показать только трафик HTTPS/TLS
tls
# Показать только трафик DNS
dns
# Показать только трафик TCP
tcp
# Показать только трафик UDP
udp
# Показать только трафик ICMP
icmp

Фильтрация по IP-Адресу

Фильтрация пакетов по IP-адресам источника и получателя.

# Трафик от определенного IP
ip.src == 192.168.1.100
# Трафик к определенному IP
ip.dst == 192.168.1.200
# Трафик между двумя IP
ip.addr == 192.168.1.100
# Трафик из подсети
ip.src_net == 192.168.1.0/24
# Исключить определенный IP
not ip.addr == 192.168.1.1

Фильтры Портов и Протоколов

Фильтрация по конкретным портам и деталям протокола.

# Трафик на определенном порту
tcp.port == 80
# Фильтр исходного порта
tcp.srcport == 443
# Фильтр целевого порта
tcp.dstport == 22
# Диапазон портов
tcp.port >= 1000 and tcp.port <=
2000
# Несколько портов
tcp.port in {80 443 8080}

Анализ Специфичных Протоколов

Анализ HTTP

Анализ запросов и ответов HTTP.

# Запросы GET HTTP
http.request.method == "GET"
# Запросы POST HTTP
http.request.method == "POST"
# Конкретные коды состояния HTTP
http.response.code == 404
# Запросы HTTP к определенному хосту
http.host == "example.com"
# Запросы HTTP, содержащие строку
http contains "login"

Анализ DNS

Изучение запросов и ответов DNS.

# Только запросы DNS
dns.flags.response == 0
# Только ответы DNS
dns.flags.response == 1
# Запросы DNS для определенного домена
dns.qry.name == "example.com"
# Запросы DNS типа A
dns.qry.type == 1
# Ошибки/сбои DNS
dns.flags.rcode != 0

Анализ TCP

Анализ деталей TCP-соединения.

# Пакеты TCP SYN (попытки соединения)
tcp.flags.syn == 1
# Пакеты TCP RST (сброс соединения)
tcp.flags.reset == 1
# Повторные передачи TCP
tcp.analysis.retransmission
# Проблемы с окном TCP
tcp.analysis.window_update
# Установление TCP-соединения
tcp.flags.syn == 1 and tcp.flags.ack == 0

Анализ TLS/SSL

Изучение деталей зашифрованных соединений.

# Пакеты рукопожатия TLS
tls.handshake
# Информация о сертификате TLS
tls.handshake.certificate
# Оповещения и ошибки TLS
tls.alert
# Конкретная версия TLS
tls.handshake.version == 0x0303
# TLS Server Name Indication
tls.handshake.extensions_server_name

Устранение Неполадок Сети

Выявление распространенных сетевых проблем.

# Сообщения ICMP Unreachable
icmp.type == 3
# Запросы/ответы ARP
arp.opcode == 1 or arp.opcode == 2
# Широковещательный трафик
eth.dst == ff:ff:ff:ff:ff:ff
# Фрагментированные пакеты
ip.flags.mf == 1
# Большие пакеты (потенциальные проблемы MTU)
frame.len > 1500

Фильтрация по Времени

Фильтрация пакетов по временной метке и времени.

# Пакеты в пределах временного диапазона
frame.time >= "2024-01-01 10:00:00"
# Пакеты за последний час
frame.time_relative >= -3600
# Анализ времени отклика
tcp.time_delta > 1.0
# Время между прибытиями
frame.time_delta > 0.1

Статистика и Инструменты Анализа

Иерархия Протоколов

Просмотр распределения протоколов в захвате.

# Доступ через: Statistics > Protocol Hierarchy
# Показывает процент каждого протокола
# Определяет наиболее распространенные протоколы
# Полезно для обзора трафика
# Эквивалент в командной строке
tshark -r capture.pcap -q -z io,phs

Соединения (Conversations)

Анализ связи между конечными точками.

# Доступ через: Statistics > Conversations
# Соединения Ethernet
# Соединения IPv4/IPv6
# Соединения TCP/UDP
# Показывает переданные байты, количество пакетов
# Эквивалент в командной строке
tshark -r capture.pcap -q -z conv,tcp

Графики I/O

Визуализация шаблонов трафика с течением времени.

# Доступ через: Statistics > I/O Graphs
# Объем трафика с течением времени
# Пакеты в секунду
# Байты в секунду
# Применение фильтров для конкретного трафика
# Полезно для выявления всплесков трафика

Экспертная Информация

Выявление потенциальных проблем с сетью.

# Доступ через: Analyze > Expert Info
# Предупреждения о сетевых проблемах
# Ошибки в передаче пакетов
# Проблемы с производительностью
# Вопросы безопасности
# Фильтрация по серьезности экспертной информации
tcp.analysis.flags

Графики Потока (Flow Graphs)

Визуализация последовательности пакетов между конечными точками.

# Доступ через: Statistics > Flow Graph
# Показывает последовательность пакетов
# Визуализация на основе времени
# Полезно для устранения неполадок
# Определяет шаблоны связи

Анализ Времени Отклика

Измерение времени отклика приложений.

# Время отклика HTTP
# Statistics > HTTP > Requests
# Время отклика DNS
# Statistics > DNS
# Время отклика службы TCP
# Statistics > TCP Stream Graphs > Time Sequence

Операции с Файлами и Экспорт

Сохранение и Загрузка Захватов

Управление файлами захвата в различных форматах.

# Сохранить файл захвата
# File > Save As > capture.pcap
# Загрузить файл захвата
# File > Open > existing.pcap
# Объединить несколько файлов захвата
# File > Merge > select files
# Сохранить только отфильтрованные пакеты
# File > Export Specified Packets

Опции Экспорта

Экспорт определенных данных или подмножеств пакетов.

# Экспорт выбранных пакетов
# File > Export Specified Packets
# Экспорт разбора пакетов
# File > Export Packet Dissections
# Экспорт объектов из HTTP
# File > Export Objects > HTTP
# Экспорт ключей SSL/TLS
# Edit > Preferences > Protocols > TLS

Захват в Командной Строке

Использование tshark для автоматизированного захвата и анализа.

# Захват в файл
tshark -i eth0 -w capture.pcap
# Захват с фильтром
tshark -i eth0 -f "port 80" -w http.pcap
# Чтение и отображение пакетов
tshark -r capture.pcap
# Применение фильтра отображения к файлу
tshark -r capture.pcap -Y "tcp.port == 80"

Пакетная Обработка

Автоматическая обработка нескольких файлов захвата.

# Объединение нескольких файлов
mergecap -w merged.pcap file1.pcap file2.pcap
# Разделение больших файлов захвата
editcap -c 1000 large.pcap split.pcap
# Извлечение временного диапазона
editcap -A "2024-01-01 10:00:00" \
        -B "2024-01-01 11:00:00" \
        input.pcap output.pcap

Производительность и Оптимизация

Управление Памятью

Эффективная работа с большими файлами захвата.

# Использование кольцевого буфера для непрерывного захвата
-b filesize:100 -b files:10
# Ограничение размера захвата пакета
-s 96  # Захват только первых 96 байт
# Использование фильтров захвата для уменьшения объема данных
host 192.168.1.100 and port 80
# Отключение разбора протоколов для скорости
-d tcp.port==80,http

Оптимизация Отображения

Улучшение производительности GUI при работе с большими наборами данных.

# Настройки для настройки:
# Edit > Preferences > Appearance
# Выбор цветовой схемы
# Размер и тип шрифта
# Параметры отображения столбцов
# Настройки формата времени
# View > Time Display Format
# Секунды с начала захвата
# Время суток
# Время по UTC

Эффективный Рабочий Процесс Анализа

Лучшие практики для анализа сетевого трафика.

# 1. Начинайте с фильтров захвата
# Захват только релевантного трафика
# 2. Используйте фильтры отображения последовательно
# Начните широко, затем сужайте
# 3. Сначала используйте статистику
# Получите общий обзор перед детальным анализом
# 4. Сосредоточьтесь на конкретных потоках
# Right-click packet > Follow > TCP Stream

Автоматизация и Скриптинг

Автоматизация общих задач анализа.

# Создание пользовательских кнопок фильтров отображения
# View > Display Filter Expression
# Использование профилей для разных сценариев
# Edit > Configuration Profiles
# Скрипты с tshark
#!/bin/bash
tshark -r $1 -q -z endpoints,tcp | \
grep -v "Filter:" | head -20

Установка и Настройка

Установка в Windows

Загрузка и установка с официального сайта.

# Загрузка с wireshark.org
# Запуск установщика от имени Администратора
# Включение WinPcap/Npcap
во время установки
# Установка через командную строку
(chocolatey)
choco install wireshark
# Проверка установки
wireshark --version

Установка в Linux

Установка через менеджер пакетов или из исходников.

# Ubuntu/Debian
sudo apt update
sudo apt install wireshark
# Red Hat/CentOS/Fedora
sudo yum install wireshark
# или
sudo dnf install wireshark
# Добавление пользователя в группу wireshark
sudo usermod -a -G wireshark
$USER

Установка в macOS

Установка с помощью Homebrew или официального установщика.

# Использование Homebrew
brew install --cask wireshark
# Загрузка с wireshark.org
# Установка пакета .dmg
# Инструменты командной строки
brew install wireshark

Конфигурация и Предпочтения

Предпочтения Интерфейса

Настройка интерфейсов захвата и опций.

# Edit > Preferences > Capture
# Интерфейс захвата по умолчанию
# Настройки неразборчивого режима
# Конфигурация размера буфера
# Автоматическая прокрутка при живом захвате
# Настройки, специфичные для интерфейса
# Capture > Options > Interface Details

Настройки Протоколов

Настройка декодеров протоколов и декодирования.

# Edit > Preferences > Protocols
# Включение/отключение декодеров протоколов
# Назначение портов
# Установка ключей дешифрования (TLS, WEP и т.д.)
# Опции повторной сборки TCP
# Функциональность Decode As
# Analyze > Decode As

Предпочтения Отображения

Настройка пользовательского интерфейса и опций отображения.

# Edit > Preferences > Appearance
# Выбор цветовой схемы
# Размер и тип шрифта
# Параметры отображения столбцов
# Настройки формата времени
# View > Time Display Format
# Секунды с начала захвата
# Время суток
# Время по UTC

Настройки Безопасности

Настройка параметров, связанных с безопасностью, и дешифрование.

# Настройка дешифрования TLS
# Edit > Preferences > Protocols > TLS
# Список ключей RSA
# Предварительно общие ключи
# Расположение файла журнала ключей
# Отключение потенциально опасных функций
# Выполнение скриптов Lua
# External resolvers

Расширенные Методы Фильтрации

Логические Операторы

Объединение нескольких условий фильтра.

# Оператор И (AND)
tcp.port == 80 and ip.src == 192.168.1.100
# Оператор ИЛИ (OR)
tcp.port == 80 or tcp.port == 443
# Оператор НЕ (NOT)
not icmp
# Скобки для группировки
(tcp.port == 80 or tcp.port == 443) and ip.src ==
192.168.1.0/24

Сопоставление Строк

Поиск определенного содержимого в пакетах.

# Содержит строку (с учетом регистра)
tcp contains "password"
# Содержит строку (без учета регистра)
tcp matches "(?i)login"
# Регулярные выражения
http.request.uri matches "\.php$"
# Последовательности байтов
eth.src[0:3] == 00:11:22

Сравнение Полей

Сравнение полей пакетов со значениями и диапазонами.

# Равенство
tcp.srcport == 80
# Больше/меньше
frame.len > 1000
# Проверка диапазона
tcp.port >= 1024 and tcp.port <= 65535
# Принадлежность набору
tcp.port in {80 443 8080 8443}
# Наличие поля
tcp.options

Расширенный Анализ Пакетов

Выявление специфических характеристик пакетов и аномалий.

# Неправильно сформированные пакеты
_ws.malformed
# Дублирующиеся пакеты
frame.number == tcp.analysis.duplicate_ack_num
# Пакеты не по порядку
tcp.analysis.out_of_order
# Проблемы с окном TCP
tcp.analysis.window_full

Распространенные Сценарии Использования

Устранение Неполадок Сети

Выявление и устранение проблем с сетевым подключением.

# Поиск таймаутов соединения
tcp.analysis.retransmission and tcp.analysis.rto
# Выявление медленных соединений
tcp.time_delta > 1.0
# Выявление перегрузки сети
tcp.analysis.window_full
# Проблемы с разрешением DNS
dns.flags.rcode != 0
# Проблемы с обнаружением MTU
icmp.type == 3 and icmp.code == 4

Анализ Безопасности

Обнаружение потенциальных угроз безопасности и подозрительной активности.

# Обнаружение сканирования портов
tcp.flags.syn == 1 and tcp.flags.ack == 0
# Большое количество соединений с одного IP
# Используйте Statistics > Conversations
# Подозрительные DNS-запросы
dns.qry.name contains "dga" or dns.qry.name matches
"^[a-z]{8,}\.com$"
# Необычные HTTP POST-запросы
http.request.method == "POST" and http.request.uri
contains "/upload"
# Необычные шаблоны трафика
# Проверьте I/O Graphs на всплески

Производительность Приложений

Мониторинг и анализ времени отклика приложений.

# Анализ веб-приложений
http.time > 2.0
# Мониторинг соединений с базой данных
tcp.port == 3306 and tcp.analysis.initial_rtt > 0.1
# Производительность передачи файлов
tcp.stream eq X and tcp.analysis.bytes_in_flight
# Анализ качества VoIP
rtp.jitter > 30 or rtp.marker == 1

Исследование Протоколов

Глубокое изучение поведения конкретных протоколов.

# Анализ электронной почты
tcp.port == 25 or tcp.port == 587 or tcp.port == 993
# Передача файлов FTP
ftp-data or ftp.request.command == "RETR"
# Общий доступ к файлам SMB/CIFS
smb2 or smb
# Анализ аренды DHCP
bootp.option.dhcp == 1 or bootp.option.dhcp == 2

Соответствующие Ссылки