数据库协议解析

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 信息。