【问题标题】:How determine if using SSL in a MySql Connection?如何确定是否在 MySql 连接中使用 SSL?
【发布时间】:2017-07-30 21:24:06
【问题描述】:

我们正在使用 .Net MySql 连接器的 v6.9.9 来使用此连接字符串访问 MySql,并指定需要 SSL。

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

我们的 DBA 已开启对 SSL 的支持,但在我的测试过程中,无论我的机器上是否安装了证书,也无论我是否有“SSL 模式 = 必需”或不是。

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

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

--

我的问题与这个问题有点重复,没有被接受的答案。

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 连接的详细信息的人将不胜感激!谢谢!

【问题讨论】:

    标签: c# mysql ssl database-connection wireshark


    【解决方案1】:

    没有大量使用数据库,但网络/wireshark 专业知识足以完成您的任务。那你该怎么办:

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

    【讨论】:

      猜你喜欢
      • 2014-03-22
      • 1970-01-01
      • 2013-11-08
      • 2012-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-12
      相关资源
      最近更新 更多