TShark


Описание TShark

TShark может выполнять все те же функции, что и Wireshark, но в командной строке. У программы TShark огромное количество опций, благодаря которым вы можете очень гибко настроить обработку трафика, а также вывод информации.

TShark может анализировать живые данные (передаваемые в данный момент по сетевым интерфейсам), а также сохранённые файлы захвата. TShark поддерживает все фильтры захвата и фильтры отображения, которые поддерживаются в Wireshark. Захваченные данные, а также обработанные с помощью TShark данные, эта утилита может выводить на экран, либо сохранять в файл.

С помощью TShark вы можете анализировать трафик и точечно выводить только те данные, которые вам нужны. Вы можете передавать извлечённую из трафика информацию в скрипты и обрабатывать её автоматически, в пакетном режиме.

Домашняя страница: https://www.wireshark.org/

Автор: Gerald Combs и контрибьюторы

Лицензия: GPLv2

Справка по TShark

Использование:

tshark [ОПЦИИ] ...

Опции:

Интерфейс захвата:
  -i ИНТЕРФЕЙС, --interface ИНТЕРФЕЙС
                           имя или индекс интерфейса (по умолчанию: первый не-loopback)
  -f ФИЛЬТР ЗАХВАТА        фильтр пакетов в синтаксисе фильтра libpcap
  -s БАЙТ, --snapshot-length БАЙТ
                           длина захватываемого в моменте пакета (по умолчанию: подходящий максимум)
  -p, --no-promiscuous-mode
                           не захватывать в неразборчивом режиме
  -I, --monitor-mode       захватывать в режиме монитора, если доступен
  -B РАЗМЕР БУФЕРА, --buffer-size РАЗМЕР БУФЕРА
                           размер буфера ядра (по умолчанию: 2MB)
  -y ТИП ЛИНКА, --linktype ТИП ЛИНКА
                           тип уровня связи (по умолчанию: первый подходящий)
  --time-stamp-type ТИП метод временной метки для интерфейса
  -D, --list-interfaces    вывести список интерфейсов и выйти
  -L, --list-data-link-types
                           распечатать список типов каналов iface и выйти
  --list-time-stamp-types  распечатать список типов временных меток для iface и выйти
  --update-interval        интервал между обновлениями новыми пакетами (по умолчанию: 100ms)

Условия остановки захвата:
  -c СЧЁТЧИК ПАКЕТОВ        остановиться после n пакетов (по умолчанию: бесконечность)
  -a УСЛОВИЕ АВТООСТАНОВКИ ..., --autostop УСЛОВИЕ АВТООСТАНОВКИ ...
                           duration:ЧИСЛО - остановиться после ЧИСЛА секунд
                           filesize:ЧИСЛО - остановиться после ЧИСЛА  KB
                              files:ЧИСЛО - остановиться после ЧИСЛА  файлов
                            packets:ЧИСЛО - остановиться после ЧИСЛА  пакетов
Вывод захвата:
  -b ОПЦИИ КОЛЬЦЕВОГО БУФЕРА ..., --ring-buffer ОПЦИИ КОЛЬЦЕВОГО БУФЕРА
                           duration:ЧИСЛО - переключиться на следующий файл после ЧИСЛА секунд
                           filesize:ЧИСЛО - переключиться на следующий файл после ЧИСЛА KB
                              files:ЧИСЛО - кольцевой буфер: заменить после ЧИСЛА файлов
                            packets:ЧИСЛО - переключиться на следующий файл после ЧИСЛА пакетов
                           interval:ЧИСЛО - переключиться на следующий файл когда время
                                          точное кратное ЧИСЛУ секунд
                          printname:ФАЙЛ - напечатать имя в файла в ФАЙЛ когда записан
                                          (можно использовать 'stdout' или 'stderr')
Входной файл:
  -r ФАЙЛ, --read-file ФАЙЛ
                           имя файла из которого считывать (или '-' для stdin)

Обработка:
  -2                       выполнять анализ дважды (в текущий момент и после получения всех необходимых данных)
  -M СЧЁТЧИК ПАКЕТОВ       выполнить автоматический сброс сессии
  -R ФИЛЬТР ЧТЕНИЯ, --read-filter ФИЛЬТР ЧТЕНИЯ
                           Фильтр чтения пакетов в синтаксисе фильтра отображения Wireshark
                           (требует -2)
  -Y ФИЛЬТР ОТОБРАЖЕНИЯ, --display-filter ФИЛЬТР ОТОБРАЖЕНИЯ
                           Фильтр отображения пакетов в синтаксисе фильтра отображения
                           Wireshark
  -n                       отключить все разрешения имён (по умолчанию: включён "mNd" или
                           так, как установлено в настройках)
  -N ФЛАГИ РАЗРЕШЕНИЯ ИМЁН  включить разрешение определённых имен: "mtndsNvg"
  -d ТИП УРОВНЯ==СЕЛЕКТОР,ДЕКОДИРОВАТЬ В КАЧЕСТВЕ ПРОТОКОЛА ...
                           "Декодировать как", подробности смотрите на странице man
                           Пример: tcp.port==8888,http
  -H ФАЙЛ hosts            считывает список записей из файла hosts, который
                           затем будет записан в файл захвата. (Подразумевает -W n)
  --enable-protocol ИМЯ ПРОТОКОЛА
                           включить анализ указанного ПРОТОКОЛА
  --disable-protocol ИМЯ ПРОТОКОЛА
                           отключить анализ указанного ПРОТОКОЛА
  --only-protocols ПРОТОКОЛЫ
                           Включить только разбор этих протоколов, через
                           запятую. Отключить всё остальное
  --disable-all-protocols
                           Отключить разбор всех протоколов
  --enable-heuristic КОРОТКОЕ ИМЯ
                           включить анализ эвристического протокола
  --disable-heuristic КОРОТКОЕ ИМЯ
                           отключить анализ эвристического протокола
