1. 程式人生 > >VOIP除錯 使用TCPDUMP和WIRESHARK除錯VOIP通話

VOIP除錯 使用TCPDUMP和WIRESHARK除錯VOIP通話

VOIP除錯 使用TCPDUMP和WIRESHARK除錯VOIP通話


VoIP除錯

文章 “如何利用ngrep除錯sip系統” 適用於SIP包的快速分析,有些情況下系統環境比較複雜,我們希望能獲取完整的通話資訊(SIP+RTP,即完整的語音通話),這時我們可以使用tcpdump獲取網路資料,使用wireshark進行進一步分析。

tcpdump

安裝

1 yum install - y  tcpdump

命令基本格式如下

1 tcpdump
- i    - s 65535 - w

例如

1 tcpdump - i any - s 65535 - w internal . pcap

表示將任意網路介面收到的包儲存到internal.pcap檔案

 

tcpdump voip除錯

開始tcpdump抓包

命令執行後系統會停在這裡,這時候我們可以打一個電話,然後使用Ctrl+c結束

tcpdump voip除錯

中斷tcpdump抓包

tcpdump會輸出一些抓包的資訊,這樣tcpdump的使命就完成了,下載pcap檔案,輪到wireshark出場了。

Wireshark

wireshark可以從http://www.wireshark.org/download.html下載,安裝完畢後,執行wireshark,開啟下載到的internal.pcap檔案

wireshark VoIP除錯

wireshark中檢視VoIP通話

 

這裡我們可以看到tcpdump抓到了各式各樣的包,使用Telephony下的VoIP Calls,系統會自動歸納總結期間的通話, 便於進一步完成VoIP除錯.

wireshark VoIP除錯

wireshark中選擇要檢視的VoIP通話

選取一個通話,點選Flow按鈕,wireshark會使用一個圖形來表示參與通話的地址,點選相應的步驟,我們可以看到對應的IP包資訊

wireshark VoIP除錯

wireshark中檢視VoIP通話的SIP流程

 

對於包含RTP語音的通話,點選 Player 按鈕,我們還可以試著收聽通話內容

wireshark VoIP除錯

Wireshark 解碼VoIP通話中的RTP流

 

對於G711編碼的通話,wireshark自帶解碼器,點選 Play 按鈕進行播放。在這個圖中我們有三段RTP,我們可以分別收聽,合成起來就是一個正常的通話了

wireshark VoIP除錯

Wireshark 播放VoIP通話