Live‑снифинг трафика по SSH с Wireshark

Зачем делать live‑снифинг по SSH
Wireshark — это мощный анализатор сетевых протоколов. Он умеет захватывать пакеты в реальном времени, глубоко инспектировать сотни протоколов, применять гибкие фильтры и расшифровывать некоторые защищённые протоколы при наличии ключей или паролей.
Живой захват через SSH полезен, когда tcpdump в локальном файле недостаточен и нужно сразу посмотреть пакеты в GUI Wireshark: например, чтобы проверить TTL/BGP‑поведение, рассмотреть содержимое DHCP или расшифровать SNMPv3/SSL (при наличии ключей).
Основные возможности Wireshark (кратко)
- Глубокая инспекция сотен протоколов.
- Захват в реальном времени и оффлайн‑анализ с мощными фильтрами отображения.
- Просмотр capture‑файлов через GUI или TTY‑утилиту TShark.
- Поддержка множества форматов файлов (pcap, pcapng и др.) и экспорт в XML/CSV/текст.
- Захват с разных интерфейсов: Ethernet, IEEE 802.11, PPP, Bluetooth, USB и др.
- Частичная поддержка расшифровки: IPsec, SSL/TLS, WEP, WPA/WPA2 и др. при наличии ключей.
Когда этот метод полезен
- Быстрый осмотр нескольких пакетов при отладке.
- Диагностика DHCP/ARP/ICMP/BGP поведения на удалённом узле.
- Просмотр трафика с удалённой точки доступа Wi‑Fi (например, UniFi) без физического доступа.
- Сценарии экспертной диагностики, когда нужен GUI‑анализ.
Ограничения и когда не подходит
- Не для сбора гигабайтных дампов: SSH‑туннель может быть узким местом.
- Возможен packet loss при высоких скоростях и нестабильном соединении.
- Не позволяет обойти шифрование приложений без ключей.
- Задачи постоянного длительного мониторинга лучше решать через удалённый хранитель capture‑файлов.
Важно: убедитесь в законности перехвата трафика в вашей юрисдикции и в соответствии с политиками организации.
Подготовка: права для dumpcap
На многих дистрибутивах Wireshark для захвата использует программу dumpcap, права которой должны позволять вашему пользователю запускать захват.
Проверьте права:
ll /usr/bin/dumpcap
-rwxr-xr-- 1 root wireshark 88272 Apr 8 11:53 /usr/bin/dumpcap*Если dumpcap принадлежит группе wireshark, добавьте себя в эту группу (Ubuntu/Debian):
sudo usermod -aG wireshark $USER
# затем выйдите и войдите снова или выполните: su - $USER
idЭто позволяет запускать захват без прав root через Wireshark/dumpcap.
Базовая команда: pipe через SSH
Самая простая строка для живого просмотра трафика с удалённого интерфейса (на примере eth0) — это передать stdout tcpdump в stdin Wireshark:
ssh [email protected] 'tcpdump -f -i eth0 -w - not port 22' | wireshark -k -i -Объяснение флагов:
- tcpdump -f — вывод в старом формате, пригодном для wireshark;
- -i eth0 — интерфейс на удалённом хосте;
- -w - — писать pcap в stdout;
- not port 22 — исключить SSH‑сессию, чтобы не зацикливать захват;
- wireshark -k -i - — -k: старт сразу, -i -: читать с stdin.
Советы по tcpdump:
- Добавьте -s0, чтобы захватывать полные пакеты: tcpdump -s0 …
- -nn отключает обратное разрешение имён: tcpdump -nn …
- Используйте выражения BPF для фильтрации: host 10.0.0.5 и т.д.
Пример для UniFi / AP (удалённая точка доступа)
Многие точки доступа, включая Ubiquiti UniFi, позволяют получить доступ по SSH под тем же пользователем, что и для веб‑GUI. На устройстве можно посмотреть мосты и интерфейсы:
BZ.v3.7.8# brctl show
bridge name bridge id STP enabled interfaces
br0 ffff.00272250d9cf no ath0
ath1
ath2
eth0Можно выбрать wifi0 или br0 и направить tcpdump по SSH:
ssh [email protected] 'tcpdump -f -i wifi0 -w -' | wireshark -k -i -
Или, если нужно отфильтровать трафик для конкретной станции (MAC):
ssh [email protected] 'tcpdump -s0 -i wifi0 ether host aa:bb:cc:dd:ee:ff -w -' | wireshark -k -i -
Безопасность и приватность
- SSH шифрует туннель, поэтому сами пакеты идут зашифрованно от точки захвата до вашей рабочей станции, но содержимое захваченных пакетов остаётся тем же и может содержать чувствительные данные.
- Исключайте порт 22 из захвата (not port 22), чтобы не записывать собственный SSH‑трафик.
- Хранение capture‑файлов требует контроля доступа: pcap содержит конфиденциальную информацию.
Альтернативные подходы
- Локальный tcpdump → scp → анализ в Wireshark: лучше для больших дампов.
- Запуск Wireshark на удалённой машине с X11/ VNC: визуально удобно, но медленнее и требует графической среды.
- Использовать dumpcap на удалённой машине для записи в файл, затем передать файл: меньше накладных расходов на CPU/SSH.
Практическая методология (mini‑method)
- Определите цель: что именно нужно увидеть (ARP/DHCP/порт/протокол).
- Подготовьте фильтр BPF на удалённом хосте, чтобы снизить объём трафика.
- Убедитесь, что dumpcap/tcpdump доступны и у вас есть права.
- Запустите ssh|tcpdump → wireshark и проверьте первые пакеты.
- Если теряется трафик, переключитесь на запись в файл и передайте оффлайн.
Чеклист для админа/инженера
- Есть доступ по SSH с разрешениями на запуск tcpdump/dumpcap.
- Пользователь в группе wireshark или доступны привилегии root.
- Исключён порт SSH из захвата.
- На локальной машине установлен Wireshark и достаточно ресурсов.
- Соблюдены правила приватности и политики компании.
Критерии приёмки
- Wireshark показывает пакеты с удалённого интерфейса в реальном времени.
- Захваченные пакеты содержат нужные поля (IP, MAC, порт, payload).
- Нет существенных пропусков пакетов при низком объёме трафика.
Когда следует переключиться на оффлайн‑сбор
- Если трафик большой (гига‑бит и выше).
- Если наблюдается потеря пакетов в Wireshark из‑за каналов SSH.
- Если нужно длительное хранение логов для последующего аудита.
Быстрая шпаргалка: ключевые команды
- Запуск live‑capture с фильтром исключения SSH:
ssh [email protected] 'tcpdump -s0 -i eth0 -w - not port 22' | wireshark -k -i -- Отлов конкретного хоста по MAC на wifi0:
ssh [email protected] 'tcpdump -s0 -i wifi0 ether host aa:bb:cc:dd:ee:ff -w -' | wireshark -k -i -- Запись на удалённом хосте в файл (оффлайн):
ssh [email protected] 'tcpdump -i eth0 -s0 -w /tmp/capture.pcap not port 22'
scp [email protected]:/tmp/capture.pcap ./
wireshark ./capture.pcapКак выбрать подход (простая логика)
flowchart TD
A[Нужно увидеть пакеты сейчас?] -->|Да| B[Объём трафика небольшой]
B -->|Да| C[Использовать SSH -> Wireshark live]
B -->|Нет| D[Записать на диск и передать оффлайн]
A -->|Нет| DИтог
Live‑снифинг по SSH — быстрый и удобный способ получить GUI‑анализ удалённого трафика без физического доступа. Он идеален для оперативной диагностики и проверки гипотез, но не заменяет специализированные системы длительного мониторинга и хранения больших объёмов трафика. Всегда учитывайте безопасность, права доступа и объём данных при выборе метода.
Похожие материалы
Троян Herodotus: как он работает и как защититься
Включить новое меню «Пуск» в Windows 11
Панель полей сводной таблицы в Excel — руководство
Включить новое меню «Пуск» в Windows 11
Дубликаты Диспетчера задач в Windows 11 — как исправить