5.2 KiB
Compiling the project
In order to compile this project the following prerequisites must be fulfilled:
- Java Development Kit v1.8 must be installed (see http://www.oracle.com/technetwork/java/javase/downloads or http://openjdk.java.net/ )
- Apache Maven must be installed (see https://maven.apache.org/, version 3.2.3 was used during development).
The compilation process will not execute the provided test cases by default, nevertheless this behaviour
may be changed but additional prerequisites must be fulfilled first, please refer to the README file located in the test
resources directory (usually src/test/resources/
).
Afterwards, within the projects top level directory (containing the file pom.xml
) execute:
$ mvn clean install
This will create the new directory target
, containing:
- rubanetra-0.0.6-distribution.zip
This archive represents the final binary project files, including default configuration files (./conf/
and dependencies (./lib/
). Use/unpack this archive to install the project on the target machine, however, please refer to the runtime requirements listed below first. Ultimately, this archive should contain:- rubanetra-0.0.6.jar
The compiled project binary. - rubanetra-0.0.6-(test-)sources.jar
This archive contains the projects (test-)source code, including generated (test-)sources and default configuration files. - rubanetra-0.0.6-javadoc.jar
This archive contains the projects Java documentation. - the directory
lib
, which contains all compiled third-party java-dependencies. - the directory
conf
, which contains modifiable project specific configuration files.
- rubanetra-0.0.6.jar
- rubanetra-0.0.6-package.zip This archive contains all sources needed to compile the project from scratch using maven. It does not contain any binary dependencies.
Running the project
In order to run this project it must be ensured that
- jNetPcap/libpcap/WinPcap (platform dependent) native libraries are accessible via Java classpath.
- the main configuration file (defaults to
./conf/rubanetra.conf
) is available/accessible and adjusted accordingly. The path to this file may alternatively be provided via command line argument-c
). - the Drools configuration folder (defaults to
./conf/META-INF
) is available/accessible and adjusted accordingly. Note that for the current version 0.0.6, the actual Drools configuration folder must be namedMETA-INF
and contain the filekmodule.xml
, which represents the Drools knowledge base configuration and is looked up/compiled by Drools during runtime. This allows to adjust the Knowledge-Base, i.e. rule modifications/additions/deletions before each invocation without the need to compile a separate JAR. - the SLF4J-logback logging configuration file (defaults to
./conf/logback.xml
) is available/accessible and adjusted accordingly. - the project was successfully compiled and Maven was able to resolve all dependencies.
Additionally, it is recommended to compile the Rubanetra binding for the plaso project (http://plaso.kiddaland.net/) as well, which is currently available at http://gitlab.swerk.priv.at/stefan/plaso-rubanetra. For compilation instructions please follow the Developers Guide chapter at https://github.com/log2timeline/plaso/wiki/Developers-Guide.
The frontend main method for the project may then be invoked from the terminal by executing:
$ java -jar rubanetra-0.0.6.jar
To provide the native libraries via /usr/lib
:
$ java -cp /usr/lib -jar rubanetra-0.0.6.jar
To provide a custom configuration directory (e.g. /etc/rubanetra/conf
) and
native libraries via /usr/lib
(substitute :
with the underlying system path separator):
$ java -cp "/etc/rubanetra/conf:/usr/lib" -jar rubanetra-0.0.6.jar
Dependencies
This project utilizes jNetPcap (http://jnetpcap.com/) and therefore libpcap/WinPcap as PCAP-library.
Please follow the installation instructions of the jNetPcap-library (project was compiled with version
1.4.r1425-1d), especially the native library section and adjust the Java-Classpath accordingly.
As an alternative, the required native file classpath may be included in the final jar-Archive manifest by adjusting
the projects pom.xml
property section (i.e. library.directory
and native.lib.classpath
properties) first
and recompiling afterwards.
For a list of all utilized (including transitive) third party libraries refer to file THIRD-PARTY.txt
.
Bugs
Please report bugs concerning this project to:
http://gitlab.swerk.priv.at/stefan/rubanetra/issues
Version control / project home
The latest version of this project may be obtained via git:
$ git clone http://gitlab.swerk.priv.at/stefan/rubanetra.git
or by pointing a browser to http://gitlab.swerk.priv.at/stefan/rubanetra.
Hints
If a runtime exception like the following
java.lang.UnsatisfiedLinkError: com.slytechs.library.NativeLibrary.dlopen(Ljava/lang/String;)
is encountered, the JNetPcap-library (Java) was unable to locate the native library in the classpath, i.e. either the JNetPcap native binding or libpcap is missing (see above).
Special note for Ubuntu 12.04/14.04: The package libpcap-dev
must be installed.