簡體   English   中英

如何將RTP數據包與其余數據分開

[英]How separate RTP packets from the rest

我有一個帶有voip對話的pcap文件,如何將RTP數據包與其他數據包分開?

我可以獲得sip數據包,但我無法區分其余的RTP數據包。

在文件中搜索RFC3550中定義的RTP標頭。 或者更好地使用pcap-filter,例如使用這個 wiki(查找“Q:什么是僅用於捕獲SIP和RTP數據包的好過濾器?”)。

如果你想在wireshark中看到RTP流量,那么:

  1. 選擇分析 - >顯示過濾器...
  2. 選擇“UDP”,確定
  3. 右鍵單擊任何UDP數據包,然后選擇“解碼為...”
  4. 從列表中選擇“RTP”,確定
  5. 現在您可以看到所有RTP數據包。

希望有所幫助。 :)

ps編輯注意這是針對Wireshark的。 感謝評論員指出了這一點!

檢查有關PCap過濾器的@macs建議。 如果這不能滿足您的需求(例如,您需要過濾掉特定SIP會話的RTP數據包),則沒有簡單的方法。 您需要解析SIP消息,檢索RTP端口號,在特定時間段內接收來自/來自這些端口的數據包,並(可選)通過檢查其標頭(標頭中的magic number )來檢查這些數據包是否為RTP

從pcap文件中提取RTP / RTCP數據包的開源軟件包括:

  • rtpbreak: http ://dallachiesa.com/code/rtpbreak/doc/rtpbreak_en.html
  • xplico: http ://www.xplico.org

從源代碼中,您可以查看和理解所使用的方法。

我可以獲得sip數據包,但我無法區分其余的RTP數據包。

如果您能夠解碼SIP,那么您可以找到(在INVITE消息內)SDP消息。 如果你解碼它,你可以找到RTP“流”的IP和PORT(和RTCP =>端口+ 1)。 通過這些信息,您可以唯一地識別RTP和RTCP數據包。 請記住,STUN協議通常包(具有相同的IP-PORT)必須與RTP分開。 您必須考慮數據包捕獲的位置(網絡上下文和約束),您可以考慮NAT。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM