SNgrep: анализ SIP трафика с передовыми возможностями

Опубликовано в Новые технологии VoIP

sngrep

SNgrep уникальный и очень полезный инструмент, для анализа и захвата SIP трафика, построения трейсов и системы фильтров SIP сообщений. Цель данного инструмента, сделать процесс обучения или отладки SIP протокола, проще и понятнее. Данная утилита станет незаменима VoIP инженерам, для диагностики систем телефонии.

Особенности:

  • Захват SIP пакетов от устройств или чтение из PCAP файла;
  • Поддержка UDP, TCP и TLS(частично) транспортов;
  • Позволяет использовать фильтрацию BPF (Berkeley Packet Filter) пакетов;
  • Cохранять перехваченные пакеты в файле PCAP.

Установка SNgrep.

Необходимые библиотеки и зависимости для операционной системы CentOS:

yum -y install ncurses-devel make libpcap-devel pcre-devel openssl-devel git gcc autoconf automake

Зависимости для Debian и Ubuntu:

apt-get install git autoconf automake gcc make libncurses5-dev libpcap-dev libssl-dev libpcre3-dev

Установка и сборка программы:

cd /usr/src
git clone https://github.com/irontec/sngrep
cd sngrep
./bootstrap.sh
./configure
make
make install

В случае использовании UTF-8 кодировки и русских символов, иногда необходимо прописать переменную:

echo export NCURSES_NO_UTF8_ACS=1 >> /etc/environment
source /etc/environment

И запустить приложение:

sngrep

sngrep

Выполнить захват трафика в файл PCAP:

sngrep -d eth0 -O name.pcap port 5060 and udp

Отрывать файл pcap сделанный ngrep, tcpdump, wireshark и другими анализаторами:

sngrep -I name.pcap

Использование клавиш навигации:

  • Enter: отображение текущего или выбранного диалога(ов);
  • F2 или s: сохранить выбранные/все в файл pcap;
  • F3 или TAB: фильтр отображения,  этот фильтр будет применен к тексту cтрок в списке;
  • F4 или x: отображение текущего, выбранного диалога и связанных с ним;
  • F5: очистить список вызовов;
  • F6 или r: отобразить выбранный диалог(и) сообщения в обычный текст;
  • F7 или f: показать расширенные фильтры;
  • F10 или t: выберите отображаемые столбцы.

Описание ключей sngrep:

-h or --help: помощь
-V or --version: вывести информацию о версии;
-I or --input : прочитать данные из файла filename.pcap;
-O or --output : cохраните все перехваченные пакеты в файл PCAP;
-d or --device : захват трафик с определенного интерфейса ( по умолчанию <strong>sngrep</strong> захватывает трафик со всех интерфейсов);
-k or --keyfile : использовать private keyfile файл для расшифровки перехваченных TLS пакетов;
-c or --calls : отображение только диалоговых окон, начиная с запроса invite;
-l or --limit : изменить ограничения захвата трафика;
-N or --no-interface : захват трафика без указания интерфейса;
-q or --quiet : не отображать захваченные пакеты в режиме без интерфейса.

С помощью использования системы фильтров (F7), можно выбрать тот или иной диалог для анализа и построения трейса:

filter sngrep

Коментарии: