Fiddler:抓包調(diào)試?yán)?/p>
(1)打開Fiddler,點開菜單欄的Rules冻璃,選擇Customize Rules...
(2)這時會打開CustomRules.js文件,在class Handlers中加入以下代碼
static function OnWebSocketMessage(oMsg: WebSocketMessage) {
? ? ? ? // Log Message to the LOG tab
? ? ? ? FiddlerApplication.Log.LogString(oMsg.ToString());
? ? }
(3)保存后就可以在Fiddler右邊欄的Log標(biāo)簽里屑彻,看到WebSocket的數(shù)據(jù)包 下列圖中紅框標(biāo)出的Client.1代表客戶端發(fā)出的第一條消息蛙粘;對應(yīng)的Server.1代表服務(wù)端發(fā)出的第一條消息。MessageType:Text代表正常的通話消息父丰;Close代表會話關(guān)閉肝谭。 客戶端發(fā)出的消息:
服務(wù)端發(fā)出的消息:
然后我們會發(fā)現(xiàn)每次會話關(guān)閉都是由客戶端發(fā)起的:
相對于Chrome控制臺來說Fiddler抓包更加詳細(xì)一些,能知道會話消息是由客戶端還是服務(wù)端發(fā)出并且能知道消息類型。但是這仍然滿足不了深入理解學(xué)習(xí)Websocket協(xié)議的目的分苇。如果是處理HTTP、HTTPS屁桑,還是用Fiddler医寿。其他協(xié)議比如TCP,UDP 就用WireShark。TPC/IP協(xié)議是傳輸層協(xié)議蘑斧,主要解決數(shù)據(jù)如何在網(wǎng)絡(luò)中傳輸靖秩,而HTTP、Websocket是應(yīng)用層協(xié)議竖瘾,主要解決如何包裝數(shù)據(jù)沟突。因為應(yīng)用層是在傳輸層的基礎(chǔ)上包裝數(shù)據(jù),所以我們還是從底層開始了解Websocket到底是個啥?是如何工作的?
---------------------
原文:https://blog.csdn.net/zara0830/article/details/80380873