Вывод:
  -w ФАЙЛ ВЫВОДА|-         записать в ФАЙЛ ВЫВОДА пакеты в файловом формате pcapng
                           (или '-' для stdout). Если выходной файл имеет
                           расширение .gz, то он будут сжат в архив gzip
  --capture-comment КОММЕНТАРИЙ
                           добавить комментарий к файлу захвата, если поддерживается форматом файла
  -C КОНФИГУРАЦИОННЫЙ ПРОФИЛЬ      запустить с указанным конфигурационным профилем
  --global-profile         использовать глобальный профиль вместо персонального
  -F ТИП ВЫХОДНОГО ФАЙЛА   установить тип выходного файла; по умолчанию это pcapng.
                           пустая опция "-F" покажет типы файлов
  -V                       добавить вывод дерева пакетов        (Packet Details)
  -O ПРОТОКОЛЫ             Показывать только сведения о пакетах этих протоколов, разделённые
                           запятыми
  -P, --print              печатать сводку пакета даже при записи в файл
  -S РАЗДЕЛИТЕЛЬ           разделитель строк для печати между пакетами
  -x                       добавить вывод шестнадцатеричного и ASCII-дампа (Packet Bytes)
  --hexdump ОПЦИИ HEX      добавить hexdump, задать параметры для источника данных и ASCII-дампа
     all                   дамп всех источников данных (-x по умолчанию)
     frames                записывать только данные кадра источника
     ascii                 включать дамп ASCII текста (-x по умолчанию)
     delimit               разделять текст дампа ASCII символом '|'
     noascii               включать текстовый дамп ASCII
     help                  показать справку для опции --hexdump и выйти
  -T pdml|ps|psml|json|jsonraw|ek|tabs|text|fields|?
                           формат текстового вывода (по умолчанию: text)
  -j ФИЛЬТР ПРОТОКОЛА      фильтр слоёв протоколов если выбран -T ek|pdml|json
                           (например "ip ip.flags text", фильтр не разворачивает дочерние
                           узлы, если дочерний узел не указан в фильтре)
  -J ФИЛЬТР ПРОТОКОЛА      фильтр протокола верхнего уровня, если выбрано -T ek|pdml|json
                           (например "http tcp", фильтр, который разворачивает все дочерние узлы)
  -e ПОЛЕ                  поле для печати, если выбрано -Tfields selected (например tcp.port,
                           _ws.col.info)
                           эту опцию можно повторить несколько раз для печати нескольких полей
  -E ОПЦИЯ ПОЛЯ=ЗНАЧЕНИЕ устанавливает опции для вывода когда выбрано -Tfields:
     bom=y|n               печатать UTF-8 BOM
     header=y|n            включение и выключение заголовков
     separator=/t|/s|СИМВОЛ выбор табуляции, пробела, печатного символа в качестве разделителя
     occurrence=f|l|a      напечатать первое, последнее или все совпадения каждого поля
     aggregator=,|/s|СИМВОЛ выбрать запятую, пробел, печатный символ в качестве
                           агрегатора
     quote=d|s|n           для значений выбрать двойные, одинарные или без кавычек
  -t (a|ad|adoy|d|dd|e|r|u|ud|udoy)[.[N]]|.[N]
                           выводной формат меток времени (по умолчанию: r: относительное время к началу захвата)
  -u s|hms                 формат вывода секунд (по умолчанию: s: секунды)
  -l                       сбрасывать стандартный вывод после каждого пакета
                           (подразумевает --update-interval 0)
  -q                       выводить меньше данных на экран (например, при использовании статистики)
  -Q                       выводить только истинные ошибки stderr (меньше данных, чем с -q)
  -g                       включить групповой доступ на чтение выходных файлов
  -W n                     сохранять дополнительную информацию в файле, если выбранный формат это поддерживает
                           n = записать информацию о разрешении сетевого адреса
  -X КЛЮЧ:ЗНАЧЕНИЕ         параметры расширения, подробности смотрите ниже в разделе Руководство
  -U tap_name              Режим экспорта PDU, подробности подробности смотрите ниже в разделе Руководство
  -z СТАТИСТИКА            различные статистические данные, подробности смотрите ниже в разделе Руководство
  --export-objects ПРОТОКОЛ,ДИРЕКТОРИЯ
                           сохранить экспортированные объекты для ПРОТОКОЛА в
                           указанную ДИРЕКТОРИЮ
  --export-tls-session-keys ФАЙЛ_КЛЮЧЕЙ
                           экспортировать Ключе TLS Сессии в ФАЙЛ_КЛЮЧЕЙ
  --color                  цветной вывод текста, аналогичный графическому интерфейсу Wireshark,
                           требует терминал с поддержкой 24-битного цвета
                           Также предоставляет атрибуты цвета для форматов pdml и psml
                           (Обратите внимание, что атрибуты нестандартные)
  --no-duplicate-keys      Если указано -T json, объединить повторяющиеся ключи в
                           объекте в один ключ со значением json-массива,
                           содержащего все значения.
  --elastic-mapping-filter ПРОТОКОЛЫ Если указано -G elastic-mapping, поместить в файл сопоставления
                           только указанные протоколы
  --temp-dir ДИРЕКТОРИЯ    записывать временный файлы в эту директорию
                           (по умолчанию: /tmp)
  --compress ФОРМАТ        сожмите выходной файл, используя ФОРМАТ сжатия типа

Диагностические опции:
  --log-level УРОВЕНЬ      установить активный УРОВЕНЬ журнала ("critical", "warning", etc.)
  --log-fatal УРОВЕНЬ      установить уровень для прерывания программы ("critical" или "warning")
  --log-domains [!]СПИСОК  список активных доменов журнала, разделённых запятыми
  --log-fatal-domains СПИСОК
                           список доменов, которые вызывают аварийное завершение работы программы
  --log-debug [!]СПИСОК    список доменов с уровнем "debug" (отладка)
  --log-noisy [!]СПИСОК    список доменов с уровнем "noisy" (шумный)
  --log-file ПУТЬ          файл для вывода сообщений (в дополнение к stderr)

Прочее:
  -h, --help               показать справку и выйти
  -v, --version            показать информацию о версии и выйти
  -o ИМЯ:ЗНАЧЕНИЕ ...      переопределить указанные настройки
  -K KEYTAB                файл keytab для использования расшифровки kerberos
  -G ОТЧЁТ                 вывести один из нескольких доступных отчётов и выйти
                           по умолчанию report="fields"
                           используйте "-G help" для получения подробной информации

Dumpcap может извлечь пользу из включённого компилятора BPF JIT, если он доступен. Возможно, вы захотите включить его, выполнив:

echo 1 > /proc/sys/net/core/bpf_jit_enable

Обратите внимание, что это может сделать вашу систему менее безопасной!


Руководство по TShark

ИМЯ

tshark — захват и анализ сетевого трафика.

СИНОПСИС

tshark [ -i ИНТЕРФЕЙС_ЗАХВАТА|- ] [ -f ФАЙЛ_ЗАХВАТА ] [ -2 ] [ -r ВХОДНОЙ_ФАЙЛ ] [ -w ФАЙЛ_ВЫВОДА|- ] [ ОПЦИИ ] [ ФИЛЬТРЫ ]
tshark -G [ ТИП_ОТЧЁТА ] [ --elastic-mapping-filter ПРОТОКОЛЫ ] [ -C ПРОФИЛЬ ]
tshark -h|--help
tshark -v|--version

ОПИСАНИЕ

TShark – это анализатор сетевых протоколов. Он позволяет захватывать пакетные данные из сети в реальном времени или считывать пакеты из ранее сохранённого файла захвата; при этом утилита может распечатывать декодированную форму этих пакетов в стандартный вывод, либо записывая пакеты в файл. Собственный формат файла захвата TShark – это формат pcapng, который также используется Wireshark и различными другими инструментами.

Без указания каких-либо параметров TShark будет работать во многом как tcpdump. Он будет использовать библиотеку pcap для захвата трафика с первого доступного сетевого интерфейса и отображать итоговую строку в стандартном выводе для каждого полученного пакета.

При запуске с опцией -r, указывающей файл захвата, из которого следует считывать, TShark снова будет работать во многом как tcpdump, считывая пакеты из файла и отображая итоговую строку в стандартном выводе для каждого считанного пакета. TShark может обнаруживать, считывать и записывать те же файлы захвата, которые поддерживаются Wireshark. Входному файлу не требуется определённое расширение имени файла: программа автоматически может определить формат файла, а также используемое сжатие gzip, Zstandard или LZ4. В начале раздела ОПИСАНИЕ man wireshark или https://www.wireshark.org/docs/man-pages/wireshark.html находится подробное описание того, как Wireshark обрабатывает это, что является тем же способом, которым обрабатывает это TShark.

Поддержка сжатых файлов использует (и, следовательно, требует) библиотеку zlib. Если библиотека zlib отсутствует при компиляции TShark, утилиту всё равно можно будет скомпилировать, но полученная программа не сможет читать сжатые файлы. Аналогично, LZ4 и ZStandard также требуют свои соответствующие библиотеки.

При отображении пакетов на стандартном выводе TShark по умолчанию выводит итоговую строку, содержащую поля, указанные в файле настроек (которые также являются полями, отображаемыми на панели списка пакетов в Wireshark), хотя, если он записывает пакеты по мере их захвата, а не записывает пакеты из сохранённого файла захвата, утилита не будет отображать поле «номер кадра». Если указана опция -V, утилита вместо этого записывает представление сведений о пакете, показывая все поля всех протоколов в пакете. Если указана опция -O, программа будет показывать только полные сведения для указанных протоколов и показывать только строку сведений верхнего уровня для всех остальных протоколов.

Аббревиатуры протоколов, которые можно указать, вы можете посмотреть с помощью следующей команды:

tshark -G protocols

Если опция -P указана с опцией -V или -O, будут отображаться как итоговая строка для всего пакета, так и подробная информация.

