appscan怎样删除用户定义的测试

appscan怎样删除用户定义的测试,第1张

在使用AppScan工具对WEBService机器进行扫描的时候,经常会发现Tomcat的日志记录中会有异常信息(本文以Tomcat服务器为例):

ERROR: transport error 202: handshake failed - received >GET /manaager/ - excepted >JDWP-Handsh

ake<["transport.c",L41]

JDWP exit error JVMTI_ERROR_NONE(0): could not connect, timeout or fatal error

再一检查Tomcat进程,无故停止,使得整个WEBService当机,影响整个系统环境。

问题分析

通过网上查询错误信息,发现是Tomcat服务开启了JPDA功能。而在进行AppScan扫描的同时,也会覆盖到JPDA的端口。此端口是用来进行

Socket连接的,主要目的是用来对Java程序进行远程调试,一旦该端口被占用,则JVM在此监听端口上则会被挂起,导致整个Java程序中断,这就

是根因所在。只要关闭JPDA功能即可。

*** 作步骤:

Step 1:编辑TOMCAT目录/bin下的startup.sh文件;

Step 2:修改最后一行,将exec "$PRGDIR"/"$EXECUTABLE" jpda start "$@"中的" jpda "删除(注意,前后要加空格);

Step 3:保存后,重启startup.sh;

附:JPDA所开启的监听端口在TOMCAT目录/bin下的catalina.sh文件配置,搜索该文件的“JDPA_ADDRESS=”字样,其值便是端口号。

这里对JPDA作一个简单的介绍。

JVM提供了一个调试架构对Java程序进行调试的功能,这就是JPDA(Java Platform. Debugger ArchitectureJava调试架构),JPDA通过调试交互协议向JVM请求服务以及对JVM中运行的程序进行调试。

JPDA通过两个接口和协议来完成如上功能,分别是JVMTI(Java虚拟机工具接口),JDI(Java调试接口)和JDWP(Java调试连线协议)。其中

1)JVMTI定义了虚拟机应该提供的调试服务,包括调试信息(Information譬如栈信息)、调试行为(Action譬如客户端设置一个断点)

和通知(Notification譬如到达某个断点时通知客户端),该接口由虚拟机实现者提供实现,并结合在虚拟机中;

2)JDI在语言的高层次上定义了调试者可以使用的调试接口以能方便地与远程的调试服务进行交互,Java语言实现,调试器实现者可直接使用该接口访问虚拟机调试服务;

3)JDWP定义调试服务和调试器之间的通信,包括定义调试信息格式和调试请求机制。

JPDA 概念将调试过程分为两部分:被调试的程序(被调试者-debuggee)和JDI。JDI一般为一个调试应用程序的用户接口(或Java

IDE的一部分)。被调试的应用程序在后端运行,而JDI在前端运行。在前端与后端之间有一个通信通道运行JDWP协议;因此,被调试程序与调试器可以位

于同一个系统内,也可位于不同的系统中。调试器的后端负责由调试器前端向被调试者VM传输请求,如“告诉我变量X的值”;它还负责向前端传输对这些请求

(包括像到达断点之类的预计事件)的响应。后端与前端利用JDWP通过一个通信通道进行通信。后端与被调试者VM利用JVMTI进行通信

安全测试原则第一条:需要一个独立的接近生产环节的测试环境;appscan等扫描软件在运行过程中会生成大量垃圾数据的安全测试原则第一条:需要一个独立的接近生产环节的测试环境;appscan等扫描软件在运行过程中会生成大量垃圾数据的


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11626662.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存