摘要: 执行命令消息 发送完认证请求之后,服务端返回 OK Response ,然后就可以发送执行命令消息了;报文结构为 例如 其中前四位属于消息头,包含消息体的长度和消息id,消息体部分包括 命令id和执行参数。这里命令id=3表示该命令是 SQL查询请求,后面跟着的是具体执行命令 “select * f 阅读全文
posted @ 2020-09-13 17:27 GPHPER 阅读(371) 评论(0) 推荐(0)
摘要: 登陆认证阶段 认证阶段抓包如上图,和初始化握手一样,前四个字节属于消息头,后面的部分属于消息体 。报文的结构图如下: 这里主要设置 用户名 密码 和数据库名这三个参数,其他的使用抓包的默认值即可。用户名和数据库名直接将字符转为十六进制就可以,唯一需要注意的是密码加密部分 官网提供的加密规则如下 SH 阅读全文
posted @ 2020-09-13 17:22 GPHPER 阅读(587) 评论(0) 推荐(0)
摘要: 交互过程 MySQL客户端与服务器的交互主要分为两个阶段:握手认证阶段和命令执行阶段。 握手认证阶段 握手认证阶段为客户端与服务器建立连接后进行,交互过程如下: 服务器 -> 客户端:握手初始化消息 客户端 -> 服务器:登陆认证消息 服务器 -> 客户端:认证结果消息 命令执行阶段 客户端认证成功 阅读全文
posted @ 2020-09-13 17:20 GPHPER 阅读(504) 评论(0) 推荐(0)
摘要: 原由 最近研究数据库中间件的时候,发现项目中连接中间件的时候和配置数据库一样。说明中间件必然实现了mysql协议,于是我就想研究研究mysql实现,并最终实现使用php来通TCP直连mysql 俗话说:“工欲善其事,必先利其器”,研究mysql协议,需要先把工具安装上。这里使用 wireshark 阅读全文
posted @ 2020-09-13 17:19 GPHPER 阅读(667) 评论(0) 推荐(0)
TOP