2016-05-27 107 views
3

我想知道是否可以使用Wireshark將整個查詢記錄到Firebird 3.0數據庫服務器。我可以記錄一些通信,但是我看到的是帶有問題標籤而不是值的查詢。Wireshark - 偵聽SQL查詢但沒有值

select * from SP_procedure_name(?,?,?)

我不認爲這可能運往這些值的任何數據包。這是一些類型的數據庫通信加密?有什麼辦法可以禁用它並查看確切提供的值嗎?

回答

3

在火鳥線協議語句句柄被分配(op_allocate_statement),一個語句在該手柄(op_prepare_statement)中製備,然後可以用不同組的綁定參數值的多次執行該語句(op_execute/op_execute2)。

因此,您在wireshark跟蹤中看到的數據包只是語句準備步驟。要查看值,您需要查看op_execute(或op_execute2)數據包。 Firebird線協議是二進制的,因此除了字符串值之外,您不會輕易看到其他類型的值(iirc wireshark解析器不解碼此值)。

這是不可能的,因爲這是Firebird協議工作的基本部分。

如果您想檢查執行時使用的參數,您應該考慮查看Firebird跟蹤工具。