Захват пакетов выполняется с помощью библиотеки pcap. Эта библиотека поддерживает указание выражения фильтра; пакеты, не соответствующие этому фильтру, отбрасываются. Параметр -f используется для указания фильтра захвата. Синтаксис фильтра захвата определяется библиотекой pcap; этот синтаксис отличается от синтаксиса фильтра отображения, описанного ниже, а механизм фильтрации ограничен в своих возможностях.

Фильтры отображения в TShark, которые позволяют вам выбирать, какие пакеты должны быть декодированы или записаны в файл, очень эффективны; в TShark фильтруется больше полей, чем в других анализаторах протоколов, а синтаксис, который вы можете использовать для создания своих фильтров, более богат. По мере развития TShark ожидайте, что в фильтрах отображения будет разрешено все больше полей протокола. Фильтры отображения используют тот же синтаксис, что и фильтры отображения и цвета в Wireshark; фильтр отображения указывается с помощью параметра -Y.

Фильтры отображения можно указывать при захвате или при чтении из файла захвата. Обратите внимание, что фильтры захвата намного эффективнее фильтров отображения, и TShark может быть сложнее справиться с загруженной сетью, если для захвата в реальном времени указан фильтр отображения, поэтому при использовании фильтра отображения, возрастает вероятность потерять пакеты.

Фильтр захвата или отображения может быть указан с опцией -f или -Y соответственно, в этом случае все выражение фильтра должно быть указано как один аргумент (что означает, что если оно содержит пробелы, оно должно быть заключено в кавычки), или может быть указано с аргументами командной строки после аргументов опции, в этом случае все аргументы после аргументов фильтра рассматриваются как выражение фильтра. Если фильтр указан с аргументами командной строки после аргументов опции, то он считается фильтром захвата, если выполняется захват (т. е. если не указана опция -r); и он будет считаться фильтром отображения, если считывается файл захвата (т. е. если указана опция -r).

Если при захвате пакетов или чтении из файла захвата указана опция -w, TShark не отображает пакеты на стандартном выводе. Вместо этого он записывает пакеты в файл захвата с именем, указанным опцией -w. Обратите внимание, что в настоящее время фильтры отображения не поддерживаются при захвате и сохранении захваченных пакетов в файл.

Если вы хотите записать декодированную форму пакетов в файл, запустите TShark без опции -w и перенаправьте его стандартный вывод в файл (не используйте опцию -w).

Если вы хотите, чтобы пакеты отображались на стандартном выводе, а также сохранялись в файле, укажите опцию -P в дополнение к опции -w, чтобы отображалась строка сводки; укажите опцию -V в дополнение к опции -w, чтобы отображались сведения о пакете; и укажите опцию -O со списком протоколов, чтобы отображались полные сведения об указанных протоколах и строка сведений верхнего уровня для всех остальных протоколов. Если опция -P используется вместе с опцией -V или -O, строка сводки будет отображаться вместе со строками подробностей.

При записи пакетов в файл TShark по умолчанию записывает файл в формате pcapng и записывает все пакеты, которые видит, в выходной файл. Опция -F может использоваться для указания формата, в котором следует записывать файл. Список доступных форматов файлов отображается опцией -F без значения:

tshark -F

Форматы, которые поддерживает TShark:

  • pcap - Wireshark/tcpdump/... - pcap
  • pcapng - Wireshark/... - pcapng
  • 5views - InfoVista 5View capture
  • btsnoop - Symbian OS btsnoop
  • commview-ncf - TamoSoft CommView NCF
  • commview-ncfx - TamoSoft CommView NCFX
  • dct2000 - Catapult DCT2000 trace (.out format)
  • erf - Endace ERF capture
  • eyesdn - EyeSDN USB S0/E1 ISDN trace format
  • k12text - K12 text file
  • lanalyzer - Novell LANalyzer
  • logcat - Android Logcat Binary format
  • logcat-brief - Android Logcat Brief text format
  • logcat-long - Android Logcat Long text format
  • logcat-process - Android Logcat Process text format
  • logcat-tag - Android Logcat Tag text format
  • logcat-thread - Android Logcat Thread text format
  • logcat-threadtime - Android Logcat Threadtime text format
  • logcat-time - Android Logcat Time text format
  • modpcap - Modified tcpdump - pcap
  • mp2t - MPEG2 transport stream
  • netmon1 - Microsoft NetMon 1.x
  • netmon2 - Microsoft NetMon 2.x
  • nettl - HP-UX nettl trace
  • ngsniffer - Sniffer (DOS)
  • ngwsniffer_1_1 - NetXray, Sniffer (Windows) 1.1
  • ngwsniffer_2_0 - Sniffer (Windows) 2.00x
  • nokiapcap - Nokia tcpdump - pcap
  • nsecpcap - Wireshark/tcpdump/... - nanosecond pcap
  • nstrace10 - NetScaler Trace (Version 1.0)
  • nstrace20 - NetScaler Trace (Version 2.0)
  • nstrace30 - NetScaler Trace (Version 3.0)
  • nstrace35 - NetScaler Trace (Version 3.5)
  • observer - Viavi Observer
  • rf5 - Tektronix K12xx 32-bit .rf5 format
  • rh6_1pcap - RedHat 6.1 tcpdump - pcap
  • snoop - Sun snoop
  • suse6_3pcap - SuSE 6.3 tcpdump - pcap
  • visual - Visual Networks traffic capture

Однако для захвата в реальном времени можно указать только формат файла, поддерживаемый man dumpcap, а именно pcapng или pcap. Опция --compress также может использоваться для указания метода сжатия; список поддерживаемых методов сжатия для записи может быть отображён методом --compress без аргумента:

tshark --compress

Поддерживаемые в TShark типы сжатия:

  • lz4
  • gzip

Если опция --compress не указана,то метод сжатия определяется расширением файла, указанного опцией -w. Сжатие не поддерживается для живого захвата.

При захвате пакетов TShark записывает в стандартный поток ошибок начальную строку со списком интерфейсов, с которых захватываются пакеты, и, если информация о пакетах не отображается на терминале, записывает непрерывный подсчёт захваченных пакетов в стандартный поток вывода. Если указан параметр -q, ни непрерывный подсчёт, ни информация о пакетах отображаться не будут; вместо этого в конце захвата будет отображаться подсчёт захваченных пакетов. Если указан параметр -Q, ни начальная строка, ни информация о пакетах, ни подсчёт пакетов отображаться не будут. Если используется параметр -q или -Q, можно использовать параметр -P, -V или -O, чтобы отобразить соответствующий вывод, даже если другой вывод подавлен.

При чтении пакетов параметр -q и -Q подавит отображение сводки или подробностей пакета; это будет использоваться, если указаны параметры -z для отображения статистики, чтобы отображалась только статистика, а не информация о пакетах.

Опция -G – это специальный режим, который просто заставляет TShark выгружать один из нескольких типов внутренних глоссариев, а затем завершать работу.

ОПЦИИ

-2

Выполнить двухпроходный анализ. Это заставляет TShark буферизировать вывод до тех пор, пока не будет выполнен весь первый проход, но позволяет заполнить поля, требующие будущих знаний, такие как поля «ответ в кадре №». Также позволяет правильно рассчитывать зависимости кадров повторной сборки. Это требует возможности обратного поиска на входе и, как таковое, не может использоваться с живыми захватами или при чтении из канала или FIFO.


-a|--autostop УСЛОВИЕ АВТОСТОПА ЗАХВАТА

Указывает критерий, который определяет, когда TShark должен прекратить запись в файл захвата. Критерий имеет вид test:value, где test может быть одним из следующих:

duration:value Остановить запись в файл захвата по истечении указанного количества секунд. Разрешены значения с плавающей точкой (например, 0,5).

files:value Остановить запись в файлы захвата по истечении указанного количества записанных файлов.

filesize:value Остановить запись в файл захвата после достижения размера в кБ. Если эта опция используется вместе с опцией -b, TShark прекратит запись в текущий файл захвата и переключится на следующий, если будет достигнут размер в размере filesize. При чтении файла захвата TShark прекратит чтение файла после того, как количество прочитанных байтов превысит это число (будет прочитан весь пакет, поэтому может быть прочитано больше байтов, чем это число). Обратите внимание, что размер файла ограничен максимальным значением 2 ТБ, хотя у вас могут возникнуть проблемы и до этого, если количество пакетов превысит 232 (4294967296).

packets:value перейти к следующему файлу после того, как он содержит указанную величину (value) пакетов. Сюда не входят пакеты, которые не прошли фильтр отображения, поэтому он может отличаться от -c СЧЁТЧИК ЗАХВАЧЕННЫХ ПАКЕТОВ.

-A ПОЛЬЗОВАТЕЛЬ:ПАРОЛЬ

Указывает пользователя и пароль, когда TShark захватывает данные с интерфейса rpcap://, где требуется аутентификация.

Эта опция доступна с libpcap с включённой удалённой поддержкой.

-b|--ring-buffer ПАРАМЕТРЫ РОТАЦИИ ФАЙЛОВ ЗАХВАТА

Эта опция заставляет TShark работать в режиме «несколько файлов». В режиме «несколько файлов» TShark будет поочерёдно записывать в несколько файлов захвата. Когда первый файл захвата заполнится, TShark переключится на запись в следующий файл и т. д.

Создаваемые имена файлов основаны на имени файла, указанном с параметром -w, номере файла и дате и времени создания, например, outfile_00001_20240714120117.pcap, outfile_00002_20240714120523.pcap, …​

С параметром files также можно сформировать «кольцевой буфер». В этом случае утилита заполнит новые файлы до указанного количества файлов, после чего TShark отбросит данные в первом файле и начнёт записывать свежие данные в этом файл, затем аналогично со вторым и так далее. Если параметр files не установлен, новые файлы заполняются до тех пор, пока не сработает одно из условий остановки захвата (или пока не заполнится диск).

Критерий имеет вид key:value, где key — одно из следующих:

duration:value перейти к следующему файлу по истечении value секунд, даже если текущий файл не заполнен полностью. Разрешены значения с плавающей точкой (например, 0,5).


files:value начать снова с первого файла после value количества записанных файлов (образовать кольцевой буфер). Это значение должно быть меньше 100000. Следует проявлять осторожность при использовании большого количества файлов: некоторые файловые системы плохо обрабатывают много файлов в одном каталоге. Критерий files требует указания duration, interval или filesize для управления тем, когда переходить к следующему файлу. Следует отметить, что каждый параметр -b принимает ровно один критерий; чтобы указать два критерия, каждому из них должна предшествовать опция -b.

filesize:value перейти к следующему файлу после достижения размера value kB. Обратите внимание, что размер файла ограничен максимальным значением 2 ТБ, хотя у вас могут возникнуть проблемы и до этого, если количество пакетов превысит 232 (4294967296).

interval:value перейти к следующему файлу, когда время является точным кратным значению секунд. Например, используйте 3600 для переключения на новый файл каждый час.

packets:value перейти к следующему файлу после того, как он содержит значения пакетов.

printname:filename вывести имя последнего записанного файла в filename после закрытия файла. filename может быть stdout или «-» для стандартного вывода или stderr для стандартноого вывода ошибок.

nametimenum:value выбрать один из двух шаблонов сохранения имени файла. Если value равно 1, сделать часть номера текущего файла перед частью времени начала; это исходное и стандартное поведение (например, log_00001_20240714164426.pcap). Если значение больше 1, то часть времени начала должна располагаться перед частью текущего номера (например, log_20210828164426_00001.pcap). Последнее значение делает алфавитный порядок сортировки равным порядку времени создания, а также сохраняет связанные наборы файлов в одном каталоге близко друг к другу.

Следующий пример создаёт кольцевой буфер из пяти файлов размером один мегабайт каждый:

sudo tshark -b filesize:1000 -b files:5

-B|--buffer-size РАЗМЕР БУФЕРА ЗАХВАТА

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

Это доступно в UNIX-совместимых системах, таких как Linux, macOS, *BSD, Solaris и AIX, с libpcap 1.0.0 или более поздней версии, а также в Windows. Это недоступно в UNIX-совместимых системах с более ранними версиями libpcap.

Этот параметр может встречаться несколько раз. Если он используется до первого появления параметра -i, он устанавливает размер буфера захвата по умолчанию. Если он используется после параметра -i, он устанавливает размер буфера захвата для интерфейса, указанного последним параметром -i, встречающимся перед этим параметром. Если размер буфера захвата не указан специально, вместо него используется размер буфера захвата по умолчанию.

-c КОЛИЧЕСТВО ПАКЕТОВ ЗАХВАТА

Установит максимальное количество пакетов для чтения при захвате данных в реальном времени. При чтении файла захвата установит максимальное количество пакетов для чтения. Это включает любые пакеты, в том числе и те, которые не прошли фильтр отображения, поэтому значение этих пакетов может отличаться от -a packets:СЧЁТЧИК_ЗАХВАЧЕННЫХ_ПАКЕТОВ.

-C КОНФИГУРАЦИОННЫЙ_ПРОФИЛЬ

Запустить с указанным профилем настроек. Если использовать в сочетании с --global-profile, то будет использоваться глобальный профиль с соответствующим именем.

-D|--list-interfaces

Вывести список интерфейсов, на которых TShark может выполнять захват, и выйти. Для каждого сетевого интерфейса выводится номер и имя интерфейса, возможно, сопровождаемое текстовым описанием интерфейса. Имя интерфейса или номер можно указать в флаге -i, чтобы указать интерфейс, на котором необходимо выполнить захват. Номер может быть полезен в системах Windows, где интерфейсы имеют длинные имена, которые обычно содержат GUID.

-e ПОЛЕ

Добавить поле в список полей для отображения, если выбран -T ek|fields|json|pdml. Этот параметр можно использовать несколько раз в командной строке. Необходимо указать хотя бы одно поле, если выбран параметр -T fields. Типы столбцов можно использовать с префиксом "_ws.col."

Пример:

sudo tshark -T fields -e frame.number -e ip.addr -e udp -e _ws.col.info

Список полей с префиксом "_ws.col.": https://www.wireshark.org/docs/dfref/_/_ws.col.html

Поля по умолчанию разделяются символами табуляции. -E управляет форматом печатаемых полей. Указание протокола вместо одного поля приведёт к печати сводки протокола (метки поддерева) из сведений о пакете в виде одного поля. Если сводка протокола содержит только имя протокола (например, "Hypertext Transfer Protocol"), то будет напечатано имя фильтра протокола ("http").

-E ОПЦИИ ПЕЧАТИ ПОЛЕЙ

Устанавливает опцию, управляющую печатью полей, если выбрано -T fields.

Опции:

bom=y|n Если y, добавить в начало вывода метку порядка байтов UTF-8 (шестнадцатеричное ef, bb, bf). По умолчанию n.

header=y|n Если y, вывести список имён полей, заданных с помощью -e в качестве первой строки вывода; имя поля будет разделено тем же символом, что и значения полей. По умолчанию n.

separator=/t|/s|СИМВОЛ Задайте символ-разделитель для использования в полях. Если /t, будет использоваться табуляция (это значение по умолчанию), если /s, будет использоваться один пробел. В противном случае может использоваться любой символ, который может быть принят командной строкой как часть параметра.

appearance=f|l|a Выберите, какое вхождение использовать для полей, которые имеют несколько вхождений. Если f, будет использоваться первое вхождение, если l, будет использоваться последнее вхождение, а если a, будут использоваться все вхождения (это значение по умолчанию).

aggregator=,|/s|СИМВОЛ Задайте символ-агрегатор для использования в полях, которые имеют несколько вхождений. Если указана «,» (запятая) будет использоваться запятая (это значение по умолчанию), если /s, будет использоваться один пробел. В противном случае может использоваться любой символ, который может быть принят командной строкой как часть параметра.

quote=d|s|n Задайте символ кавычек, в которые будут помещены значения полей. d использует двойные кавычки, s — одинарные кавычки, n — без кавычек (по умолчанию). Если символ кавычек появляется в значении поля, он будет экранирован путём дублирования.

