我可以使用wireshark 捕获数据包,但我无法将流解码为任何可理解的内容。
WireShark 错误数据库中的此项表明,这可能在 SQL Server 2005 或更高版本中是不可能的。但是 Stack Overflow 上的几个人声称这是回答这个问题的好方法:
任何帮助表示赞赏。
我可以使用wireshark 捕获数据包,但我无法将流解码为任何可理解的内容。
WireShark 错误数据库中的此项表明,这可能在 SQL Server 2005 或更高版本中是不可能的。但是 Stack Overflow 上的几个人声称这是回答这个问题的好方法:
任何帮助表示赞赏。
编辑(2017-05-02):Microsoft 网络监视器 - 已被Microsoft Message Analyzer取代- 用于相同目的。另请参阅此答案下方的评论或进一步了解如何使用它的答案!
注意: Microsoft Message Analyzer已于 2019 年末弃用,不再提供下载。
Microsoft 本身还有另一个被低估的工具:“Microsoft Network Monitor”。基本上这与wireshark非常相似,除了一些特定的MS协议比wireshark本身具有更好的解析器和可视化支持,而且显然它只能在windows下运行;-)。
该工具已经很老了,看起来已经被废弃了(到目前为止还没有看到更新的版本),但仍然做得很好,并且用于定义新协议的语法非常简洁/有趣 - 所以这对于未来仍然具有很大的影响力。
分析示例 - 为 TDS 过滤记录 - 所以其他数据包大多被丢弃:
对于 sql server 连接也是如此。MNM 甚至可以可视化通过网络传输的结果集——非常简洁。尽管如此,如上所述的wireshark足以验证加密并在线路本身上应用证书。意味着它可以完全理解 TDS-Protocoll。
处理 TLS
还带有扩展名(所谓的专家)“NmDecrypt”和正确的证书(包括私钥) - 可以解密协议 - 对于使用 TDS 内部的 TLS 的 TDS 来说非常好 - 难怪 - 没有人真正实现这一点作为wireshark 的完全支持的协议;)
到目前为止 - 关于 MSSQL-Traffic - 或者更准确地说是 TDS-Protocol,这是我迄今为止遇到的最好的工具。Wireshark 很酷——但在这种情况下,MNM 是“更好的”。有朋!;)
工具链接:
不是wireshark,但对我来说,Microsoft Message Analyzer非常适合。
获取所有发送的命令
不幸的是,目前没有实现自动滚动,但您可以按时间戳排序,并在顶部弹出新查询。
您所指的问题是如何证明流量是加密的。
所以他们用wireshark来表明你看不懂。
早期版本的 SQL Server 的加密很弱,但我认为解密 SQL Server 2005 流量并不容易。
Wireshark 在了解协议(和层)时解码并向您显示捕获的数据。这意味着捕获的数据没有被加密。如果数据是加密的(SSL,即),WS 将只显示 SSL 握手和原始数据。