資料庫協定解析

Nexus TDS Insight

Nexus TDS Insight 是 Nexus Packet Sniffer 的 SQL Server 封包解析延伸工具,可從 pcap / pcapng 中整理 SQL Server session、登入使用者、資料庫、應用程式名稱、SQL statement、封包時間與 TLS 狀態。

SQL Server TDS Analyzer

載入封包後,立即看到重要 session 資訊

產品以「本機解析、免安裝、可離線使用」為核心。使用者只需要選擇或拖入封包檔,設定 SQL Server port 與必要的 PEM / PFX / P12 金鑰,即可在本機瀏覽器中完成 SQL Server TDS session 分析,不需要後端服務,也不會上傳使用者封包。

工具可協助使用者快速找出每個 session 的 client、server、user、database、app、SQL statement、執行時間、TLS 狀態與詳細封包資訊,適合用於資料庫連線稽核、SQL 行為追蹤、問題排查與報表匯出。

pcap / pcapng TDS LOGIN7 SQL_BATCH / RPC TLS 1.2 RSA CSV / JSON / HTML / PDF

核心功能

  • 支援 pcap / pcapng
    可透過檔案選擇器或拖放方式載入封包,並支援 classic pcap、pcapng、Ethernet、Linux SLL、Raw IPv4 / IPv6 與 VLAN tagged frame。
  • SQL Server TDS 解析
    支援 TCP stream grouping、direction reassembly、TDS packet detection 與 TLS record detection,並辨識 SQL_BATCH、RPC、TABULAR_RESULT、PRELOGIN、LOGIN、LOGIN7、SSPI 等 TDS 類型。
  • LOGIN7 與使用者資訊
    若封包可見或成功解密,可解析 user、database、app name、host name、client library、integrated security flag、declared login length 與 login source。
  • SQL Statement 解析
    可從 TDS SQL_BATCH、TDS RPC 或 TLS 解密後的 TDS payload 中擷取 SQL statement,並進行 UTF-16LE 解碼、雜訊清理、SQL 關鍵字判斷與同 session 去重。
  • TLS / PEM / PFX 解密
    支援在瀏覽器內透過 WebCrypto 與 node-forge 嘗試 TLS 1.2 RSA key exchange 解密,可使用 PEM、PFX、P12、PFXA 或 key log。
  • 匯出報表
    可將目前篩選後的 session 匯出成 CSV,或匯出完整 JSON;也可產生可離線開啟的 HTML 報表與文字型 PDF 報表。
操作介面

操作介面與畫面說明

以下畫面依照 Nexus TDS Insight 的主要操作流程整理,說明封包載入、session table、匯出功能與 session details 的用途。

Nexus TDS Insight - 初始畫面與檔案載入

初始畫面與檔案載入

使用者可選擇 pcap / pcapng,也可以拖曳封包檔到 drop zone;SQL Server port 預設 1433,可輸入多個 port,以逗號分隔。PFX / P12 密碼欄位可在密碼變更後重新解析目前封包。

Nexus TDS Insight - Session Table 與搜尋篩選

Session Table 與搜尋篩選

載入封包後,首頁 table 會列出 session、執行時間、client、server、user、database、app、SQL、protocol 與狀態。搜尋框支援 user、IP、database、app、SQL statement 與 notes,segmented filter 可快速切換全部、有 user 與 TLS。

Nexus TDS Insight - CSV / JSON / HTML / PDF 匯出

CSV / JSON / HTML / PDF 匯出

右上角提供 CSV、JSON、HTML、PDF 匯出功能。CSV 可匯出目前篩選後的 session;JSON 可匯出完整 results;HTML 可產生可離線開啟的報表;PDF 採文字型 PDF 方式輸出,方便交付稽核或留存報告。

Nexus TDS Insight - Session #195 詳細資訊

Session #195 詳細資訊

點擊 session row 後可展開詳細資訊,包含 Session ID、Client、Server、Start Time、End Time、Duration、User、Database、App、Host、Client Library、Login Source、TDS Types、Prelogin Details、Bytes C->S、Bytes S->C、TCP Segments、SQL Count、SQL Statements 與 Notes。

導入情境

安全與隱私

Nexus TDS Insight 不上傳封包、不呼叫遠端 API,封包與金鑰只在使用者本機瀏覽器記憶體中處理。Portable EXE 只會將靜態檔解出到 %LOCALAPPDATA%\NexusTDSInsight,且不需要管理員權限。

已知限制

  • 私鑰無法解密使用 TLS 1.2 ECDHE 或 TLS 1.3 的加密連線。
  • 若為 resumed TLS session,且封包內沒有完整握手流程或 master secret,僅靠私鑰無法還原連線內容。
  • 使用 Kerberos integrated authentication 時,通常無法只從封包直接取得最終的 DB user。
  • 若封包缺少登入階段,即使能辨識 TDS session,也可能無法取得 user 資訊。