码迷,mamicode.com
首页 > 数据库 > 详细

MySQL协议学习(1):准备工作

时间:2018-04-17 11:58:57      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:dev   pdu   log   com   最好   网卡   本机   应该   抓包   

 

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

MySQL协议学习(1):准备工作

标签:dev   pdu   log   com   最好   网卡   本机   应该   抓包   

原文地址:https://www.cnblogs.com/tuohai666/p/8861953.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!