JDWP
   HOME

TheInfoList



OR:

In computing, the Java Debug Wire Protocol (JDWP) is a
communication protocol A communication protocol is a system of rules that allows two or more entities of a communications system to transmit information via any variation of a physical quantity. The protocol defines the rules, syntax, semantics (computer science), sem ...
which is part of the
Java Platform Debugger Architecture The Java Platform Debugger Architecture (JPDA) is a collection of APIs to debug Java code. * Java Debugger Interface (JDI) – defines a high-level Java language interface that developers can easily use to write remote debugger application tools. ...
. It is used for communication between a
debugger A debugger is a computer program used to test and debug other programs (the "target" programs). Common features of debuggers include the ability to run or halt the target program using breakpoints, step through code line by line, and display ...
and the
Java Virtual Machine A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally descr ...
, which it
debug In engineering, debugging is the process of finding the root cause, workarounds, and possible fixes for bugs. For software, debugging tactics can involve interactive debugging, control flow analysis, log file analysis, monitoring at the ap ...
s. It allows to debug processes on a different computer. It can work over a
network socket A network socket is a software structure within a network node of a computer network that serves as an endpoint for sending and receiving data across the network. The structure and properties of a socket are defined by an application programming ...
or through shared memory. The protocol is implemented in the
software library In computing, a library is a collection of resources that can be leveraged during software development to implement a computer program. Commonly, a library consists of executable code such as compiled functions and classes, or a library can ...
libjdwp. It can be activated using the -Xrunjdwp parameter of
Java Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
.
Metasploit The Metasploit Project is a computer security project that provides information about security vulnerabilities and aids in penetration testing and IDS signature development. It is owned by Boston, Massachusetts-based security company, Rapid7. ...
includes a module for JDWP. It can exploit it using various scripts, which have functions such as injecting a Java class that executes a
shell Shell may refer to: Architecture and design * Shell (structure), a thin structure ** Concrete shell, a thin shell of concrete, usually with no interior columns or exterior buttresses Science Biology * Seashell, a hard outer layer of a marine ani ...
command, returns
operating system An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ...
details or injects an arbitrary class.


References


External links


Java Debug Wire Protocol - Java SE Documentation

Hacking the Java Debug Wire Protocol
by
IOActive IOActive is an independent computer security services firm active in several areas. They are known for reporting high severity security vulnerabilities in a variety of products. IOActive has published research on smart cities A smart city ...

Patent US20110138359A1 - Modified implementation of java debug wire protocol

JDWP Misconfiguration in Container Images and K8s
Debugging Communications protocols Java (programming language) {{Programming-software-stub