我想记录客户端应用程序发送到我无法访问的远程SQL服务器的所有SQL。我正在考虑某种可以记录和传递数据的客户端代理。它必须与客户端应用程序在同一台计算机上运行。
任何想法都赞赏。
答案 0 :(得分:0)
默认情况下,SQL Server的协议TDS(“表格数据流”)未加密,因此可以使用简单的数据包转发器来代理SQL Server连接和拦截命令(及其响应)。
TDS协议规范可从Microsoft网站获得,您可以编写自己的代理,可以通过以下方式拦截命令:https://msdn.microsoft.com/en-us/library/dd304523.aspx?f=255&MSPPError=-2147217396
然而,这是一项艰巨的任务。如果您不需要捕获每个连接,则还有其他更简单的选项:
SqlCommand
的{{1}}和CommandText
值。Parameter
:https://www.winpcap.org/ 答案 1 :(得分:0)