Аналіз дзвінків VoIP у Wireshark

Напередодні подкасту про VoIP раптово народилася невелика замітка.

Іноді доводиться стикатися з проблемою встановлення голосового виклику. З невідомої спочатку причини, дзвінок просто рветься.

Що робити, якщо методи влоб вже використані?

Дамп!

А що зараз нерозривно пов'язано з дампами? Wireshark.

Пару років тому у нас вже була статейка про роботу в цьому воістину магічному інструменті мережевика.

Не гріх же і повторити?

Процес обміну повідомленнями SIP

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

Telephony→SIP Flows

Тут ви побачите всі дзвінки даного дампа.

Візьмемо другий дзвінок як приклад - у ньому 27 пакетів - має бути цікаво. Натисніть кнопку Flow.

Для цього відкинутого і образливого дзвінка ви можете бачити повідомлення PRACK, яке відчайдушно посилає SIP-сервер (10.8.156.201) голосовому шлюзу (10.12.5.6), на що останній відповідає мізерним «100 Trying». Це ненормально - має бути 200.

Ну і нарешті дзвінок завершується повідомленням «500 Server Internal Error».

Непогано!

Аналіз повідомлень SIP

Взагалі кажучи насправді, ви можете просто відкривати одне за іншим повідомлення у вайршарку і перевіряти вміст.

Типу того:

Але насправді набагато більш зручно було б відкрити всі повідомлення в одному вікні як текст.

Analyze→Follow UDP Stream

Голос з дампа

Хотілося б підслухати про що говорять у зібраному дампі телефонного дзвінка? Немає нічого простішого... А ні, багато що набагато простіше цього. Навіть утримувати хаскі простіше, ніж зібрати і прослухати дамп.

Загалом у попередньому вікні потрібно клікнути Player.

Потім Decode.

У наступному вікні ви побачите спектрограму виклику.

Чорні прямокутники - КПВ.

Вікно розділене на два треки - голоси в різних напрямках.

Обираємо обидва треки і натискаємо Play.

Хотілося б експортувати аудіофайл і розшарити його з друзями? Вам у наступну секцію.

Аналіз вмісту потоку RTP

Для всього RTP_потока можна перевірити найважливіші параметри - втрати, затримки, варіація затримки.

Telephony→RTP→Stream Analysis.

Якщо таки пристосувало порушити таємницю переговорів і експортувати голос у зовнішній файл, слід натиснути Save payload...

На наступному екрані вибираєте формат .au (згодом може бути відкритий Windows Media Player або Audacity, щоб конвертувати потім в mp3/wav). Both означає, що зберігаємо обидва напрямки голосу.

Ну все - ви майстер VoIP.