遠程連接MySQL數據包分析,一直很敢興趣遠程連接資料庫時,網絡數據包會是什麼樣子,用的會是TCP協議嗎?
今天截瞭MySQL資料庫的遠程連接數據包,下面是截圖:
先看66,67,68三個分節,TCP三次握手,沒啥說的。
69分節,MySQL協議:Server Greeting,告訴客戶端協議號和版本號。
70分節,TCP協議:客戶端的ACK響應,表示收到瞭69分節。
71分節,MySQL協議:Login Request,客戶端要求登錄,並給出瞭登錄用戶名和使用的庫名。
72分節,TCP協議:伺服器的ACK響應,表示收到瞭71分節(登錄請求)。
73分節,MySQL協議:Response OK,伺服器對登錄請求(Login Request)的回復,經過驗證,賬號密碼均正確,可以登錄OK。
74分節,MySQL協議:Request Query,客戶端執行sql語句。
75分節,MySQL協議:Response OK,伺服器對客戶端執行sql語句(Request Query)的回復,執行成功OK。
76分節,TCP協議:客戶端的ACK響應,表示收到瞭75分節。
後續的分節就是對74——76分節的重復,沒必要說瞭。
遺憾的是忘記把連接斷開,截獲斷開時的分節瞭,估計就是TCP斷開時的4次分手。