[原创]MySQL协议学习(1):准备工作

 

MySQL Client/Server协议

准确的说应该是MySQL Client/Server协议,另一个叫X Protocol的暂不涉及。地址如下:MySQL Client/Server Protocol

 

字节序

一般协议里说的字节序是指网络字节序,网络字节序是big endian。而MySQL协议把主机字节序传输到网络上,使用little endian作为网络字节序,这点需要注意一下。关于字节序可以参考:理解字节序

 

Wireshark

做协议开发,使用wireshark可以大大提高生产力,下面针对MySQL协议对wireshark的使用做个简单的介绍。

抓lo包:

如果你的client和server在同一台机器,比如你自己的电脑,你会发现wireshark抓不到MySQL包,因为loopback不走网卡。解决办法很简单:wireshark如何抓取本机包 (方法二)

过滤条件:

在wireshark的过滤条件里输入tcp.port==3306 && mysql,然后回车,这样就能只显示mysql类型的包。

其他通信方式不能抓包:

如Shared memory,Named pipes等通信方式,wireshark是抓不到的,最好别打开这些参数。

tcpdump:

如果你只具备linux命令行条件,就需要使用tcpdump抓包,抓完后sz到本地,再用wireshark解析。

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

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

posted on   tuohai666  阅读(792)  评论(0编辑  收藏  举报

编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示