Сниффер
Коротко: Инструмент, читающий и записывающий трафик в сети — например, Wireshark. Может использоваться как для законной диагностики, так и для атак.
Подробнее: Сниффер переводит сетевую карту в «неразборчивый режим» (promiscuous mode), в котором она обрабатывает не только адресованные ей пакеты, но записывает весь видимый трафик. В коммутируемой сети сниффер обычно видит только собственный трафик — поэтому злоумышленники часто сочетают сниффинг с ARP-спуфингом, чтобы перенаправить чужой трафик через свою машину. Законное применение: устранение неполадок сети, анализ протоколов, аудиты безопасности.
Подробности
Увидит ли сниффер чужой трафик вообще, сильно зависит от топологии сети:
Старая сеть на хабах: хаб отправляет каждый пакет на ВСЕ порты -> прослушать
чужой трафик тривиально, дополнительный трюк не нужен.
Современная коммутируемая коммутатор отправляет пакеты только на порт назначения ->
сеть: по умолчанию сниффер видит только свой трафик, чтобы
видеть больше, нужен дополнительный трюк (например,
ARP-спуфинг, «зеркалирование портов» на коммутаторе).
Для законной диагностики сети профессиональные коммутаторы поэтому часто имеют специальный «зеркальный порт» или «SPAN-порт», который намеренно отправляет копию всего трафика на аналитическую машину — без этой явной настройки (или физического доступа к хабу вместо коммутатора) сниффер в современной сети сам по себе видит только то, что адресовано его сетевой карте.
В незашифрованном трафике (например, старый HTTP вместо HTTPS, незашифрованный Wi-Fi) сниффер может читать пароли и содержимое открытым текстом — главная причина, по которой практически весь современный веб перешёл на HTTPS/TLS. В зашифрованном трафике сниффер всё же видит метаданные (какой IP с каким IP общается, сколько данных, когда), но не само содержимое — это различие между «метаданные видны» и «содержимое защищено» важно при оценке того, какую защиту реально даёт шифрование.
Сниффер как инструмент диагностики
Для ИТ-администраторов сниффер — один из важнейших инструментов устранения неполадок: если приложение «просто не работает», а одних логов недостаточно, взгляд на реальный сетевой трафик часто сразу выявляет проблему — например, не отвечающий DNS-сервер, TLS-рукопожатие, проваливающееся из-за неверного сертификата, или правило межсетевого экрана, молча отбрасывающее пакеты. Wireshark — безусловно самый распространённый графический инструмент, tcpdump — соответствующий аналог для командной строки на серверах без графического интерфейса:
# Записать весь трафик на сетевом интерфейсе
tcpdump -i eth0
# Только трафик с определённым IP-адресом, сохранить в файл
tcpdump -i eth0 host 192.168.1.10 -w capture.pcapПолучившийся файл .pcap можно загрузить в Wireshark для анализа трафика пакет за пакетом с полной расшифровкой протоколов — включая восстановление целых TCP-соединений («follow TCP stream»), что очень помогает при разборе сложных взаимодействий клиент-сервер.
Правовая оценка
Запись сетевого трафика в сети, на работу с которой у вас нет явного полномочия, в большинстве юрисдикций является уголовным правонарушением (несанкционированный перехват данных) — использовать сниффер в собственной домашней сети или с явного разрешения оператора сети (например, в рамках пентеста с письменным заданием) нормально, тайно записывать чужой трафик — нет.