天天看點

通過wireshark抓取視訊流資訊

平常在測試用戶端與服務端互動時,因為一般都是為http與https協定,是以平常都會用Charles工具進行抓包分析,使用下來很友善,确實是一個輕量級的抓包工具。 但是抓取的協定比較固定,想抓取一些其它資訊的時候就無法再用這個工具了。例如說視訊流資訊,以及該視訊的播放名額等,介于這樣的需求,可以采用網上也比較流程的工具-- wireshark

因為以前測試過一段時間的視訊相關的名額,簡單整理下流程

以我以前抓取Android上播放的視訊為例 1、首先在用戶端播放視訊的時候,同時在手機上通過adb shell指令連上手機,然後通過tcpdump指令抓包       這步的具體步驟在另外一個文檔中分享過,位址為        http://note.youdao.com/share/?id=7f7ae5a7e7d02f81d43f5105d5ac51c6&type=note

2、去wireshark官網上下載下傳相應的安裝包安裝        http://www.wireshark.org

3、拿到.pcap檔案之後,用wireshark打開,可以看到非常詳細的資訊,包括每一秒的網絡耗時,網絡協定,IP位址 在此需要一些tcp、http、dns等協定的基礎知識, 另外需要知道wireshark常用的過濾的方法。這樣在分析pcap包時會友善很多,如下面截的圖

通過wireshark抓取視訊流資訊
通過wireshark抓取視訊流資訊

舉一些執行個體計算名額

==================================================================================

按抓的包可以分析出

(1)、下載下傳視訊大小(對對應的IP位址進行Follow TCP Stream操作)

通過wireshark抓取視訊流資訊

==================================================================================

(2) 、下載下傳峰值速率和平均下載下傳速率,可以通過 Wireshark 的 I/O Graph 計算出來

通過wireshark抓取視訊流資訊

==================================================================================

(3)RTT時間

分片的RTT是指針對每個分片,在網絡傳輸中從發送端發送資料開始,到發送端收到來自接收端的确認總共經曆的時延,以毫秒為機關,如下圖所示,每個來自接收端的确認ACK響應,都有一個時延時間RTT,将這個分片中每個響應的時延加起來則為整個分片的RTT。

通過wireshark抓取視訊流資訊

驗證結果:

經過計算,第一個分片的 RTT 為 0.96ms ================================================================================== (4) TCP 重傳率

TCP重傳率為每個分片在網絡傳輸中重傳封包數與有效封包數的百分比率。

重傳封包辨別為[TCP Retransmission],如下圖所示:

通過wireshark抓取視訊流資訊

驗證結果:

經過統計,重傳封包數為 7 ,有效封包數為 486 , 7/486=0.0144 ,即 1.44% 。 ================================================================================== (5) 下載下傳時長

通過分片檔案可以檢視到,分片下載下傳開始時間為“2014-03-21 15:11:38.224013”,如下圖所示:

通過wireshark抓取視訊流資訊

分片下載下傳結束時間為“2014-03-21 15:11:49.105883”,如下圖所示:

通過wireshark抓取視訊流資訊

驗證結果:

分片下載下傳時長為 15:11:49.105883 - 15:11:38.224013 = 10.88187s ,取小數點後兩位,為 10.88s 。

繼續閱讀