2017-03-09 98 views
1

我们使用.Net MySql Connector的v6.9.9使用此连接字符串访问MySql,指定需要SSL。如何确定在MySql连接中使用SSL?

Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword; 
SSL Mode=Required 

我们的DBA已开启SSL支持,但我的测试过程中,我能够连接到服务器,不管我是否有证书安装在我的机器上,也不管我是否有“SSL模式=要求“或不。

但是,当我的DBA禁用SSL时,如果我使用上述连接字符串,则出现SSL未启用的错误。

因此,我真的不知道我的网络流量是否正在加密。我如何验证?

-

我的问题是有点重复的这一个,没有公认的答案。

http://stackoverflow.com/questions/14389921/how-to-check-whether-a-mysql-connection-is-ssl-encrypted 

一些建议使用WireShark进行测试。有没有人有关于如何使用此工具来验证我的SSL连接的分步说明?

-

此链接说明从MySql客户端调用“状态”。 https://dba.stackexchange.com/questions/36776/how-can-i-verify-im-using-ssl-to-connect-to-mysql

我问我的DBA尝试它 - 但他无法对我的连接调用该方法,仅针对他的本地连接。无论如何,在我的C#代码中调用它,例如? 我试过这个,但我不认为返回的值告诉我连接是否为SSL。

SHOW SESSION STATUS LIKE '%Ssl%'; 

任何人都有关于如何验证我的SSL连接的详细信息将不胜感激!谢谢!

回答

0

数据库没有太多的工作,但网络/ wireshark的专业知识足够你的任务。所以,你应该做的:

  1. 使用this tutorial使用Wireshark
  2. 开始嗅探网络准备捕捉设置和使用display filter通过数据库的IP地址和/或端口执行一些查询数据库
  3. 过滤流量,所以不显示不相关的数据包
  4. 检查显示的数据包。将它们与sample of MySQL over TCPsample of MySQL over SSL进行比较。提示:您可以在不受保护的连接中将查询看作纯文本,而SSL使得数据包有效负载看起来像一堆随机垃圾。