Tshark

Network Analysis v4.6.4 · 24.02.2026 активный

Консольная версия Wireshark. Идеальна для автоматизации и работы на серверах.

v4.6.4
24.02.2026 current
Добавлен 11.11.2025 · Обновлён 11.11.2025 · Network Analysis
Установка
sudo apt install tshark
переведено ИИ

Общая информация

Wireshark — это анализатор сетевого трафика, или «сниффер», для Linux, macOS, *BSD и других Unix и Unix-подобных операционных систем, а также для Windows. Он использует Qt — библиотеку графического интерфейса, а также libpcap и npcap в качестве библиотек для перехвата и фильтрации пакетов.

В дистрибутив Wireshark также входит TShark, который является строчно-ориентированным сниффером (аналогичным snoop от Sun или tcpdump), использующим тот же код для разбора пакетов, чтения и записи файлов перехвата, а также фильтрации пакетов, что и Wireshark, а также editcap — программа для чтения файлов перехвата и записи пакетов из этого файла, возможно, в другом формате файла перехвата, при этом некоторые пакеты могут быть удалены из перехвата.

Официальный сайт Wireshark: https://www.wireshark.org.

Последнюю версию дистрибутива можно найти в подкаталоге https://www.wireshark.org/download

Установка

Проект Wireshark регулярно собирается и тестируется на следующих платформах:

  • Linux (Ubuntu)
  • Microsoft Windows
  • macOS / {Mac} OS X

Официальные установочные пакеты доступны для Microsoft Windows и macOS.

Он доступен в виде стандартного или дополнительного пакета для многих популярных операционных систем и дистрибутивов 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. AsciiDoctor требуется для сборки документации, включая man-страницы. 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
  • ZSTD

GZIP и LZ4 (при использовании независимых блоков, что является настройкой по умолчанию) поддерживают быстрый произвольный доступ, что обеспечивает значительно лучную производительность графического интерфейса при работе с большими файлами. Любой из этих форматов сжатия можно отключить на этапе компиляции, передав соответствующую опцию в cmake, например, cmake -DENABLE_ZLIB=OFF, cmake -DENABLE_LZ4=OFF или cmake -DENABLE_ZSTD=OFF.

Хотя Wireshark может читать файлы AIX iptrace, документация по команде отслеживания пакетов AIX iptrace скудна. Команда iptrace запускает демон, который необходимо остановить для завершения трассировки. В ходе экспериментов было выяснено, что отправка сигнала HUP этому демону iptrace вызывает корректное завершение работы, и полный пакет записывается в файл трассировки. Если в конце сохраняется неполный пакет, Wireshark будет ругаться при чтении этого файла, но вы сможете прочитать все остальные пакеты. Если это произойдет, сообщите разработчикам Wireshark по адресу wireshark-dev@wireshark.org; обязательно пришлите нам копию этого файла трассировки, если он небольшой и не содержит конфиденциальных данных.

Поддержка продуктов Lucent/Ascend ограничена отладочным выводом трассировки, генерируемым продуктами серий MAX и Pipeline. Wireshark может читать вывод команд wandsession, wandisplay, wannext и wdd.

Wireshark также может читать вывод дампа-трассировки от маршрутизаторов Toshiba "Compact Router" серии ISDN (TR-600 и TR-650). Вы можете подключиться к маршрутизатору по telnet и начать сессию дампа с помощью команды snoop dump.

Вывод отладки CoSine L2 также может быть прочитан Wireshark. Чтобы получить вывод отладки L2, сначала введите режим diags, а затем используйте команды create-pkt-log-profile и apply-pkt-lozg-profile в категории layer-2. Для получения более подробной информации об использовании этих команд ознакомьтесь с справкой командой layer-2 create ? или layer-2 apply ?.

Чтобы использовать трассировки Lucent/Ascend, Toshiba и CoSine в Wireshark, вы должны перехватывать вывод трассировки в файл на диске. Трассировка происходит внутри маршрутизатора, и маршрутизатор не имеет возможности сохранить трассировку в файл за вас. Простой способ сделать это в Unix — выполнить telnet <ascend> | tee <outfile>. Или, если в вашей системе установлена команда "script", вы можете сохранить сессию оболочки, включая telnet, в файл. Например, чтобы вести лог в файл с именем tracefile.out:

$ script tracefile.out
Script started on <date/time>
$ telnet router
..... perform 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).

Вы можете сделать эти настройки стандартными, открыв диалог Preferences с помощью пункта Preferences в меню Edit, выбрав "Name resolution", отключив соответствующие опции разрешения имен и нажав "OK".

SNMP

Wireshark может выполнять базовое декодирование пакетов SNMP; он также может использовать библиотеку libsmi для более сложного декодирования путем чтения файлов MIB и использования информации из этих файлов для отображения OID и значений привязки переменных в более удобном виде. CMake автоматически определит, есть ли у вас библиотека libsmi в системе. Если у вас есть библиотека libsmi, но вы не хотите, чтобы Wireshark ее использовал, вы можете запустить cmake с опцией -DENABLE_SMI=OFF. Как сообщить об ошибке


Wireshark находится в постоянной разработке, поэтому возможно, что вы встретите ошибку при его использовании. Пожалуйста, сообщайте об ошибках по адресу https://gitlab.com/wireshark/wireshark/-/issues. Обязательно укажите в отчете об ошибке:

  1. Полную информацию о сборке из пункта "About Wireshark" в меню Help или вывод команды wireshark -v для ошибок Wireshark и вывод команды tshark -v для ошибок TShark;

  2. Если ошибка произошла в Linux, какой дистрибутив Linux вы использовали и версию этого дистрибутива;

  3. Команду, которую вы использовали для запуска Wireshark, если вы запускали Wireshark из командной строки, или TShark, если вы запускали TShark, а также последовательность действий, которые привели к появлению ошибки.

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

Если Wireshark завершился с ошибкой 'segmentation violation', 'bus error', 'abort' или другой ошибкой, порождающей файл core dump в UNIX, вы можете очень помочь разработчикам, если у вас установлен отладчик. Трассировку стека можно получить, используя ваш отладчик ('gdb' в этом примере), бинарный файл wireshark и полученный файл core. Вот пример того, как использовать команду gdb 'backtrace' для этого.

$ gdb wireshark core
(gdb) backtrace
..... prints the stack trace
(gdb) quit
$

Файл дампа core может называться "wireshark.core", а не "core" на некоторых платформах (например, системах BSD). Если вы получили дамп core от TShark, а не от Wireshark, используйте "tshark" в качестве первого аргумента для отладчика; дамп core может называться "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

Комментарии
Войдите, чтобы оставить комментарий