VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 数据库 > MySQL >
  • MySQL教程之[原创]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


相关教程