3CX技術支援回應:抓包PBX伺服器上的SIP流量

在本文中,我們將討論捕獲和分析 3CX PBX 產生的 SIP 流量的基礎知識。 本文面向新手系統管理員或職責包括電話維護的普通用戶。 為了深入研究這個主題,我們建議閱讀 進階3CX培訓課程.

3CX V16 可讓您直接透過伺服器 Web 介面擷取 SIP 流量並將其儲存為標準 Wireshark PCAP 格式。 您可以在聯絡技術支援時附加擷取文件,也可以下載該文件進行獨立分析。

如果3CX在Windows上運行,您需要自己在3CX伺服器上安裝Wireshark。 否則,當您嘗試捕獲時會出現以下訊息。
3CX技術支援回應:抓包PBX伺服器上的SIP流量

在 Linux 系統上,安裝或更新 3CX 時會自動安裝 tcpdump 公用程式。

流量抓拍

若要開始捕獲,請前往介面部分首頁 > SIP 事件,然後選擇要捕獲的介面。 您也可以同時擷取除 IPv6 隧道介面之外的所有介面上的流量。

3CX技術支援回應:抓包PBX伺服器上的SIP流量

在 3CX for Linux 中,您可以擷取本機 (lo) 的流量。 此捕獲用於使用技術分析 SIP 用戶端連接 3CX 隧道和會話邊界控制器.

流量擷取按鈕在 Windows 上啟動 Wireshark,在 Linux 上啟動 tcpdump。 此時,您需要快速重現問題,因為… 捕獲是 CPU 密集型操作,並佔用大量磁碟空間。  
3CX技術支援回應:抓包PBX伺服器上的SIP流量

請注意以下調用參數:

  • 發出呼叫的號碼,呼叫中的其他號碼/參與者也呼叫的號碼。
  • 根據3CX伺服器時鐘,問題發生的具體時間。
  • 呼叫路線。

盡量不要點擊介面中除「停止」按鈕之外的任何位置。 另外,請勿按一下此瀏覽器視窗中的其他連結。 否則,流量擷取將在背景繼續進行,並會導致伺服器負載增加。

接收捕獲文件

“停止”按鈕停止捕獲並保存捕獲檔案。 您可以將該文件下載到您的電腦上,以便在 Wireshark 實用程式中進行分析或產生特殊文件 技術支援,其中將包括此捕獲和其他調試資訊。 下載或包含在支援包中後,出於安全目的,捕獲檔案會自動從 3CX 伺服器中刪除。

在 3CX 伺服器上,該檔案位於下列位置:

  • Windows:C:ProgramData3CXInstance1DataLogsdump.pcap
  • Linux:/var/lib/3cxpbx/Instance/Data/Logs/dump.pcap

為了避免伺服器負載增加或捕獲過程中丟包,捕獲週期限制為 2 萬個資料包。 此後,捕獲自動停止。 如果您需要更長的擷取時間,請使用單獨的 Wireshark 實用程序,如下所述。

使用 Wireshark 實用程式擷取流量

如果您有興趣更深入地分析網路流量,請手動捕獲它。 下載適合您作業系統的 Wireshark 實用程式 。 在 3CX 伺服器上安裝該實用程式後,請前往「擷取」>「介面」。 作業系統的所有網路介面都將顯示在這裡。 介面IP位址可以依照IPv6標準顯示。 若要查看 IPv4 位址,請按一下 IPv6 位址。

3CX技術支援回應:抓包PBX伺服器上的SIP流量

選擇要捕獲的介面並點擊“選項”按鈕。 取消選取在混雜模式下擷取流量並保持其餘設定不變。

3CX技術支援回應:抓包PBX伺服器上的SIP流量

現在您應該重現該問題。 當問題重現時,停止捕獲(選單捕獲 > 停止)。 您可以在「電話」>「SIP 串流」選單中選擇 SIP 訊息。

流量分析基礎 - SIP INVITE 訊息

讓我們看一下 SIP INVITE 訊息的主要字段,該訊息是為了建立 VoIP 呼叫而發送的,即是分析的起點。 通常,SIP INVITE 包括 4 到 6 個字段,其中包含 SIP 終端設備(電話、網關)和電信業者使用的資訊。 了解 INVITE 的內容及其後面的訊息通常可以幫助確定問題的根源。 此外,了解 INVITE 欄位有助於將 SIP 營運商連接到 3CX 或將 3CX 與其他 SIP PBX 結合。

在INVITE訊息中,使用者(或SIP設備)透過URI來識別。 通常,SIP URI 是使用者的電話號碼 + SIP 伺服器位址。 SIP URI 與電子郵件地址非常相似,寫為 sip:x@y:Port。

3CX技術支援回應:抓包PBX伺服器上的SIP流量

請求行 URI:

Request-Line-URI - 此欄位包含呼叫的接收者。 它包含與「收件者」欄位相同的訊息,但不包含使用者的顯示名稱。

街道:

Via - INVITE 請求通過的每個 SIP 伺服器(代理程式)都會在 Via 清單的頂部新增其 IP 位址和接收訊息的連接埠。 然後訊息沿著路線進一步傳輸。 當最終接收者回應 INVITE 請求時,所有傳輸節點都會「尋找」Via 標頭,並沿著相同的路由將訊息傳回給發送者。 在這種情況下,中轉 SIP 代理程式會從標頭中刪除其資料。

從:

From - 標頭從 SIP 伺服器的角度指示請求發起者。 標頭的形成方式與電子郵件地址相同(user@domain,其中user是3CX用戶的分機號碼,domain是3CX伺服器的本機IP位址或SIP網域)。 與 To 標頭一樣,From 標頭包含 URI 和可選的使用者顯示名稱。 透過查看 From 標頭,您可以準確地了解應如何處理此 SIP 請求。

SIP 標準 RFC 3261 規定,如果不傳輸 Display Name,則 IP 電話或 VoIP 閘道 (UAC) 必須使用 Display Name“Anonymous”,例如 From:“Anonymous”[電子郵件保護]>.

至:

To - 此標頭指示請求的接收者。 這可以是呼叫的最終接收者,也可以是中間連結。 通常,標頭包含 SIP URI,但其他方案也是可能的(請參閱 RFC 2806 [9])。 但是,無論硬體製造商如何,SIP 協定的所有實作都必須支援 SIP URI。 收件者標頭也可以包含顯示名稱,例如收件者:“First Name Last Name”[電子郵件保護]>)。

通常,To 欄位包含指向將處理請求的第一個(下一個)SIP 代理程式的 SIP URI。 這不必是請求的最終收件者。

聯繫:

聯絡人 - 標頭包含 SIP URI,您可以透過該 URI 聯絡 INVITE 要求的發送者。 這是必需的標頭,並且只能包含一個 SIP URI。 它是與原始 SIP INVITE 請求相對應的雙向通訊的一部分。 Contact 標頭包含請求傳送者期望回應的正確訊息(包括 IP 位址),這一點非常重要。 在建立通訊會話後,URI Contact 也用於進一步的通訊。

允許:

允許 - 此欄位包含參數清單(SIP 方法),以逗號分隔。 它們描述了給定發送者(裝置)支援哪些 SIP 協定功能。 方法的完整清單:ACK、BYE、CANCEL、INFO、INVITE、NOTIFY、OPTIONS、PRACK、REFER、REGISTER、SUBSCRIBE、UPDATE。 SIP方法有更詳細的描述 這裡.

來源: www.habr.com

添加評論