Наиболее известный и широко используемый сетевой анализатор протоколов в мире.
sudo add-apt-repository ppa:wireshark-dev/stable sudo apt update sudo apt install wireshark # When it says, "Should non-superusers be able to capture packets?", # choose **Yes**. sudo usermod -a -G wireshark "$USER" groups "$USER" permission denied error -> sudo dpkg-reconfigure wireshark-common Should non-superusers be able to capture packets? -> choose yes
Wireshark — это анализатор сетевого трафика или "сниффер" для Linux, macOS, *BSD и других Unix и Unix-подобных операционных систем, а также для Windows. Он использует Qt — библиотеку графического пользовательского интерфейса, и libpcap и npcap в качестве библиотек захвата и фильтрации пакетов.
В дистрибутив Wireshark также входит TShark — сниффер, работающий в строковом режиме (аналог Sun snoop или tcpdump), который использует тот же код для разбора протоколов, чтения и записи файлов захвата, а также фильтрации пакетов, что и Wireshark. Также включён editcap — программа для чтения файлов захвата и записи пакетов из этого файла, возможно в другом формате файла захвата, а также с возможным удалением некоторых пакетов из захвата.
Официальный домен Wireshark: https://www.wireshark.org.
Последний дистрибутив можно найти в подкаталоге: https://www.wireshark.org/download
Проект Wireshark регулярно собирается и тестируется на следующих платформах:
Официальные установочные пакеты доступны для Microsoft Windows и macOS.
Wireshark доступен в виде стандартного или дополнительного пакета для многих популярных операционных систем и дистрибутивов Linux, включая Debian, Ubuntu, Fedora, CentOS, RHEL, Arch, Gentoo, openSUSE, FreeBSD, DragonFly BSD, NetBSD и OpenBSD.
Кроме того, он доступен через множество сторонних систем управления пакетами, таких как pkgsrc, OpenCSW, Homebrew и MacPorts.
Он должен работать на других Unix-подобных системах без особых проблем.
В некоторых случаях текущая версия Wireshark может не поддерживать вашу операционную систему. Это касается Windows XP, которая поддерживается Wireshark версии 1.10 и ранее. В других случаях стандартный пакет Wireshark может быть просто устаревшим. Это относится к Solaris и HP-UX.
Для сборки Wireshark необходим Python 3. Для сборки документации, включая man-страницы, требуется AsciiDoctor. Perl и flex необходимы для генерации некоторых исходных кодов.
Поэтому вы должны установить Python 3, AsciiDoctor и GNU "flex" (обычный "lex" не подойдет) на системах, где они отсутствуют. Возможно, вам также потребуется установить Perl.
Полные инструкции по установке можно найти в файле INSTALL и в Руководстве разработчика по адресу: https://www.wireshark.org/docs/wsdg_html_chunked/
Смотрите также соответствующие файлы README.ОС для инструкций по установке для конкретных ОС.
Для захвата пакетов из сети необходимо либо установить для программы dumpcap установленный set-UID для root, либо получить доступ к соответствующей записи в /dev, если ваша операционная система это поддерживает (системы на базе BSD, а также такие системы как Solaris и HP-UX, поддерживающие DLPI, обычно относятся к этой категории). Хотя и может возникнуть соблазн сделать выполняемые файлы Wireshark и TShark setuid root или запускать их от имени root, пожалуйста, не делайте этого. Процесс захвата изолирован в dumpcap; эта простая программа менее подвержена наличию ошибок безопасности и, следовательно, безопаснее для запуска от имени root.
Пожалуйста, обратитесь к man-странице для описания каждого параметра командной строки и функции интерфейса.
Wireshark может читать пакеты из множества различных типов файлов. Список поддерживаемых форматов файлов смотрите в man-странице Wireshark или в Руководстве пользователя Wireshark.
Wireshark может прозрачно читать сжатые версии любого из этих файлов, если требуемая библиотека сжатия была доступна при компиляции Wireshark. В настоящее время поддерживаются следующие форматы сжатия:
GZIP и LZ4 (при использовании независимых блоков, что является настройкой по умолчанию) поддерживают быстрый случайный поиск, что обеспечивает гораздо лучную производительность графического интерфейса при работе с большими файлами. Любой из этих форматов сжатия можно отключить во время компиляции, передав соответствующую опцию в cmake, например: cmake -DENABLE_ZLIB=OFF, cmake -DENABLE_LZ4=OFF или cmake -DENABLE_ZSTD=OFF.
Хотя Wireshark может читать файлы iptrace от AIX, документация по команде отслеживания пакетов iptrace в AIX скудна. Команда iptrace запускает демон, который необходимо завершить для остановки трассировки. В ходе экспериментов выяснилось, что отправка сигнала HUP этому демону iptrace вызывает корректное завершение работы, и полный пакет записывается в файл трассировки. Если в конце сохраняется неполный пакет, Wireshark выдаст предупреждение при чтении этого файла, но вы сможете прочитать все остальные пакеты. Если это произойдет, пожалуйста, сообщите разработчикам Wireshark по адресу wireshark-dev@wireshark.org; обязательно пришлите нам копию этого файла трассировки, если он небольшой и не содержит конфиденциальных данных.
Поддержка продукции Lucent/Ascend ограничена отладочным выводом трассировки, генерируемым продуктами серий MAX и Pipeline. Wireshark может читать вывод команд wandsession, wandisplay, wannext и wdd.
Wireshark также может читать вывод дампа-трассировки от ISDN-роутеров Toshiba "Compact Router" (модели TR-600 и TR-650). Вы можете подключиться к роутеру через telnet и начать сессию дампа командой snoop dump.
Отладочный вывод CoSine L2 также может быть прочитан Wireshark. Чтобы получить отладочный вывод L2, сначала введите в режим diags, а затем используйте команды create-pkt-log-profile и apply-pkt-log-profile в категории layer-2. Чтобы узнать больше об использовании этих команд, обратитесь к справочной информации по команде: layer-2 create ? или layer-2 apply ?.
Чтобы использовать трассировки Lucent/Ascend, Toshiba и CoSine в Wireshark, вам необходимо захватить вывод трассировки в файл на диске. Трассировка происходит внутри роутера, и у роутера нет способа сохранить трассировку в файл за вас. Простой способ сделать это в Unix — запустить telnet <ascend> | tee <outfile>. Или, если в вашей системе установлена команда "script", вы можете сохранить сеанс shell, включая telnet, в файл. Например, чтобы записать в файл с именем tracefile.out:
$ script tracefile.out
Script started on <date/time>
$ telnet router
..... do your trace, then exit from the router's telnet session.
$ exit
Script done on <date/time>
Wireshark будет пытаться использовать возможности обратного разрешения имён при декодировании пакетов IPv4 и IPv6.
Если вы хотите отключить разрешение имён при использовании Wireshark, запустите Wireshark с опцией -n, чтобы отключить все разрешение имён (включая разрешение адресов MAC и номеров портов TCP/UDP/SMTP в имена), или с опцией -N mt, чтобы отключить разрешение имён для всех адресов сетевого уровня (IPv4, IPv6, IPX).
Вы можете сделать это настройкой по умолчанию, открыв диалоговое окно "Настройки" с помощью пункта меню "Настройки" в меню "Правка", выбрав "Разрешение имён", отключив соответствующие параметры разрешения имён и нажав "ОК".
Wireshark может выполнять некоторую базовую декодировку пакетов SNMP; он также может использовать библиотеку libsmi для более сложной декодировки, читая файлы MIB и используя информацию в этих файлах для отображения OID и значений привязок переменных в более удобном виде. CMake автоматически определит, есть ли у вас библиотека libsmi в системе. Если у вас есть библиотека libsmi, но вы не хотите, чтобы Wireshark её использовал, вы можете запустить cmake с опцией -DENABLE_SMI=OFF.
Wireshark находится в постоянной разработке, поэтому возможно, что вы столкнетесь с ошибкой при его использовании. Пожалуйста, сообщайте об ошибках по адресу: https://gitlab.com/wireshark/wireshark/-/issues. Обязательно укажите в сообщении об ошибке:
Полную информацию о сборке из пункта меню "О Wireshark" в меню "Справка" или вывод команды wireshark -v для ошибок Wireshark и вывод tshark -v для ошибок TShark;
Если ошибка произошла в Linux, какой дистрибутив Linux вы использовали и версию этого дистрибутива;
Команду, которой вы вызвали Wireshark, если вы запускали Wireshark из командной строки, или TShark, если вы запускали TShark, а также последовательность действий, которые привели к появлению ошибки.
Если ошибка вызвана определенным файлом трассировки, пожалуйста, прикрепите к сообщению об ошибке файл трассировки вместе с описанием. Если файл трассировки содержит конфиденциальную информацию (например, пароли), то, пожалуйста, не отправляйте его.
Если Wireshark завершился с ошибкой типа 'segmentation violation', 'bus error', 'abort' или другой ошибкой, порождающей файл core dump в UNIX, вы можете оказать разработчикам большую помощь, если у вас установлен отладчик. Трассировку стека можно получить, используя ваш отладчик ('gdb' в этом примере), исполняемый файл wireshark и полученный файл core. Вот пример того, как использовать команду 'backtrace' в gdb для этого.
$ gdb wireshark core
(gdb) backtrace
..... prints the stack trace
(gdb) quit
$
Файл core dump может называться "wireshark.core" вместо "core" на некоторых платформах (например, в системах BSD). Если вы получили core dump с TShark, а не с Wireshark, используйте "tshark" в качестве первого аргумента для отладчика; файл core dump может называться "tshark.core".
Wireshark распространяется под лицензией GNU GPLv2. Полный текст лицензии смотрите в файле COPYING. В случае сомнений юридически обязательной является полная версия текста. Эти примечания предназначены просто для удобства людей, незнакомых с GPLv2.
Нет никаких ограничений на его использование. Есть ограничения на его распространение в виде исходного или бинарного кода.
Большинство частей Wireshark покрыты лицензией "GPL версии 2 или более поздней". Некоторые файлы покрыты другими лицензиями, совместимыми с GPLv2.
В качестве заметного исключения, некоторые утилиты, распространяемые вместе с исходным кодом Wireshark, покрыты другими лицензиями, которые сами по себе не являются напрямую совместимыми с GPLv2. Это допустимо, поскольку только сами инструменты лицензированы таким образом, вывод инструментов не считается производным произведением и, следовательно, может быть безопасно лицензирован для использования в Wireshark. Неполный список этих инструментов включает: - утилита pidl (tools/pidl) лицензирована под GPLv3+.
Некоторые части Wireshark могут быть собраны и распространены в виде библиотек. Эти части по-прежнему покрыты лицензией GPL, а НЕ лицензией Lesser General Public License или какой-либо другой лицензией.
Если вы интегрируете всю или часть Wireshark в свое собственное приложение и решите опубликовать или выпустить его, то объединенное произведение должно быть выпущено на условиях GPLv2.
Нет никаких гарантий, явных или подразумеваемых, связанных с этим продуктом. Используйте на свой страх и риск.
Gerald Combs gerald@wireshark.org
Gilbert Ramirez gram@alumni.rice.edu
Guy Harris gharris@sonic.net
Комментарии (4)
Отличный инструмент для анализа трафика, использую ежедневно.
I m here to chew bubble gum and kick asses... and im all out of gum
хуле подпездываешь
норм тема/