Друг, если ты еще ни разу не пользовался утилитой sngrep, то эта статья точно для тебя! Если кратко, то sngrep позволяет отображать потоки SIP – вызова (sip flow) прямо в консоли твоего сервера. Утилита покажет SIP – обмен сообщениями в удобной и читаемой форме. Скажем так: sngrep это tcpdump (или wireshark под Linux), но только для VoIP :)
Установка на CentOS
Рассмотрим быструю установку утилиты на операционной системе CentOS. Первым делом добавим irontec репозиторий. Для этого, создадим файл с именем sngrep.repo
в директории /etc/yum.repos.d
:
touch /etc/yum.repos.d/sngrep.repo
Добавляем в файл следующие строки:
[irontec] name=Irontec RPMs repository baseurl=http://packages.irontec.com/centos/$releasever/$basearch/
Затем импортируем публичный ключ от irontec:
rpm --import http://packages.irontec.com/public.key
Все готово к установке. Даем следующие команды:
yum update yum install sngrep
По окончанию установки, в командной строке дайте команду sngrep
. Теперь давайте разберемся с функционалом и тем как пользоваться утилитой.
Использование sngrep
Как только вы попадете в меню управления утилитой, перед вами будет отражен список VoIP пакетов, которые обрабатывает Ваш сервер:
Нажав на Enter вы сможете более детально изучить каждое сообщение. Нажав F5, вы сможете удалить текущие сообщения. Для передвижения между сообщениями используйте стрелки на клавиатуре.
При детализации звонка, можно нажать F2/F3 для получения SDR/RTP информации. Для выхода и возврата в предыдущее меню нажмите Esc. Если кратко, следующие опции доступны в базовом интерфейса sngrep:
- F1 - открыть функциональный помощник;
- F2 - сохранить собранный дамп в указанный файл;
- F3 - отфильтровать данные по указанной строке;
- F4 - показать выбранный расширенный call – flow (схема звонка, с указанием всех этапов его инициации);
- F5 - удалить собранный дамп;
- F6 - показать выбранный дамп в текстовом формате (без визуализации стрелочками, только сухие SIP – сообщения);
- F7 - показать опции фильтрации (фильтровать можно по полю From/To, по источнику и назначению звонка, а так же по различным данным из информационного сегмента поля полезной нагрузки, то есть не из заголовка). Помимо прочего, есть возможность отмечать типы сообщения, такие как REGISTER, INVITE, OPTIONS и прочие;
- F8 - показать настройки, среди который подсветка синтаксиса, фон и прочие;
- F10 - настройка отображаемых параметров (такие как From/TO, индекс, метод и прочие);
- Esc - выйти из sngrep/в предыдущее меню;
- Enter -посмотреть call-flow выбранного пакета;
- Space (пробел) - выделить нужный сегмент;
- i/I - фильтрация только по сообщения типа INVITE;
- p - поставить на паузу сбор пакетов;