escape=y|n Если y, то символы управления пробелами (табуляция, перевод строки, возврат каретки, перевод страницы и вертикальная табуляция), backspace и обратная косая черта будут заменены в значениях полей на экранированные символы в стиле C, например, "\n" для перевода строки. Если n, то строки значений полей будут напечатаны как есть. По умолчанию y.

-f ФИЛЬТРЫ ЗАХВАТА

Устанавливает выражение фильтра захвата.

Этот параметр может встречаться несколько раз. Если используется до первого появления параметра -i, он устанавливает выражение фильтра захвата по умолчанию. Если используется после параметра -i, он устанавливает выражение фильтра захвата для интерфейса, указанного последним параметром -i, встречающимся перед этим параметром. Если выражение фильтра захвата не задано специально, используется выражение фильтра захвата по умолчанию, если оно указано.

Предопределённые имена фильтров захвата, как показано в пункте меню GUI Захват → Фильтры захвата, можно использовать, добавив к аргументу префикс "predef:". Пример:

tshark -f "predef:MyPredefinedHostOnlyFilter"

-F ФОРМАТ ФАЙЛА

Установит формат выходного файла захвата, записанного с помощью параметра -w. Выходные данные, записанные с помощью параметра -w, представляют собой необработанные пакетные данные, а не текст, поэтому параметр -F для запроса текстового вывода отсутствует. Параметр -F без значения выведет список доступных форматов. По умолчанию используется формат pcapng (если значение по умолчанию не было изменено в настройках).

-g

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

-G ТИП ОТЧЁТА

Опция -G заставит TShark выгрузить один из нескольких типов глоссариев и выйти. Если тип глоссария не указан, то по умолчанию будет сгенерирован отчёт о полях; это устарело, и в будущей версии потребуется аргумент типа отчёта. Опция -G должна быть первой указанной опцией. Использование типа отчёта help выводит список всех текущих типов отчётов.

Доступные типы отчётов включают:

column-formats Выводит форматы столбцов, понимаемые TShark. В каждой строке находится одна запись. Поля разделены табуляцией. Столбцы отчёта:

  • строка формата (например, "%rD")
  • текстовое описание строки формата (например, "Dest port (resolved)")

currentprefs Выводит копию текущего файла настроек в stdout.


decodes Выводит ассоциации "тип слоя"/"декодировать как" в stdout. В каждой строке находится одна запись. Поля разделены табуляцией. Столбцы отчёта:

  • тип слоя, например "tcp.port"
  • селектор в десятичном формате
  • имя "decode as", например "http"

defaultprefs Выводит файл настроек по умолчанию на stdout.

dissectors Выводит список зарегистрированных диссекторов на stdout. В каждой строке одна запись. Поля разделены табуляцией. Столбцы отчёта:

  • имя диссектора
  • описание диссектора

dissector-tables Выводит список таблиц диссекторов на stdout. В каждой строке одна запись. Поля разделены табуляцией. Поля отчёта:

  • имя таблицы диссекторов, например "tcp.port"
  • имя, используемое для таблицы dissector в GUI
  • тип (текстовое представление типа ftenum или "эвристический")
  • база для отображения (для целочисленных типов)
  • имя протокола
  • поддержка "decode as" (для неэвристических таблиц)

elastic-mapping Выводит файл сопоставления ElasticSearch на stdout. Поля, попадающие в кейс по умолчанию (строка), не будут отображены.

enterprises Выводит таблицу номеров частных предприятий IANA (PEN).

fieldcount Выводит количество полей заголовков на stdout.

fields[,prefix] Выводит содержимое базы данных регистрации на stdout. Независимая программа может взять этот вывод и отформатировать его в удобные таблицы или HTML или что-то ещё. В каждой строке находится одна запись. Каждая запись представляет собой либо протокол, либо поле заголовка, различающиеся по первому полю. Поля разделены табуляцией.

Столбцы для Протоколов

  • 'P'
  • описательное имя протокола
  • сокращение протокола

Столбцы для Полей:

  • 'F'
  • описательное имя поля
  • сокращение поля
  • тип (текстовое представление типа ftenum)
  • сокращение родительского протокола
  • база для отображения (для целочисленных типов); "ширина родительского битового поля" для FT_BOOLEAN
  • битовая маска: формат: hex: 0x….
  • аннотация, описывающая поле

Полям может быть задан необязательный аргумент префикса поиска, в этом случае вывод ограничивается протоколами и полями, аббревиатура которых начинается с префикса поиска.

Столбцы Поиска:

  • протокол или аббревиатура поля
  • описательный протокол или имя поля

folders Выводит различные папки, используемые TShark. По сути, это те же данные, которые отображаются на вкладке О программе → Папки Wireshark. В каждой строке содержится одна запись. Поля разделены табуляцией. Столбцы отчёта:

  • тип папки (например, "Персональная конфигурация:")
  • расположение папки (например, "/home/vagrant/.config/wireshark/")

ftypes Выводит "ftypes" (основные типы), понимаемые TShark. В каждой строке содержится одна запись. Поля разделены табуляцией. Столбцы отчёта:

  • FTYPE (например, "FT_IPv6")
  • текстовое описание типа (например, "IPv6-адрес")

heuristic-decodes Выводит эвристические декодеры, установленные в данный момент. В каждой строке одна запись. Поля разделены табуляцией. Столбцы отчёта:

  • имя таблицы эвристического диссектора (например, "tcp")
  • имя эвристического декодера (например, "ucp")
  • включена эвристика (например, "T" или "F")
  • включена эвристика по умолчанию (например, "T" или "F")
  • короткое имя эвристики (например, "ucp_tcp")
  • отображаемое имя эвристики (например, "UCP через TCP")

help Отображает доступные типы отчетов.

manuf Выводит таблицу поиска MAC-адресов в формате manuf.

plugins Выводит установленные в данный момент плагины. В каждой строке по одной записи. Поля разделены табуляцией. Столбцы отчёта:

  • библиотека плагина/скрипт Lua/исполняемый файл extcap (например, "gryphon.so")
  • версия плагина (например, 0.0.4)
  • тип плагина ("dissector", "tap", "тип файла" и т. д.)
  • полный путь к файлу плагина

protocols Выводит протоколы из базы данных регистрации на stdout. Независимая программа может взять этот вывод и отформатировать его в удобные таблицы или HTML или что-то ещё. В каждой строке находится одна запись. Поля разделены табуляцией. Столбцы отчёта:

  • имя протокола
  • короткое имя протокола
  • имя фильтра протокола
  • протокол включён (например, "T" или "F")
  • протокол включён по умолчанию (например, "T" или "F")
  • протокол может переключаться (например, "T" или "F")

services Выводит таблицу транспортных служб (портов) TCP, UDP и SCTP.

values Выводит строки value_strings, range_strings или true/false для полей, которые их содержат. В каждой строке находится одна запись. Поля разделены табуляцией. Существует три типа записей: строка значения, строка диапазона и строка True/False. Первое поле, 'V', 'R' или 'T', указывает тип записи.

Столбцы Строки значения

  • 'V'
  • Сокращение поля, которому соответствует эта строка значения
  • Целое значение
  • Строка

Столбцы Строки диапазона

  • 'R'
  • Сокращение поля, которому соответствует эта строка диапазона
  • Целое значение: нижняя граница
  • Целое значение: верхняя граница
  • Строка

Столбцы Строки True/False

  • 'T'
  • Сокращение поля, которому соответствует эта строка true/false
  • Строка True
  • Строка False

-h|--help

Вывести номер версии и параметры и выйти.

-H ВХОДНОЙ ФАЙЛ hosts

Считать список записей из файла «hosts», который затем будет записан в файл захвата. Подразумевает -W n. Может вызываться несколько раз.

Формат файла "hosts" задокументирован по адресу:

-i|--interface ИНТЕРФЕЙС ЗАХВАТА | -

Установить имя сетевого интерфейса или канала для использования при захвате пакетов в реальном времени.

