Wireshark — это бесплатный анализатор пакетов с открытым исходным кодом . Он используется для устранения неполадок в сети , анализа, разработки программного обеспечения и протоколов связи , а также обучения. Первоначально названный Ethereal , проект был переименован в Wireshark в мае 2006 года из-за проблем с товарным знаком. [5]
Wireshark — кроссплатформенный , использующий инструментарий виджетов Qt в текущих выпусках для реализации своего пользовательского интерфейса и использующий pcap для захвата пакетов; он работает на Linux , macOS , BSD , Solaris , некоторых других Unix-подобных операционных системах и Microsoft Windows . Существует также версия на базе терминала (не GUI) под названием TShark. Wireshark и другие программы, распространяемые вместе с ним, такие как TShark, являются свободным программным обеспечением , выпущенным в соответствии с условиями GNU General Public License версии 2 или любой более поздней версии.
Wireshark очень похож на tcpdump , но имеет графический интерфейс и интегрированные возможности сортировки и фильтрации.
Wireshark позволяет пользователю переводить контроллеры сетевых интерфейсов в режим неразборчивой передачи (если поддерживается контроллером сетевого интерфейса ), чтобы он мог видеть весь трафик, видимый на этом интерфейсе, включая одноадресный трафик, не отправленный на MAC-адрес этого контроллера сетевого интерфейса . Однако при захвате с помощью анализатора пакетов в режиме неразборчивой передачи на порту сетевого коммутатора не весь трафик через коммутатор обязательно отправляется на порт, где выполняется захват, поэтому захват в режиме неразборчивой передачи не обязательно достаточен для просмотра всего сетевого трафика. Зеркалирование портов или различные сетевые ответвления расширяют захват до любой точки сети. Простые пассивные ответвления чрезвычайно устойчивы к несанкционированному вмешательству [ требуется цитата ] .
В Linux, BSD и macOS с libpcap 1.0.0 или более поздней версии Wireshark 1.4 и более поздние версии также могут переводить контроллеры беспроводных сетевых интерфейсов в режим монитора .
Если удаленная машина захватывает пакеты и отправляет их на машину, на которой запущен Wireshark, используя протокол TZSP или протокол, используемый OmniPeek , Wireshark анализирует эти пакеты, чтобы иметь возможность анализировать пакеты, захваченные на удаленной машине, в момент их захвата.
В конце 1990-х годов Джеральд Комбс, выпускник факультета компьютерных наук Университета Миссури-Канзас-Сити , работал на небольшого поставщика интернет-услуг Network Integration Services. Коммерческие продукты анализа протоколов в то время стоили около 1500 долларов [6] и не работали на основных платформах компании (Solaris и Linux), поэтому Джеральд начал писать Ethereal и выпустил первую версию около 1998 года. [7] Торговая марка Ethereal принадлежит Network Integration Services.
В мае 2006 года Комбс принял предложение о работе в CACE Technologies вместе с Лорисом Деджоанни. Комбс по-прежнему владел авторскими правами на большую часть исходного кода Ethereal (а остальная часть распространялась по лицензии GNU GPL), поэтому он использовал содержимое репозитория Ethereal Subversion в качестве основы для репозитория Wireshark. Однако он не владел торговой маркой Ethereal, поэтому он изменил название на Wireshark. [8] В 2010 году Riverbed Technology приобрела CACE [9] и стала основным спонсором Wireshark. Разработка Ethereal прекратилась, и в рекомендациях по безопасности Ethereal рекомендовалось перейти на Wireshark. [10] В 2022 году Sysdig стала основным спонсором Wireshark, а в 2023 году Sysdig основала и поместила Wireshark в Wireshark Foundation. [11]
Wireshark завоевал несколько отраслевых наград за эти годы, [12] включая eWeek , [13] InfoWorld , [14] [15] [16] [17] [18] и PC Magazine . [19] Он также является самым высоко оцененным сниффером пакетов в обзоре инструментов сетевой безопасности Insecure.Org [20] и был назван проектом месяца SourceForge в августе 2010 года. [21]
Комбс продолжает поддерживать общий код Wireshark и выпускать релизы новых версий программного обеспечения. На веб-сайте продукта перечислены более 2000 авторов, внесших вклад. [22]
Wireshark — это программа захвата данных, которая «понимает» структуру ( инкапсуляцию ) различных сетевых протоколов. Она может анализировать и отображать поля вместе с их значениями, как указано в различных сетевых протоколах. Wireshark использует pcap для захвата пакетов, поэтому она может захватывать пакеты только в тех типах сетей, которые поддерживает pcap.
Родные форматы файлов сетевой трассировки Wireshark — это формат libpcap, который считывается и записывается libpcap, WinPcap и Npcap , поэтому он может обмениваться захваченными сетевыми трассировками с другими приложениями, которые используют тот же формат, включая tcpdump и CA NetMaster, а также формат pcapng, который считывается более новыми версиями libpcap. Он также может считывать захваты из других сетевых анализаторов, таких как snoop , [25] Network General 's [26] Sniffer и Microsoft Network Monitor . [27]
Захват необработанного сетевого трафика с интерфейса требует повышенных привилегий на некоторых платформах. По этой причине старые версии Wireshark и TShark часто работали с привилегиями суперпользователя . Учитывая огромное количество диссекторов протоколов, которые вызываются при захвате трафика, и распознавая возможность ошибки в диссекторе, может возникнуть серьезная угроза безопасности. Из-за довольно большого количества уязвимостей в прошлом (многие из которых допускали удаленное выполнение кода) и сомнений разработчиков относительно лучшего будущего развития, OpenBSD удалила Ethereal из своего дерева портов до OpenBSD 3.6. [28]
Повышенные привилегии не требуются для всех операций. Например, альтернативой является запуск tcpdump или утилиты dumpcap , которая идет с Wireshark, с привилегиями суперпользователя для захвата пакетов в файл, а затем анализ пакетов с помощью Wireshark с ограниченными привилегиями. Для эмуляции анализа в режиме, близком к реальному времени, каждый захваченный файл может быть объединен mergecap в растущий файл, обрабатываемый Wireshark. В беспроводных сетях можно использовать инструменты безопасности беспроводной сети Aircrack для захвата кадров IEEE 802.11 и чтения полученных файлов дампа с помощью Wireshark.
Начиная с версии Wireshark 0.99.7, Wireshark и TShark запускают dumpcap для захвата трафика. Платформам, которым требуются особые привилегии для захвата трафика, достаточно запустить dumpcap с этими привилегиями. Ни Wireshark, ни TShark не должны и не должны запускаться с особыми привилегиями.
Wireshark может раскрашивать пакеты на основе правил, соответствующих определенным полям в пакетах, чтобы помочь пользователю с первого взгляда определить типы трафика. Предоставляется набор правил по умолчанию; пользователи могут изменять существующие правила раскрашивания пакетов, добавлять новые правила или удалять правила. [29]
Wireshark также можно использовать для захвата пакетов из большинства инструментов моделирования сети, таких как ns и OPNET Modeler. [30]
{{cite book}}
: CS1 maint: неподходящий URL ( ссылка )