Введение
Анализатор сетевого трафика Wireshark - это бесплатный и открытый анализатор пакетов. Он используется для устранения неполадок в сети, анализа, разработки программного обеспечения и протоколов связи, а также для образования. Первоначально проект назывался Ethereal, но в мае 2006 года был переименован в Wireshark из-за проблем с товарными знаками. Wireshark является кросс-платформенным, используя инструментарий Qt в текущих выпусках для реализации его пользовательского интерфейса и используя pcap для захвата пакетов; он работает на Linux, macOS, BSD, Solaris, некоторых других Unix, таких как операционные системы, и Microsoft Windows. Существует также версия на базе терминала (не GUI), называемая TShark. Wireshark и другие программы, распространяемые вместе с ним, такие как TShark, являются свободными программами, выпущенными на условиях GNU General Public License версии 2 или любой более поздней версии.
Wireshark is a free and open source packet analyzer. It is used for network troubleshooting, analysis, software and communications protocol development, and education. Originally named Ethereal, the project was renamed Wireshark in May 2006 due to trademark issues. Wireshark is cross platform, using the Qt widget toolkit in current releases to implement its user interface, and using pcap to capture packets; it runs on Linux, macOS, BSD, Solaris, some other Unix like operating systems, and Microsoft Windows. There is also a terminal based (non GUI) version called TShark. Wireshark, and the other programs distributed with it such as TShark, are free software, released under the terms of the GNU General Public License version 2 or any later version.
Функциональность
Wireshark очень похож на tcpdump, но имеет графический интерфейс и интегрированные параметры сортировки и фильтрации. Wireshark позволяет пользователю вводить контроллеры сетевого интерфейса в беспорядочный режим (если поддерживается контроллером сетевого интерфейса), чтобы они могли видеть весь трафик, видимый на этом интерфейсе, включая трафик одноканального вещания, не отправленный на MAC-адрес контроллера сетевого интерфейса. Однако при захвате с помощью анализатора пакетов в распутном режиме на порту сетевого коммутатора не весь трафик через коммутатор обязательно отправляется в порт, где происходит захват, поэтому захвата в распутном режиме не обязательно достаточна для просмотра всего сетевого трафика. Отражение портов или различные сетевые пробки расширяют захват до любой точки в сети. Простые пассивные краны чрезвычайно устойчивы к вмешательству. На Linux, BSD и macOS, с libpcap 1.0.0 или более поздней версии, Wireshark 1.4 и более поздние версии также могут перевести контроллеры беспроводного сетевого интерфейса в режим монитора. Если удаленная машина захватывает пакеты и отправляет захваченные пакеты на машину, запускающую Wireshark, используя протокол TZSP или протокол, используемый OmniPeek, Wireshark расчленяет эти пакеты, чтобы он мог анализировать пакеты, захваченные на удаленной машине в момент их захвата.
История
В конце 1990-х годов Джеральд Комбс, выпускник факультета компьютерных наук Университета Миссури в Канзас-Сити, работал в небольшом интернет-провайдере. Продукты анализа коммерческих протоколов в то время стоили около 1500 долларов и не работали на основных платформах компании (Solaris и Linux), поэтому Джеральд начал писать Ethereal и выпустил первую версию около 1998 года. Торговая марка Ethereal принадлежит компании Network Integration Services. В мае 2006 года Комбс принял работу в CACE Technologies с Лорисом Дегионни. Комбс по-прежнему обладал авторскими правами на большую часть исходного кода Ethereal (а остальное можно было перераспределить под GNU GPL), поэтому он использовал содержимое репозитория Ethereal Subversion в качестве основы для репозитория Wireshark. Однако он не владел торговой маркой Ethereal, поэтому он изменил название на Wireshark. В 2010 году Riverbed Technology купила CACE и стала основным спонсором Wireshark. Разработка Ethereal прекратилась, и советник по безопасности Ethereal рекомендовал переключиться на Wireshark. В 2022 году Sysdig стал основным спонсором Wireshark, а в 2023 году Sysdig создал Wireshark и включил его в Wireshark Foundation. За эти годы Wireshark получил несколько наград, в том числе eWeek, InfoWorld и PC Magazine. Это также самый высокооцененный пакетовой детектор в "Небезопасном". Опрос инструментов безопасности сети Org и был проектом месяца SourceForge в августе 2010 года. Combs продолжает поддерживать общий код Wireshark и выпускать новые версии программного обеспечения. На веб-сайте продукта перечислено более 2000 авторов.
Особенности
Wireshark - это программа для захвата данных, которая "понимает" структуру (инкапсуляцию) различных сетевых протоколов. Он может анализировать и отображать поля вместе с их значениями, как указано различными сетевыми протоколами. Wireshark использует pcap для захвата пакетов, поэтому он может захватить пакеты только в типах сетей, которые поддерживает pcap. Данные могут быть захвачены "с провода" из живого сетевого соединения или прочитаны из файла уже захваченных пакетов. Живые данные могут быть прочитаны из различных типов сетей, включая Ethernet, IEEE 802.11, PPP и loopback. Захваченные сетевые данные могут просматриваться через графический интерфейс пользователя или через версию терминала (командной строки) утилиты TShark. Захваченные файлы могут быть программно отредактированы или преобразованы через коммутаторы командной строки в программу "editcap". Отображение данных может быть улучшено с помощью фильтра отображения. Можно создавать плагины для анализа новых протоколов. VoIP-звонки в захваченном трафике могут быть обнаружены. Если кодирование будет совместимым, то медиапоток можно будет воспроизводить. Необработанный трафик USB может быть захвачен. Беспроводные соединения также могут быть отфильтрованы, если они проходят через контролируемый Ethernet. Различные настройки, таймеры и фильтры могут быть настроены для обеспечения возможности фильтрации вывода захваченного трафика. Нативными форматами файлов трассировки сети Wireshark являются формат libpcap, читаемый и записываемый libpcap, WinPcap и Npcap, поэтому он может обмениваться захваченными сетевыми следами с другими приложениями, которые используют тот же формат, включая tcpdump и CA NetMaster, и формат pcapng, читаемый более новыми версиями libpcap. Он также может читать записи от других сетевых анализаторов, таких как snoop, Network General's Sniffer и Microsoft Network Monitor.
Безопасность
Захват необработанного сетевого трафика с интерфейса требует повышенных привилегий на некоторых платформах. По этой причине старые версии Wireshark и TShark часто работали с привилегиями суперпользователя. Учитывая огромное количество протоколов, которые используются при захвате трафика, и признавая возможность ошибки в диссекторе, это может представлять серьезную угрозу безопасности. Из-за довольно большого количества уязвимостей в прошлом (многие из которых позволили удаленное исполнение кода) и сомнений разработчиков в лучшей будущей разработке, OpenBSD удалил Ethereal из своего дерева портов до OpenBSD 3.6. Не для всех операций требуются высокие привилегии. Например, альтернативным вариантом является запуск tcpdump или утилиты dumpcap, которая поставляется с Wireshark с привилегиями суперпользователя для захвата пакетов в файл, а затем анализ пакетов путем запуска Wireshark с ограниченными привилегиями. Для эмуляции анализа в режиме реального времени каждый захваченный файл может быть объединен с помощью mergecap в растущий файл, обрабатываемый Wireshark. В беспроводных сетях можно использовать инструменты беспроводной безопасности Aircrack для захвата кадров IEEE 802.11 и чтения полученных файлов сбора с помощью Wireshark. С версии Wireshark 0.99.7 Wireshark и TShark запускают dumpcap для захвата трафика. Платформы, требующие специальных привилегий для захвата трафика, должны запускать только dumpcap с этими привилегиями. Ни Wireshark, ни TShark не должны работать с особыми привилегиями.
Цветовое кодирование
Wireshark может окрашивать пакеты на основе правил, которые соответствуют определенным полям в пакетах, чтобы помочь пользователю определить типы трафика на один взгляд. Предоставляется набор правил по умолчанию; пользователи могут изменять существующие правила для окрашивания пакетов, добавлять новые правила или удалять правила.
Симуляция захвата пакетов
Wireshark также может использоваться для захвата пакетов из большинства инструментов сетевого моделирования, таких как ns и OPNET Modeler.