我可以使用wireshark捕获数据包,但我无法将数据流解码为任何可理解的数据。这个错误表明,这可能在SQL Server 2005或更新版本中不可能...... https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3098,但Stack Overflow上的一些人声称这是回答这个问题的好方法:How to SQL Server traffic is encrypted?。任何帮助表示赞赏。
答案 0 :(得分:9)
编辑(2017-05-02):Microsoft网络监视器 - 已由Microsoft Message Analyzer取代 - 它具有相同的用途。另请参阅本答案下方的评论或进一步了解如何使用它的答案!
原始答案:
微软本身还有另一个被低估的工具:'Microsoft Network Monitor'。基本上这与wireshark非常相似,除了一些特定的MS协议比wireshark本身具有更好的解析器和可视化支持,显然它只能在windows下运行;-)。
这个工具已经很老了,看起来已经废弃了(到目前为止还没有看到过更新版本),但仍然做得很好,定义新协议的语法非常整洁/有趣 - 所以这仍然具有很大的功能未来。
分析示例 - 针对TDS过滤记录 - 因此其他数据包主要被丢弃:
对于sql server连接也是如此。 MNM甚至可以通过电线显示结果集 - 非常简洁。尽管如此,如上所述的wireshark足以验证加密并在线路上应用证书。意味着它可以完全理解TDS-Protocoll。
处理TLS
还有一个扩展(所谓的专家)'NmDecrypt'和正确的证书(包括私钥) - 它可以解密协议 - 对于使用TDS INSIDE TDS的TDS来说非常好 - 难怪 - 没有人真的实现了作为wireshark的完全支持的协议;)
到目前为止 - 关于MSSQL-Traffic - 或者更准确的TDS-Protocol这是迄今为止我遇到过的最好的工具。 Wireshark很酷 - 但在这种情况下,MNM“更好”。有phun! ;)
工具的链接:
答案 1 :(得分:5)
不是wireshark,但对我来说Microsoft Message Analyzer对此非常有用。
获取所有已发送的命令
答案 2 :(得分:2)
您提到的问题是如何证明流量已加密。
所以他们使用wireshark来表明你无法阅读它。
早期版本的SQL Server加密很弱,但我认为解密SQL Server 2005流量并不容易。
答案 3 :(得分:1)
Wireshark在理解协议(和层)时解码并显示捕获的数据。这意味着捕获的数据不会被编入。 如果数据是encripted(SSL,即),WS将只显示SSL握手和原始数据。