Перехват и прослушивание разговора Asterisk с Wireshark

Перехват и прослушивание разговора Asterisk с Wireshark

Данная статья расскажет о том, как получить дамп сетевого трафика, то есть сделать перехват и прослушивание разговора Asterisk, если использовался кодек g722 или g729. Например, для анализа наличия сетевых проблем на канале передачи данных.

1. Перехват tcpdump

Для начала записываем дамп сетевого трафика. Допустим между двуми IP телефонами:
[root@localhost ~]# tcpdump host 192.168.192.41 or host 192.168.192.51 -s 1500 -w /tmp/g722.pcap
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 1500 bytes

Делаем вызов и дожидаемся его завершения. Жмем Ctrl+C:

1245 packets captured
1245 packets received by filter

запись завершена.

2. Открытие в Wireshark и выгрузка голосовых RTP потоков

Копируем файл /tmp/g722.pcap на наш ПК с помощью какой-либо утилиты (WinSCP или др.)
Открывает дамп через File -> Open или по двойному клику.

Переходим в анализ телефонного трафика: Telephony -> VoIP calls и видим такую картинку:

Перехват и прослушивание разговора Asterisk с Wireshark

Перехват и прослушивание разговора Asterisk с Wireshark

Если поставим галочки около слова «From» и нажмем «Воспроизвести», то сразу услышим разговор. Если же попробуем аналогичные действия с другим телефоном, то увидим примерно такую шкалу голосового трафика:

Перехват и прослушивание разговора Asterisk с Wireshark

Wireshark не распознает g722 «из коробки».

Чтобы прослушать данные разговор нам необходимо выгрузить RTP потоки.

Переходим Telephony -> RTP -> Show all streams

Видим потоки RTP g722. Выделяем оба потока и жмем Analyze

Перехват и прослушивание разговора Asterisk с Wireshark

Далее жмем Save payload… и сохраняем отдельно входящий и исходящий потоки. В два разных файла: g722_1.g722 (forward) и g722_2.g722 (reversed)

3. Конвертация в WAV и прослушивание

Итак, у нас есть разговор в формате g722, однако, далеко не все плееры и программы конвертации умеют с ним работать. Для этого можно найти конвертер или специальный редактор. Даже в Audacity нужно прикручивать дополнительно. Если под рукой ничего нет, то можно воспользоваться Астериск.

Закидываем полученные файлы назад на сервер с Астериск в папку /tmp/.

Примечание: расширение файла имеет значение. Оно говорит какой декодер использовать.

Заходим в консоль Астериска и выполняем команды для каждого файла:
localhost*CLI> file convert /tmp/g722_1.g722 /tmp/g722_1.wav
Converted /tmp/g722_1.g722 to /tmp/g722_1.wav in 4ms

localhost*CLI> file convert /tmp/g722_2.g722 /tmp/g722_2.wav
Converted /tmp/g722_2.g722 to /tmp/g722_2.wav in 4ms

Получаем 2 файла в wav, которые с легкостью можно уже открыть в Audacity и прослушать:

Перехват и прослушивание разговора Asterisk с Wireshark

Работа с кодеком g729 абсолютна аналогична работе с g722. Только сохраняем потоки с расширением g729.

Источник


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Unlix © Все права защищены 2023

Копирование материалов с сайта Unlix.ru без указания полной ссылки на источник ЗАПРЕЩЕНО!