EMZETT.
Войти

Сниффер

Коротко: Инструмент, читающий и записывающий трафик в сети — например, 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»), что очень помогает при разборе сложных взаимодействий клиент-сервер.

Правовая оценка

Запись сетевого трафика в сети, на работу с которой у вас нет явного полномочия, в большинстве юрисдикций является уголовным правонарушением (несанкционированный перехват данных) — использовать сниффер в собственной домашней сети или с явного разрешения оператора сети (например, в рамках пентеста с письменным заданием) нормально, тайно записывать чужой трафик — нет.

См. также: Wireshark, Спуфинг