SNgrep: анализ SIP трафика с передовыми возможностями
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 --enable-unicode make make install
В случае использовании UTF-8 кодировки и русских символов, иногда необходимо прописать переменную:
echo export NCURSES_NO_UTF8_ACS=1 >> /etc/environment source /etc/environment
И запустить приложение:
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), можно выбрать тот или иной диалог для анализа и построения трейса:
Коментарии: