MySQL protocol 與 Wireshark實作

Client/Server protocol MySQL客戶端和MySQL伺服器端通訊的協議,分為Connection Phase & Command Phase,前者負責驗證資料的交換,後者為指令的接受和執行。 連線過程參考下圖,圖片取自Turing blog three way handshake 建立 tcp 連線 Server initiate connection phase with sending handshake packet => server greeting Client => login request Server => (auto switch request), response OK clinet initiate command phase => query Server => response ok client => prepare statment Server => response to prepare(指定一個唯一的識別碼statement id) client => excute statment (有statement id 去辨識屬於哪個prepare statement) Server => response ok client => request close statement client 發送tcp fin flag Golang 程式碼參考 package main import ( "database/sql" "fmt" "time" _ "github....

November 11, 2023 · 2 min