sngrep, который поможет вам анализировать SIP-трафик в режиме реального времени. sngrep будет незаменимым помощником VoIP инженеров для диагностики VoIP-трафика.
Особенности sngrep:
- Захват SIP трафика и чтение PCAP файлов
- Поддержка UDP, TCP и TLS (частично)
- Сохранение перехваченных пакетов в PCAP файл
Установка sngrep анализатора SIP-трафика
Устанавливаем необходимые библиотеки:
yum install libpcap libpcap-devel
Скачиваем, компилируем и запускаем sngrep:
cd /usr/src
git clone git://github.com/irontec/sngrep.git
cd sngrep
./bootstrap.sh
./configure ( если хотите анализировать TLS, нужно добавить --with-openssl)
make && make install
Описание ключей sngrep
Формат команды sngrep имеет следующий вид:
sngrep [-hVciv] [-IO pcap_dump] [-d dev] [-l limit] [-k keyfile] [] []
-h or --help: Хелпер
-V or --version: вывести информацию о версии
-I or --input : прочитать данные из файла filename.pcap
-O or --output : cохраните все перехваченные пакеты в файл PCAP
-d or --device : захват трафик с определенного интерфейса ( по умолчанию sngrep захватывает трафик со всех интерфейсов)
-k or --keyfile : использовать private keyfile файл для расшифровки перехваченных TLS пакетов
-c or --calls : отображение только диалоговых окон, начиная с запроса invite
-l or --limit : изменить ограничения захвата трафика
-N or --no-interface : захват трафика без указания интерфейса
-q or --quiet : не отображать захваченные пакеты в режиме без интерфейса
Примеры
Захват SIP трафика в котором есть данные принадлежащие порту 80 (udp или tcp)
sngrep port 5060
Захват SIP трафика в котором есть данные принадлежащие портов 5060-5062
sngrep portrange 5060-5062
Захват SIP трафика в котором в качестве адреса стоит IP 95.128.227.100
sngrep host 95.128.227.100
Захватив все SIP пакеты с определенного интерфейса (-d eth1), IP, порта, и сохранить все это в pcap файл
sngrep -d eth1 -O /usr/dump/sip_capture.pcap host 192.168.1.10 port 5061
Прочитать данные из pcap файла, имеющие IP 192.168.0.50
sngrep -I sip_capture.pcap host 192.168.0.50
Работа со списком вызовов sngrep анализатора SIP-трафика
Первое, что перед вами появляется после выполнения команды sngrep, это список сделанных вызовов, который пополняется новыми вызовами в режиме реального времени. Вам может понадобится сохранить, отфильтровать, выделить собранный трафик. Все это можно сделать с помощью определенного сочетания клавиш:
Enter: Отображение текущего или выбранного диалога(ов)
F2 or s: Сохранить выбранные/все в файл pcap
F3 or / or TAB: Фильтр отображения. Этот фильтр будет применен к тексту строк в списке
F4 or x: Отображение текущего выбранного диалога и связанных с ним
F5: Очистить список вызовов
F6 or r: Отобразить выбранный диалог(и) сообщения в обычный текст
F7 or f: Показать advanded фильтры
F10 or t: Выберите отображаемые столбцы
Более детально ознакомиться с сочетанием клавиш и работой с sngrep вы можете на официальной странице sngrep на github.
Есть много программ (tshark, ngrep,tcpdump), которые делают то же самое и даже больше, но sngrep нам понравился своей простотой и функциональностью, он может стать незаменимым помощником VoIP инженера.
Если вы в статье нашли ошибки или несоответствия, мы будем благодарны, если вы напишите нам о них в комментариях.