Дмитрий Барышников
19.12.2018
13198

Основные опции снятие дампа с использованием tshark.

Tshark – это анализатор сетевых протоколов без GUI (графической облочки), удобно для использования на серверах телефонии, DNS,Web где в среде рабочего стола не только нет необходимости, но и она избыточна, использует столь ценный ресурсы сервера. В этой статье мы рассмотрим, как снять дамп tshark и различные параметры.

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


Вывод в консоль перехваченных пакетов tshark.

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

Выведем ключи запуска tshark и рассмотрим их поподробней.

# tshark —help


Выводим помощь по синтаксису использования ключей.

Вторая страница помощи по выбору параметров ключей.

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

По умолчанию  без указания интерфейса tshark снимает пакеты с первого по номеру интерфейса.

Увидеть доступные интерфейсы можно командой:

# tshark –D


Выводим интерфейсы которые можно прослушать.

Как Вы можете возможно снять дамп и системных интерфейсов, например USB

Слушать можно только порты на которые есть права учетной записи под которой вошли, так как я вошел под root могу прослушивать все. Подробнее об установке с правами в статье link.

Интерфейс захвата можно указать как с использованием номера, так и указать название, они равнозначны, пример:

# tshark –i 1
# tshark –i eth0


Прослушивание определенного интерфейса.

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

#tshark –i eth0 –i usbmon1


Прослушивание нескольких интерфейсов одновременно

Сейчас tshark запущен в режиме захвата реального времени без сохранения. Удобен для мониторинга трафика в ожидании какого-нибудь события. Например, дебажить проблемы с прохождением пакетов регистрации sip-телефона, не отбрасываются ли пакеты?

Теперь приступим к непосредсвенно снятию дампа в файл командой:

# tshark –i eth0 –w /tmp/eth0.pcap


Снятие дампа с интерфейса eth0 в файл eth0.pcap

На скриншоте видим количество захваченных пакетов.

Когда вы запускаете параметр –r , указывая файл захвата, из которого следует читать, TShark снова будет работать так же, как tcpdump , считывая пакеты из файла и отображая итоговую строку на стандартном выходе для каждого считанного пакета. TShark способен обнаруживать, читать и записывать те же файлы захвата, что  поддерживаются Wireshark . Входному файлу не требуется определенное расширение имени файла; формат файла и дополнительное сжатие gzip будут автоматически обнаружены.

# tshark -r /tmp/testcap.pcap

Считываем снятый дамп и вывод на экран содержимое.

Для поддержки сжатия файлов используется (и поэтому требуется) библиотеку zlib. Если библиотека zlib отсутствовала при компиляции TShark , ее можно будет скомпилировать, но результирующая программа не сможет прочитать сжатые файлы. Необходимо полная перекомпиляция Tshark с данной библиотекой, которую можно скачать из репозитория командой # yum instally zlib

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

# tshark –i eth0 — V


Подробный вывод информации о каждом прослушанном пакете на интерфейсе eth0.

Если задана опция -O , она будет отображать только полные данные для указанных протоколов и показывать только подробную строку верхнего уровня для всех других протоколов.

Чтобы узнать имена протоколов, которые Вы можете указать, используется команда:

# tshark-G

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


выводим список имен поддерживаемых протоколов.

Например, посмотрим полные данные только для пакетов по протоколу tcp.

# tshark –i eth0 –Otcp


Мониторим пакеты с интерфейса eth0 и выводим подробности для пакетов tcp.

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

# tshark –i eth0 –P –V –O udp 


Выводим подробную информацию только для пакетов udp с интерфейса eth0.

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

# tshark –i eth0 > /tmp/1.decode


Перенаправляем декодированный вывод в файл.

Смотрим что записалось в файл.

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

# tshark -i eth0 -P -V -O udp -w /tmp/1.pcap

 

Запись пакетов в файл дампа и параллельно вывод подробностей по пакетам udp.

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

#tshark -F


Вывод форматов сохранения пакетов в файл.

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

Например, для захвата сетевых пакетов с сетевого интерфейса с номером 2, c установленным фильтром, который будет выполнять захват только SIP/TCP-пакетов, выполните команду:

# tshark -i 1 -f udp -R sip

Вывод пакетов по переданных протоколу UDP с сигнализацией SIP

Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Остались вопросы?

Я - Кондрашин Игорь, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.

VoIP оборудование


ближайшие курсы

10 доводов в пользу Asterisk

Распространяется бесплатно.

Asterisk – программное обеспечение с открытым исходным кодом, распространяется по лицензии GPL. Следовательно, установив один раз Asterisk вам не придется дополнительно платить за новых абонентов, подключение новых транков, расширение функционала и прочие лицензии. Это приближает стоимость владения станцией к нулю.

Безопасен в использовании.

Любое программное обеспечение может стать объектом интереса злоумышленников, в том числе телефонная станция. Однако, сам Asterisk, а также операционная система, на которой он работает, дают множество инструментов защиты от любых атак. При грамотной настройке безопасности у злоумышленников нет никаких шансов попасть на станцию.

Надежен в эксплуатации.

Время работы серверов некоторых наших клиентов исчисляется годами. Это значит, что Asterisk работает несколько лет, ему не требуются никакие перезагрузки или принудительные отключения. А еще это говорит о том, что в районе отличная ситуация с электроэнергией, но это уже не заслуга Asterisk.

Гибкий в настройке.

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

Имеет огромный функционал.

Во многом именно Asterisk показал какой должна быть современная телефонная станция. За многие годы развития функциональность Asterisk расширилась, а все основные возможности по-прежнему доступны бесплатно сразу после установки.

Интегрируется с любыми системами.

То, что Asterisk не умеет сам, он позволяет реализовать за счет интеграции. Это могут быть интеграции с коммерческими телефонными станциями, CRM, ERP системами, биллингом, сервисами колл-трекинга, колл-бэка и модулями статистики и аналитики.

Позволяет телефонизировать офис за считанные часы.

В нашей практике были проекты, реализованные за один рабочий день. Это значит, что утром к нам обращался клиент, а уже через несколько часов он пользовался новой IP-АТС. Безусловно, такая скорость редкость, ведь АТС – инструмент зарабатывания денег для многих компаний и спешка во внедрении не уместна. Но в случае острой необходимости Asterisk готов к быстрому старту.

Отличная масштабируемость.

Очень утомительно постоянно возвращаться к одному и тому же вопросу. Такое часто бывает в случае некачественного исполнения работ или выбора заведомо неподходящего бизнес-решения. С Asterisk точно не будет такой проблемы! Телефонная станция, построенная на Asterisk может быть масштабируема до немыслимых размеров. Главное – правильно подобрать оборудование.

Повышает управляемость бизнеса.

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

Снижает расходы на связь.

Связь между внутренними абонентами IP-АТС бесплатна всегда, независимо от их географического расположения. Также к Asterisk можно подключить любых операторов телефонии, в том числе GSM сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.