Имена сетевых интерфейсов должны соответствовать одному из имён, которые выводит рассмотренная выше опция -D:

sudo tshark -D

Также можно использовать число, сообщаемое указанной командой.

Если интерфейс не указан, TShark ищет в списке интерфейсов, выбирая первый не-loopback-интерфейс, если есть какие-либо не-loopback-интерфейсы, и выбирая первый петлевой-интерфейс, если нет не-loopback-интерфейсов. Если интерфейсов нет вообще, TShark сообщает об ошибке и не начинает захват.

Имена каналов должны быть либо именем FIFO (именованный канал), либо «-» для чтения данных из стандартного ввода. В системах Windows имена каналов должны иметь вид «\\.\pipe\pipename». Данные, считываемые из каналов, должны быть в стандартном формате pcapng или pcap. Данные pcapng должны иметь тот же порядок байтов, что и захватывающий хост.

«TCP@ХОСТ:ПОРТ» заставляет TShark попытаться подключиться к указанному порту на указанном хосте и прочитать данные pcapng или pcap.

Эта опция может встречаться несколько раз. При захвате с нескольких интерфейсов файл захвата будет сохранен в формате pcapng.

-I|--monitor-mode

Перевести интерфейс в «режим монитора»; он поддерживается только на интерфейсах Wi-Fi IEEE 802.11 и поддерживается только в некоторых операционных системах.

Обратите внимание, что в режиме мониторинга адаптер может отсоединиться от сети, с которой он связан, так что вы не сможете использовать какие-либо беспроводные сети с этим адаптером. Это может помешать доступу к файлам на сетевом сервере или разрешению имён хостов или сетевых адресов, если вы захватываете в режиме мониторинга и не подключены к другой сети с другим адаптером.

Этот параметр может встречаться несколько раз. Если он используется до первого появления параметра -i, он включает режим мониторинга для всех интерфейсов. Если он используется после параметра -i, он включает режим мониторинга для интерфейса, указанного последним параметром -i, встречающимся перед этим параметром.

-j ФИЛЬТР_ПРОТОКОЛА

Фильтр соответствия протоколу, используемый для типов выходных файлов ek|json|jsonraw|pdml. Включается только родительский узел протокола. Дочерние узлы включаются только в том случае, если это явно указано в фильтре.

Пример:

sudo tshark -T json -j "ip ip.flags http"

-J ФИЛЬТР_ПРОТОКОЛА

Фильтр верхнего уровня протокола, используемый для типов выходных файлов ek|json|jsonraw|pdml. Включаются родительский узел протокола и все дочерние узлы. Протоколы более низкого уровня должны быть явно указаны в фильтре.

Пример:

sudo tshark -T pdml -J "tcp http"

-l

Выводить каждый пакет немедленно в стандартный вывод без буферизации. (Это, строго говоря, не буферизация строк, если указано -V; однако это то же самое, что и буферизация строк, если -V не указано, так как для каждого пакета печатается только одна строка, и, поскольку -l обычно используется при конвейеризации живого захвата в программу или скрипт, так что вывод для пакета отображается, как только пакет виден и проанализирован, это должно работать так же хорошо, как настоящая буферизация строк. Мы делаем это как обходной путь для недостатка в библиотеке Microsoft Visual C++ C.) Это также устанавливает --update-interval на 0 ms.

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

-L|--list-data-link-types

Перечислите типы каналов данных, поддерживаемые интерфейсом, и выйдит. Сообщаемые типы ссылок можно использовать для параметра -y.

Выводимые типы данных зависят от указанного сетевого интерфейса:

sudo tshark -i wlo1 -L
  EN10MB (Ethernet)
sudo tshark -i enp3s0 -L
  EN10MB (Ethernet)
  DOCSIS (DOCSIS)
sudo tshark -i bluetooth0 -L
  BLUETOOTH_HCI_H4_WITH_PHDR (Bluetooth HCI UART transport layer plus pseudo-header)
sudo tshark -i bluetooth-monitor -L
  BLUETOOTH_LINUX_MONITOR (Bluetooth Linux Monitor)

-o НАСТРОЙКА:ЗНАЧЕНИЕ

Установит значение параметра, переопределяющее значение по умолчанию и любое значение, считанное из файла настроек. Аргументом параметра является строка в форме НАСТРОЙКА:ЗНАЧЕНИЕ, где НАСТРОЙКА — это имя параметра (которое совпадает с именем, которое будет отображаться в файле настроек), а ЗНАЧЕНИЕ — это значение, которое должно быть установлено.

-O ПРОТОКОЛЫ

Аналогично опции -V, но заставляет TShark показывать только подробный вид списка указанных ПРОТОКОЛОВ, разделённых запятыми, и показывать только строку сведений верхнего уровня для всех остальных протоколов, а не подробный вид всех протоколов. Используйте вывод следующей команды, чтобы найти сокращения протоколов, которые вы можете указать:

tshark -G protocols

-p|--no-promiscuous-mode

Не переводить интерфейс в беспорядочный режим. Обратите внимание, что интерфейс может находиться в беспорядочном режиме по какой-то другой причине; поэтому -p не может гарантировать, что единственный трафик, который будет захвачен, был трафиком, отправленным на или с машины, на которой запущен TShark; широковещательный трафик и многоадресный трафик отправляемые на адреса, в которые входит эта машина, также будет захвачен.

Эта опция может встречаться несколько раз. Если она используется до первого появления опции -i, ни один интерфейс не будет переведён в беспорядочный режим. Если используется после опции -i, интерфейс, указанный последней опцией -i, встречающейся перед этой опцией, не будет переведён в беспорядочный режим.

-P|--print

Декодировать и отображать сводку или сведения о пакете, даже если записываются необработанные данные пакета с помощью опции -w, и даже если вывод пакета иным образом подавлен с помощью -Q.

-q

При захвате пакетов не отображать счётчик захваченных пакетов, который обычно отображается на протяжении всего сохранения захвата в файл; вместо этого просто отображать в конце захвата количество захваченных пакетов. В системах, которые поддерживают сигнал SIGINFO, таких как различные BSD, вы можете вызвать отображение текущего количества, введя символ «статуса» (обычно control-T, хотя по крайней мере в некоторых BSD он может быть установлен как «отключенный» по умолчанию, поэтому вам придётся явно настроить его для использования).

При чтении файла захвата или при захвате и не сохранении в файл не выводит информацию о пакете; это полезно, если вы используете опцию -z для расчёта статистики и не хотите, чтобы печаталась информация о пакете, а только статистика.

-Q

При захвате пакетов не отображать в стандартном потоке ошибок начальное сообщение, указывающее, на каких интерфейсах выполняется захват, непрерывный счётчик захваченных пакетов, отображаемое при сохранении захвата в файл, и конечное сообщение, указывающее количество захваченных пакетов. В стандартном потоке ошибок отображаются только настоящие ошибки.

Это выводит меньше, чем опция -q, поэтому имя интерфейса, общее количество пакетов и конец захвата не отправляются в stderr.

При чтении файла захвата или при захвате без сохранения в файл не печатать информацию о пакете; это полезно, если вы используете опцию -z для расчёта статистики и не хотите, чтобы печаталась информация о пакете, только статистика.

-r|--read-file ВХОДНОЙ_ФАЙЛ

Чтение данных пакета из ВХОДНОЙ_ФАЙЛ, может быть любым поддерживаемым форматом файла захвата (включая сжатые файлы). Здесь можно использовать именованные каналы или stdin (-), но только с определёнными форматами файлов захвата (в частности: с теми, которые можно читать без поиска в обратном направлении.)

Совет: чтение живого захвата из стандартного вывода другого процесса через pipe (конвейер, трубу) может обойти ограничения, которые применяются к TShark во время живого захвата, такие как форматы файлов или сжатие.

-R|--read-filter ФИЛЬТР_ЧТЕНИЯ

Применить указанный фильтр (который использует синтаксис фильтров чтения/отображения, а не фильтров захвата) во время первого прохода анализа. Пакеты, не соответствующие фильтру, не учитываются для будущих проходов. Имеет смысл только при нескольких проходах, смотрите опцию -2. Для обычной фильтрации при однопроходном анализе смотрите опцию -Y.

Обратите внимание, что поля с прогнозированием, такие как «ответ в кадре №», не могут использоваться с этим фильтром, поскольку они не будут рассчитаны при применении этого фильтра.

-s|--snapshot-length БАЙТЫ

Устанавливает длину захватываемого в моменте пакета по умолчанию для использования при захвате данных в реальном времени. Не более БАЙТЫ каждого сетевого пакета будет считано в память или сохранено на диск. Значение 0 указывает длину моментального снимка 262144, так что захватывается весь пакет; это значение по умолчанию.

Эта опция может встречаться несколько раз. Если используется до первого появления опции -i, он устанавливает длину моментального снимка по умолчанию. Если используется после опции -i, он устанавливает длину моментального снимка для интерфейса, указанного последней опцией -i, встречающейся перед этой опцией. Если длина моментального снимка не указана специально, используется длина снимка по умолчанию, если она указана.

-S РАЗДЕЛИТЕЛЬ

Установите разделитель строк, который будет печататься между пакетами.

-T ek|fields|json|jsonraw|pdml|ps|psml|tabs|text

Устанавливает формат вывода при просмотре декодированных данных пакета. Доступны следующие опции:

ek Формат JSON с разделителями в виде новой строки для массового импорта в Elasticsearch. Его можно использовать с -j или -J, чтобы указать, какие протоколы следует включить, или с -x, чтобы включить необработанные данные пакета в шестнадцатеричном формате. Если указано -P, он выведет только сводку пакета, с -P и -V он выведет сводку пакета и сведения о пакете. Если не используются ни -P, ни -V, он выведет только сведения о пакете. Пример использования для импорта данных в Elasticsearch:

tshark -T ek -j "http tcp ip" -P -V -x -r file.pcap > file.json
curl -H "Content-Type: application/x-ndjson" -XPOST http://elasticsearch:9200/_bulk --data-binary "@file.json"

Elastic требует, чтобы файл сопоставления был загружен в качестве шаблона для индекса packets-*, чтобы преобразовать типы Wireshark в типы elastic. Этот файл можно автоматически сгенерировать с помощью команды

tshark -G elastic-mapping

Поскольку файл сопоставления может быть огромным, протоколы можно выбрать с помощью параметра --elastic-mapping-filter:

tshark -G elastic-mapping --elastic-mapping-filter ip,udp,dns

fields Значения полей, указанных с параметром -e, в форме, указанной параметром -E. Например, команда следующего вида сгенерирует вывод с разделителями-запятыми (CSV), подходящий для импорта в вашу любимую программу для работы с электронными таблицами:

tshark -T fields -E separator=, -E quote=d

json Формат файла JSON. Его можно использовать с -j или -J, чтобы указать, какие протоколы следует включить, или с опцией -x, чтобы включить необработанные данные пакета в шестнадцатеричном формате. Пример использования:

tshark -T json -r file.pcap
tshark -T json -j "http tcp ip" -x -r file.pcap

jsonraw Формат файла JSON, включающий только необработанные данные пакета в шестнадцатеричном формате. Его можно использовать с -j или -J, чтобы указать, какие протоколы следует включить. Пример использования:

tshark -T jsonraw -r file.pcap
tshark -T jsonraw -j "http tcp ip" -x -r file.pcap

jsonraw Формат файла JSON, включающий только необработанные данные пакета в шестнадцатеричном коде. Его можно использовать с -j или -J, чтобы указать, какие протоколы следует включить. Пример использования:

tshark -T jsonraw -r file.pcap
tshark -T jsonraw -j "http tcp ip" -x -r file.pcap

pdml Язык разметки сведений о пакете, основанный на XML формат для сведений о декодированном пакете. Эта информация эквивалентна сведениям о пакете, напечатанным с опцией -V. Использование опции --color добавит атрибуты цвета в вывод pdml. Эти атрибуты нестандартны.

ps PostScript для удобного для восприятия однострочного резюме каждого из пакетов или многострочного представления сведений о каждом из пакетов, в зависимости от того, была ли указана опция -V.

psml Язык разметки сведений о пакете, основанный на XML формат для сводной информации о декодированном пакете. Эта информация эквивалентна информации, отображаемой в однострочном резюме, напечатанном по умолчанию. Использование параметра --color добавит атрибуты цвета в вывод pdml. Эти атрибуты нестандартны.

tabs Аналогично текстовому отчёту по умолчанию, за исключением того, что понятное человеку однострочное резюме каждого пакета будет включать символ горизонтальной табуляции ASCII (0x09) в качестве разделителя между каждым столбцом.

text Текст понятное человеку однострочное резюме каждого пакета или многострочное представление сведений о каждом пакете в зависимости от того, была ли указана опция -V. Это значение по умолчанию.

--temp-dir ДИРЕКТОРИЯ

Указывает каталог, в который будут записаны временные файлы (включая файлы захвата). Поведение по умолчанию в UNIX-совместимых системах, таких как Linux, macOS, *BSD, Solaris и AIX, заключается в использовании переменной среды $TMPDIR, если она установлена, и системного значения по умолчанию, обычно /tmp, если она не установлена. В Windows используется переменная среды %TEMP%, которая обычно имеет значение по умолчанию %USERPROFILE%\AppData\Local\Temp.

-U <имя_tap>

Экспорт PDU, экспорт PDU из infile в outfile в соответствии с указанным именем_tap. Используйте -Y для фильтрации.

Введите пустое имя_tap "" или имя_tap "?", чтобы получить список доступных имён:

tshark -U "?"

-v|--version

Вывести полную информацию о версии и выйти.

-V

Выводить подробные сведения о пакете.

-w ФАЙЛ | -

Записать необработанные данные пакета в ФАЙЛ или в стандартный вывод, если ФАЙЛ указан как '-'. Параметры -F и --compress можно использовать для управления форматом файла и методом сжатия. Если последний не указан, то можно использовать расширение файла для определения желаемого алгоритма сжатия, если он поддерживается, например, если вы укажите имя файла с расширением '.gz', то программа будет использовать архив gzip для сжатия файла.

Примечание: -w означает сохранение необработанных (бинарных) данные пакета, а не текстовое представление. Если вам нужен текстовый вывод, вам нужно перенаправить stdout (например, с помощью '>'), не используйте для этого параметр -w.

-W ПАРАМЕТР ФОРМАТА ФАЙЛА

Сохраните дополнительную информацию в файле, если формат её поддерживает. Например, следующая команда сохранит записи разрешения имён хостов вместе с захваченными пакетами:

sudo tshark -F pcapng -W n

Будущие версии TShark могут автоматически изменить формат захвата на pcapng по мере необходимости.

Аргумент – это строка, которая может содержать следующую букву:

n запись информации о разрешении сетевого адреса (поддерживается только форматом pcapng)

-x

Заставляет TShark печатать шестнадцатеричный и ASCII-дамп данных пакета после печати сводки и/или подробностей, если они также отображаются.

--hexdump ШЕСТНАДЦАТЕРИЧНЫЕ ОПЦИИ

Заставляет TShark печатать шестнадцатеричный и ASCII-дамп данных пакета с возможностью выбора источников данных для дампа и способа форматирования или исключения текста дампа ASCII.

Эту опцию можно использовать несколько раз, при этом ШЕСТНАДЦАТЕРИЧНЫЕ ОПЦИИ источника могут быть значениями all или frames, а ШЕСТНАДЦАТЕРИЧНЫЕ ОПЦИИ текста дампа ASCII могут быть значениями это ascii, delimit, noascii. Проще говоря, вы можете указать на выбор all или frames в паре с одним из вариантов ascii, delimit или noascii.

Пример:

tshark ... --hexdump frames --hexdump delimit ...

all

Включить hexdump, сгенерировать блоки hexdump для всех источников данных, связанных с каждым кадром. Это поведение по умолчанию, эту опцию можно указать для отмены предыдущего использования --hexdump frames. Опция -x по умолчанию отображает все источники данных.

frames

Включить hexdump, генерировать блоки hexdump только для данных фрейма. Используйте эту опцию, чтобы исключить из вывода hexdump любые блоки hexdump для вторичных источников данных, таких как «Bitstring tvb», «Reassembled TCP», «De-chunked entity body» и т. д.

ascii

Включить hexdump с неразделенным текстом дампа ASCII. Используется для отмены более раннего использования --hexdump delimit или --hexdump noascii. Опция -x по умолчанию отображает неразделенный текст дампа ASCII.

delimit

Включить hexdump с текстом дампа ASCII, разделенным символами «|». Это полезно для однозначного определения последнего байта текста hex и начала текста дампа ASCII.

noascii

Включить hexdump без вывода текста дампа ASCII.

help

Отобразить справку, специфичную для --hexdump, затем выйти.

Использование --hexdump ШЕСТНАДЦАТЕРИЧНЫЕ ОПЦИИ особенно полезно для генерации выходных данных, которые можно использовать для создания файла pcap или pcapng из файла захвата типа Microsoft NetMon 2.x, который TShark и Wireshark могут читать, но не могут напрямую выполнять команду «Сохранить как» или экспортировать пакеты.

Примеры:

Сгенерировать выходные данные hexdump, содержащие только источник данных кадра, с текстом дампа ASCII с разделителями, причём каждому блоку кадров hex предшествует удобочитаемая временная метка, которую можно напрямую использовать в утилите text2pcap:

tshark ... --hexdump frames --hexdump delimit -P -t ad -o gui.column.format:"Time","%t" | text2pcap -n -t '%F %T.%f' - MYNEWPCAPNG

Создать вывод hexdump, только с источником данных кадра, без текста дампа ASCII, с каждым блоком hex кадра, предваряемым временной меткой эпохи, которая может напрямую использоваться утилитой text2pcap:

tshark ... --hexdump frames --hexdump noascii -P -t e -o gui.column.format:"Time","%t" | text2pcap -n -t %s.%f - MYNEWPCAPNG

-X ОПЦИИ РАСШИРЕНИЯ

Укажите параметр, который будет передан модулю TShark. Параметр ОПЦИИ РАСШИРЕНИЯ имеет вид РАСШИРЕНИЯ:ЗНАЧЕНИЕ, где РАСШИРЕНИЯ может быть:

lua_script:ИМЯ_ФАЙЛА__СКРИПТА_lua сообщает TShark о необходимости загрузить указанный скрипт в дополнение к скриптам Lua по умолчанию.

lua_scriptnum:АРГУМЕНТ сообщает TShark о необходимости передать указанный аргумент в скрипт lua, идентифицированный как 'num', который является индексированным порядком номера команды 'lua_script'. Например, если был загружен только один скрипт с '-X lua_script:my.lua', то '-X lua_script1:foo' передаст строку 'foo' в скрипт 'my.lua'. Если были загружены два скрипта, например '-X lua_script:my.lua' и '-X lua_script:other.lua' в этом порядке, то '-X lua_script2:bar' передаст строку 'bar' во второй скрипт lua, а именно 'other.lua'.

read_format:ФОРМАТ_ФАЙЛА сообщает TShark о необходимости использовать указанный формат файла для чтения в файле (файл, указанный в опции команды -r). Если аргумент ФОРМАТ_ФАЙЛА отсутствует или указан недопустимый, будет выведен список доступных форматов файлов для использования.

Например, следующая команда отобразит внутреннюю структуру файла и разрешит доступ к полям file-pcapng:

tshark -r rtcp_broken.pcapng -X read_format:"MIME Files Format" -V

Следующая команда выведет список поддерживаемых форматов файлов:

tshark -X read_format:

Форматы файлов, которые поддерживают Wireshark и TShark:

  • 3GPP TS 32.423 Trace format - Magic-value-based
  • 3gpp phone log - Magic-value-based
  • AIX iptrace - Magic-value-based
  • ASN.1 Basic Encoding Rules - Heuristics-based
  • AUTOSAR DLT Logfile - Magic-value-based
  • Aethra .aps file - Magic-value-based
  • Android Logcat Binary format - Heuristics-based
  • Android Logcat Text formats - Heuristics-based
  • BLF Logfile - Magic-value-based
  • Bluetooth HCI dump - Heuristics-based
  • Busmaster log - Heuristics-based
  • CAM Inspector file - Heuristics-based
  • CSIDS IPLog - Heuristics-based
  • CSS Electronics CLX000 CAN log - Magic-value-based
  • Candump log - Heuristics-based
  • Catapult DCT2000 trace (.out format) - Magic-value-based
  • Cinco NetXray/Sniffer (Windows) - Magic-value-based
  • CoSine IPSX L2 capture - Heuristics-based
  • Colasoft Capsa - Magic-value-based
  • DBS Etherwatch (VMS) - Magic-value-based
  • Daintree SNA - Heuristics-based
  • EGNOS Message Server (EMS) file - Heuristics-based
  • Endace ERF capture - Heuristics-based
  • Ericsson eNode-B raw log - Magic-value-based
  • EyeSDN USB S0/E1 ISDN trace format - Magic-value-based
  • FreeBSD usbdump - Magic-value-based
  • Gammu DCT3 trace - Magic-value-based
  • HP-UX nettl trace - Magic-value-based
  • I4B ISDN trace - Heuristics-based
  • IBM iSeries comm. trace - Heuristics-based
  • IPFIX File Format - Heuristics-based
  • InfoVista 5View capture - Magic-value-based
  • Ixia IxVeriWave .vwr Raw Capture - Heuristics-based
  • JavaScript Object Notation - Heuristics-based
  • K12 text file - Heuristics-based
  • Lucent/Ascend access server trace - Heuristics-based
  • MIME Files Format - Magic-value-based
  • MP4 media file - Magic-value-based
  • MPEG - Heuristics-based
  • MPEG2 transport stream - Heuristics-based
  • Micropross mplog - Magic-value-based
  • Microsoft Network Monitor - Magic-value-based
  • NetScaler - Heuristics-based
  • NetScreen snoop text file - Heuristics-based
  • Novell LANalyzer - Heuristics-based
  • RADCOM WAN/LAN analyzer - Magic-value-based
  • RFC 7468 files - Magic-value-based
  • RTPDump files - Magic-value-based
  • Ruby Marshal Object - Heuristics-based
  • STANAG 4607 Format - Heuristics-based
  • Savvius classic - Heuristics-based
  • Savvius tagged - Magic-value-based
  • Sniffer (DOS) - Magic-value-based
  • Snoop, Shomiti/Finisar Surveyor - Magic-value-based
  • Symbian OS btsnoop - Magic-value-based
  • Systemd Journal - Heuristics-based
  • TCPIPtrace (VMS) - Heuristics-based
  • TamoSoft CommView NCF - Heuristics-based
  • TamoSoft CommView NCFX - Heuristics-based
  • Tektronix K12xx 32-bit .rf5 format - Magic-value-based
  • Toshiba Compact ISDN Router snoop - Heuristics-based
  • Transport-Neutral Encapsulation Format - Magic-value-based
  • Unigraf DPA-400 capture - Magic-value-based
  • Viavi Observer - Magic-value-based
  • Visual Networks traffic capture - Magic-value-based
  • Wireshark/... - pcapng - Magic-value-based
  • Wireshark/tcpdump/... - pcap - Magic-value-based
  • macOS PacketLogger - Heuristics-based
  • pppd log (pppdump format) - Heuristics-based

 

 

 

 

 

[ДОПИСЫВАЕТСЯ]

 

 


Близкие программы:

  • Wireshark (57.6%)
  • JA4+ (53.5%)
  • SSLsplit (50.9%)
  • SSLstrip (SSLStrip+) (50.9%)
  • zaproxy (41.5%)
  • BDFProxy (RANDOM - 0.3%)
  • Рекомендуется Вам:

    Comments are Closed