nessus-java-client
nessus-java-client copied to clipboard
A minimal Java client for the Nessus XML RPC interface
Nessus Java API Client
A Java client to the Nessus scanner's REST interface, supports both v5 and v6 The API is divided into a ScanClient and a ReportClient.
Usage
ScanClient scan = ClientFactory.createScanClient("https://nessusurl",6,true); // true == accept all hostnames from SSL cert
scan.login("username","password");
String scanID = scan.newScan("myScanName","myExistingPolicyName","127.0.0.1,someotherhost");
while (scan.isScanRunning(scanID)) {
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
ReportClient report = ClientFactory.createReportClient("https://nessusurl",6,true);
report.login("username","password");
Map<Integer,Issue> issues = report.getAllIssuesSortedByPluginId(scanID);
Differences between Nessus v5 and v6 APIs
Nessus V5 used a unique long string as a UUID to identify scans. Nessus V6 uses a numeric scanId value. Since this library uses a single interface for both V5 and V6, the scanId parameter in the V6 client is a String which is converted to an int.
Reference
This library supports a subset of the entire API interface to Nessus, if you'd like to add other features the full specification for v5 can be found here Nessus v6 API documentation can be read from the API itself by visiting: https://mynessuslocation:8834/nessus6-api.html
Install
mvn install -DskipTests