為什麼會出現這種情況?細心的童鞋可能發現是我們發送給伺服器的請求連接的資料不同:
第一張圖的資訊是{"roomid":98284,"uid":271298361556770}
第二張圖的資訊是{"uid":276194535568357,"protover":2,"roomid":98284}
roomid是真實的房間號,uid是隨機產生的一串數字,可以直接複製登入。
比較而言,第二張多了個"protover":2參數。其實第一張圖是抓取手機用戶端的資料包,第二張圖是抓取電腦網頁資料包。所以有沒有這個"protover":2這個參數都是可以連接到彈幕伺服器的。
所以我們可以推論抓包的最容易抓的數據是手機端,其次是wap端,最後才是電腦端。
但好多時候我們抓包資料的都是如圖二所示的一串串亂碼,不管你用utf8還是用gbk編碼都達不到圖一的那種效果。
這種資料其實是一種壓縮資料gzip,目前wireshark還不支援這種壓縮資料的解壓縮模式。
現在網站在傳輸中基本上都是用壓縮模式進行傳輸的,所以你抓取到的數據是壓縮後的數據,在你看來就是徹底的亂碼,無從下手。
如圖所示,造訪我的部落格首頁,抓取伺服器傳送回來的網頁資料是gzip模式,而我們平常造訪的網頁是經過瀏覽器解壓縮資料並渲染然後呈現給我們。
既然分析嗶哩嗶哩伺服器傳送的是gzip數據,那麼解決辦法就很簡單了,安裝第三方zlib套件或gzip套件都可以解決這個問題。
以上是抓包資料亂碼是什麼狀況?的詳細內容。更多資訊請關注PHP中文網其他相關文章!