爲了下載江疏影的淘寶直播回放視頻,學了一下手機抓包。
1、環境和軟件介紹
系統:windows10-64bit(可以建WiFi熱點)
工具:Wireshark-win64-2.6.1、M3U8批量下載器 V1.34.2
Wireshark-win64-2.6.1是一款免費的抓包軟件,功能強大,官網https://www.wireshark.org/。
Wireshark 窗口介紹
wireshark與對應的OSI七層模型
M3U8批量下載器 V1.34.2是一款優秀的下載軟件,其開發者是逍遙一仙。下載地址:M3U8批量下載器 V1.34.2
2、準備工作
使用360免費WiFi,手機連接電腦,
使用手機連接上面的wifi,然後打開“網絡和共享中心”,在裏面點擊我們使用隨身wifi建立的網絡連接:
裏面可以看到該鏈接的網卡物理地址,以及ipv6的地址信息,這應該是隨身wifi建立的一個網卡,之所以要查看這些信息,是因爲我們要確定wireshark抓包的時候抓取那個網卡的信息,一般電腦上有多網卡或者是有虛擬機可能也會生成虛擬網卡。
打開wireshark,選擇菜單“Capture”—“Interface”在彈出的對話框中有一列是IP欄,可以看到除了本機的網絡連接以外,好像其他的網絡鏈接這一欄顯示的都是IPv6的地址,其中我們可以找到與上面網絡連接信息中匹配的IP地址:
還可以點擊該條目右邊的“Details”按鈕,打開詳細信息對話框,在“802.3(Ethernet)”選項卡中,可以看到網卡的物理地址,該物理地址與上面的網絡連接對話框中顯示的物理地址是對應的:
這樣可以確定我們需要抓取哪個網卡的數據,確定之後,直接點擊該條目的“Start”按鈕,使用連上該wifi的手機隨便訪問網絡,就可以抓取所有包了,如果嫌查看網卡信息麻煩,你可以把這幾個顯示有數據包的網卡都抓包試一下,就應該可以看出來隨身wifi對應的是那個網絡連接了。
在手機上查看連接該wifi被分配的IP地址信息:
我的手機是連接在wlan2
中的,抓包時選中wlan2
,在Wireshark的菜單欄選中捕獲-選項
,進入設置,混雜
欄中只勾選wlan2
,過濾器中輸入tcp port http
,表示只捕獲tcp協議中的http。
3、抓包
電腦端準備就緒後,點擊開始
,手機端進入淘寶直播回放頁面播放直播視頻,視頻播放幾秒後,停止抓包,在Wireshark頂部的過濾器中輸入http contains ".m3u8"
,如果成功抓包,會出現過濾結果:
在Hypertext Transfer Protocol
中可找到http.request.full_uri
,右鍵複製-值
即可得到m3u8鏈接
4、下載視頻
將得到的m3u8鏈接放入M3U8批量下載器 V1.34.2
中,添加-全部開始
,
等到下載完所有分片,軟件會自動合併轉碼,輸出.mp4
格式視頻。
Oh,I get it.
最後就使用“視頻剪切合並器”來剪切需要的視頻片段了,該軟件還可以調節輸出碼率和分辨率等,如果是專業的視頻處理者,可以採用premiere等專業軟件。
後記
舉一反三,一直播等支持直播回放的視頻都可以通過抓包的方式通過抓包的方式抓取到原始視頻流(指源鏈接用明文顯示,不知道是否可以通過完全加密傳輸直播流,希望網絡工程師們不吝賜教),通過Chrome瀏覽器中的審查元素
獲取m3u8的地址。
最後說說心路歷程吧。
淘寶直播只能在手機端使用淘寶客戶端觀看,這是最大的問題(如果可以在電腦端觀看,使用FVD Downloader或者維棠等工具就直接下載了)。沒辦法,只有手機抓包了。最開始用的是Fiddler抓包,然而我並沒有找到m3u8的地址,可能Fiddler根本沒有抓到直播源的包。然後換了Wireshark,尋找到一個包含“Media Type”項的包,通過追蹤TCP流,找到連接源地址的包,在應用層中發現了m3u8的原地址。
參考&感謝
1.使用wireshark抓取bilibili直播的真實地址
2.手機數據抓包以及wireshark技巧
3.網絡抓包工具 wireshark 入門教程
4.wireshark分析m3u8
5.直播流m3u8網頁怎麼下載?
6.以手機app講解wireshark的簡單使用
7.wireshark怎麼抓包、wireshark抓包詳細圖文教程
8.使用wireshark抓取視頻流中的H264協議,並分析
9.Wireshark對常見視頻應用的抓包分析的結果
10.關於怎麼提取m3u8地址
轉載請註明如下內容:
知乎:@Forfreedom
CSDN:Freedom_anytime的博客 - CSDN博客
簡書號:For_freedom - 簡書