【发布时间】:2021-06-20 07:48:32
【问题描述】:
我有一个由第 3 方编写的应用程序,它使用 Java/Tomcat 与 Oracle 12c (12.2.0.1) DB 通信。在其日志中,它报告“插入表时出错”,但未提供详细信息。在与作者的支持人员交谈时,他们表示这是旧代码,他们无法提供更多细节。他们说应用程序可以更好地支持我们商店不支持的 MSSQL。
我想看看进入 Oracle DB 的插入语句是什么样的,但在 v$sqltext 中找不到它。作为替代方案,我希望找到像 fiddler 这样的工具来查看端口 1521 上的出站流量。
是否有特定工具可以捕获未加密的流量,以便我可以看到发送的“查询”以及从 Oracle 数据库返回的响应?
一般的嗅探器可能会起作用,但它们通常会获得大量无关的流量,并且需要相当多的时间才能找到您想要的东西。
注意:
正如我在 cmets 中提到的,我不是 Tomcat/Java 人。我想我找到了类路径的设置位置。给定下面的windows批处理文件,是不是需要更换bcprov-jdk16-138.jar的“驱动”?
set PROJLIB=..\..
set JAVA_HOME=%PROJLIB%\jdk\
set libDIR=%PROJLIB%\appserver\webapps\receiver\WEB-INF\lib
set consoleDIR=%PROJLIB%\bin\lib
set endorsedLibDir=%PROJLIB%\appserver\endorsed
set CPATH= %consoleDIR%\console.jar;%libDIR%\ebxml.jar;%libDIR%\commons-io-1.1.jar;%libDIR%\bcprov-jdk16-138.jar;%libDIR%\xercesImpl.jar
set CLASSPATH=%CPATH%
set PATH=%JAVA_HOME%\bin;%SystemRoot%;%SystemRoot%\system32
补充说明:
上面的文件叫做setenv.bat。
关于尝试从数据库中捕获 SQL,该应用程序不是 Windows 应用程序,它是一个从网络接受数据并将其写入数据库的应用程序。这使得准确知道何时开始和停止监控变得困难。它似乎连接了很短的时间。它似乎可以读取数据,但不能插入。
【问题讨论】:
-
监控端口 1521 将完全为零。该端口用于购买侦听器以接收传入的连接请求。时期。句号。一旦侦听器接收到请求,它就会生成一个专用服务器(或定位一个调度程序)并告诉请求客户端通过一个不同的未分配端口与该服务器/调度程序通信。 1521 上的唯一流量是入站连接请求和“在端口 4321 上继续”(或侦听器选择的任何端口)的出站消息。
-
不是我所希望的。
标签: java oracle tomcat sniffing