Снифтер как устройство и программа¶
Снифтер — это устройство или программное обеспечение, предназначенное для перехвата, накопления и анализа сетевого трафика, проходящего через определённый сегмент компьютерной сети. В зависимости от реализации сниффер может работать как аппаратный прибор, подключаемый к линии связи, так и как программа, использующая сетевой интерфейс компьютера в режиме прослушивания. Термин происходит от английского to sniff — «нюхать, вынюхивать». Снифферы применяются как в легальных задачах диагностики и мониторинга сетей, так и в противоправных целях — для перехвата паролей, токенов и иных конфиденциальных данных.
¶Принцип работы
В основе работы сниффера лежит особенность технологии Ethernet и ряда других протоколов канального уровня. В обычном режиме сетевая карта принимает только кадры, адресованные ей или широковещательные. Сниффер переводит интерфейс в так называемый неразборчивый режим (promiscuous mode), при котором карта передаёт операционной системе все кадры, достигшие её порта, независимо от адреса назначения.
Возможности перехвата зависят от топологии сети:
- В сетях на концентраторах (хабах) весь трафик сегмента физически доступен каждому подключённому узлу, поэтому перехват не требует дополнительных ухищрений.
- В коммутируемых сетях коммутатор направляет кадры только в нужный порт, поэтому для перехвата применяют зеркалирование портов (SPAN), подключение через сетевой отвод (TAP) или атаки на таблицу MAC-адресов.
- В беспроводных сетях сниффер работает в режиме мониторинга радиоканала и способен принимать кадры всех nearby-устройств.
Аппаратные снифферы представляют собой автономные приборы с собственным процессором и памятью, которые включаются в разрыв кабеля и не создают нагрузки на анализируемый узел. Программные снифферы используют ресурсы обычного компьютера.
¶История
Первые программы анализа трафика появились в 1980-х годах вместе с распространением локальных сетей Ethernet. Одним из ранних инструментов считается анализатор, разработанный в исследовательских центрах, а широкую известность в начале 1990-х получил tcpdump — консольная утилита для Unix-систем, выпущенная в 1988 году. В 1998 году появился Wireshark (первоначально Ethereal) — графический анализатор протоколов с открытым исходным кодом, ставший де-факто стандартом в области анализа трафика.
В России снифферы применяются в учебных курсах по сетевой безопасности, при аудите корпоративных сетей и в работе операторов связи. Тематика перехвата трафика фигурирует в законодательстве: несанкционированный доступ к охраняемой законом компьютерной информации квалифицируется по статье 272 Уголовного кодекса РФ.
¶Классификация
Снифферы различают по нескольким признакам.
По форме реализации:
| Тип | Особенности |
|---|---|
| Аппаратные | Автономные приборы, включаемые в разрыв линии; не зависят от ОС |
| Программные | Устанавливаются на компьютер; используют сетевую карту |
| Программно-аппаратные | Комбинация: специализированный модуль сбора плюс ПО анализа |
По назначению:
- Анализаторы протоколов — для диагностики и отладки сетей.
- Средства мониторинга — для контроля производительности и обнаружения аномалий.
- Средства аудита безопасности — для выявления утечек и нарушений политик.
- Вредоносные снифферы — для скрытого перехвата данных с целью кражи.
По уровню анализа: канальный, сетевой, транспортный и прикладной; многие инструменты разбирают пакеты вплоть до прикладных протоколов (HTTP, DNS, SIP).
¶Применение
¶Диагностика и администрирование
Снифферы позволяют обнаружить причины сбоев: потери пакетов, ошибки конфигурации, конфликты адресов, проблемы с маршрутизацией. Администратор видит реальную последовательность обмена и может сопоставить её с ожидаемым поведением протокола.
¶Обеспечение безопасности
Анализ трафика применяется для обнаружения вторжений, выявления нештатных соединений, проверки соблюдения политик. Снифферы используются в системах обнаружения вторжений (IDS) и в расследованиях инцидентов.
¶Разработка и тестирование
Разработчики сетевых приложений применяют снифферы для отладки протоколов и проверки корректности обмена данными между клиентом и сервером.
¶Противоправное использование
Перехват трафика в чужих сетях без разрешения является нарушением закона. Особую опасность представляют снифферы в открытых беспроводных сетях, где злоумышленник может получить логины и пароли пользователей, не применяющих шифрование.
¶Защита от перехвата
Основные меры противодействия:
- шифрование трафика (TLS, SSH, VPN) — делает перехваченные данные нечитаемыми;
- использование коммутируемых сетей вместо концентраторов;
- сегментация сети и контроль доступа;
- применение защищённых беспроводных протоколов (WPA2/WPA3);
- мониторинг на предмет появления нелегальных точек доступа и сетевых отводов.
Даже при перехвате зашифрованного трафика сниффер позволяет получить метаданные: адреса, порты, объём и время передачи, что само по себе может быть чувствительной информацией.
¶Известные инструменты
- tcpdump — консольный анализатор для Unix-подобных систем.
- Wireshark — графический анализатор с поддержкой сотен протоколов.
- TShark — консольная версия Wireshark.
- tcpflow — утилита для реконструкции потоков TCP.
- dsniff — набор утилит для перехвата паролей, используемый в тестировании на проникновение.
- Kismet — анализатор беспроводных сетей.
Большинство перечисленных инструментов распространяется с открытым исходным кодом и применяется как специалистами по безопасности, так и нарушителями, что делает владение методами защиты обязательным элементом сетевой грамотности.
¶Правовой аспект в России
В Российской Федерации перехват трафика регулируется законодательством о связи и о персональных данных. Операторы связи обязаны обеспечивать тайну связи; исключения составляют случаи, предусмотренные законом, в том числе проведение оперативно-разыскных мероприятий. Неправомерный перехват может повлечь административную и уголовную ответственность.
Источники: документация Wireshark; материалы проекта tcpdump; учебные пособия по сетевой безопасности; Уголовный кодекс РФ; федеральные законы о связи и персональных данных.
