假设我们有端口和 IP,是否可以在不登录的情况下检查 MySQL 服务器是否启用了 SSL 连接?
最佳答案
理论上是可以的,但是需要了解MySQL自身的协议(protocol)和高级socket编程。
作为初始握手过程的一部分,mysql 服务器发送一个 initial handshake packet .作为能力标志的一部分,MySQL 服务器设置 CLIENT_SSL旗帜 if it supports SSL :
The SSL support is announced in Initial Handshake Packet sent by the server via CLIENT_SSL and is enabled if the client returns the same capability.
此数据包在认证之前发送,因此您无需通过认证来确定 MySQL 服务器是否支持 SSL。但是,在各种 MySQL API 中,您不能简单地要求发送初始握手数据包。即使在 C API 中,您也只有 mysql_real_connect() 可以立即将您连接到服务器。所以,你需要自己编写代码来发起与mysql服务器的连接,处理服务器的初始握手包,判断是否支持SSL并关闭连接。
关于mysql - 在不登录的情况下检查MySQL服务器是否启用了ssl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38221855/