Отладка VoIP звонков в Wireshark

Предположим, вы хотите посмотреть в графической форме диаграмму прохождения вызова.
В удобном формате представляет данные wireshark:

Кликнув по каждой стрелочке, вы можете посмотреть расшифровку сообщения:

Wireshark работает с файлами, содержащими захваченный звонок, в формате .pcap.
Поэтому задача - получить такой файл

Автоматический захват вызовов.

Это предпочтительный способ.
Воспользуйтесь встроенной системой Захват звонков для получения файла .pcap.

Ручной захват вызовов.

Если по какой-либо причине автоматический Захват звонков недоступен в вашей версии, воспользуйтесь ручным способом.

1. Получите root доступ. Описано в разделе Как зайти на сервер под root

2. Снимите пакетный лог звонка.
Для этого используем утилиту tcpdump:

# tcpdump -s 0 -w voip.cap

Эта команда будет снимать пакетный лог в файл voip.cap в текущей директории.
Однако намного лучше если вы знаете, от кого вы будете принимать траффик и/или на кого будете отправлять.
IP адрес терминатора или оригинатора вы можете увидеть на веб интерфейсе.
В таком случае выполните команду так:

# tcpdump -s 0 -w voip.cap host 192.168.0.1

В этом случае 192.168.0.1 - это IP адрес искомого пира, через которого проходит звонок.

Для снятия дампа с нескольких хостов (например, оригинатора и терминатора) воспользуйтесь такой инструкцией:

# tcpdump -s 0 -w voip.cap host 192.168.0.1 or 192.168.0.2

В этом случае 192.168.0.1 - это IP адрес оригинатора,
192.168.0.2 - это IP адрес терминатора.

Команды выше снимают дамп с первого по списку сетевого интерфейса.
Для снятия дампа с определенного сетевого интерфеса выполните команду так:

# tcpdump -i rl0 -s 0 -w voip.cap

Здесь rl0 - один из интерфейсов, выводимый по списку из

# ifconfig

Команды выше начинают снятие пакетного лога.
Для прекращения снятия и записи в файл нажмите CTRL+C.

Внимание! Для корректного снятия дампа нужно запустить tcpdump до начала звонка и прекратить после завершения звонка.

3. Скачайте пакетный лог себе на компьютер.
Для этого используем программу pscp (http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html):

> pscp.exe -C admin@10.0.0.1:voip.cap voip.cap

Теперь пакетный лог у вас на компьютере.

Использование wireshark.

Откройте пакетный лог, полученный автоматическим либо ручным способом, в программе wireshark (http://www.wireshark.org/).

Для этого:
  1. Запустите wireshark.
  2. Выберите файл voip.cap в диалоге File->Open.
  3. После открытия файла нажмите Telephony->VoIP calls.
    Вам отобразятся все звонки которые были в пакетном логе.
  4. Выберите нужный звонок, кликнув по нему мышкой и нажмите "Flow".
  5. Вам отобразится диаграмма звонка.
    Кликнув по любой из стрелок, wireshark отобразит вам содержимое пакета, которое вы сможете посмотреть

Сейчас на сайте

Сейчас на сайте 0 пользователей и 2 гостя.