[原創]MySQL協議學習(1):準備工做

 

MySQL Client/Server協議

準確的說應該是MySQL Client/Server協議,另外一個叫X Protocol的暫不涉及。地址以下:MySQL Client/Server Protocolhtml

 

字節序

通常協議裏說的字節序是指網絡字節序,網絡字節序是big endian。而MySQL協議把主機字節序傳輸到網絡上,使用little endian做爲網絡字節序,這點須要注意一下。關於字節序能夠參考:理解字節序mysql

 

Wireshark

作協議開發,使用wireshark能夠大大提升生產力,下面針對MySQL協議對wireshark的使用作個簡單的介紹。linux

抓lo包:sql

若是你的client和server在同一臺機器,好比你本身的電腦,你會發現wireshark抓不到MySQL包,由於loopback不走網卡。解決辦法很簡單:wireshark如何抓取本機包 (方法二)網絡

過濾條件:tcp

在wireshark的過濾條件裏輸入tcp.port==3306 && mysql,而後回車,這樣就能只顯示mysql類型的包。oop

其餘通訊方式不能抓包:spa

如Shared memory,Named pipes等通訊方式,wireshark是抓不到的,最好別打開這些參數。命令行

tcpdump:server

若是你只具有linux命令行條件,就須要使用tcpdump抓包,抓完後sz到本地,再用wireshark解析。

client和server不在同一臺機器:tcpdump tcp port 3306 -w test.pcap

client和server在同一臺機器:tcpdump -i lo port 3306 -w test.pcap

相關文章
相關標籤/搜索