- Tutorials
- API Examples
- User Guide
- Ch 1 - The Basics
- Ch 2 - libpcap
- 2.1 - The Main libpcap API Overview
- 2.2 - Getting a List of Interfaces
- 2.3 - Opening a Network Interface for Capture
- 2.4 - Opening offline capture
- 2.5 - Setting a packet filter
- 2.6 - Reading one packet at a time
- 2.7 - Reading multiple packets with dispatch loops
- 2.8 - Dumping captured packet to an offline file
- 2.9 - Transmitting packets
- 2.10 - Close Pcap and PcapDumper handles
- Ch 3 - Packet Decoding
- Ch 4 - Internals
- Ch 5 - Protocols
- Ch 6 - Native API
Commands to install development environment on a blank CentOS install:
Executed as root (user "mark" is only used as an example, replace with your own username):
- Install Sun java from: http://java.sun.com (default gnu java will not compile JNI)
- To redirect just installed java environment use linux "alternatives" sub-system:
alternatives --install /usr/bin/java java /usr/java/latest/bin/java 2 alternatives --display java; (optional - verify preference) alternatives --config java; (optional - make sure our java alternative is "best")
- Define JAVA_HOME variable:
setenv JAVA_HOME /usr/java/latest -
yum install libpcap-devel -
yum install rpmrebuild -
yum install gcc-c++ -
yum install ant(pulls in about 60Mb of other packages) -
yum install ant-nodeps(needed for "javah" task) -
yum install rpm-build(needed for build-rpm target) - (optional) install junit for running the ant "test" target
yum install ant-junit -
yum install subversion - (optional) Create user if you don't have an account (use your own user name):
useradd mark
and assign a password:
passwd mark -
su - mark - Checkout source code (complete details):
svn co https://jnetpcap.svn.sourceforge.net/svnroot/jnetpcap/jnetpcap/trunk jnetpcap
- As root run jUnit testcases to make sure everything compiles correctly. Tests need to be run as root, as some of the tests check interface parameters that require root privilege:
su ant clean test #if everything tested OK exit
- from the jnetpcap SVN working directory invoke the "package-rpm" target which will compile the shared library and all the java classes. Output is under "dist/" directory.
ant -Dos=centos5 clean package-rpm
-
rpm -iv dist/jnetpcap-1.3.b0003-centos5.i386.rpm -
ls -l /usr/lib/libjnetcap*
lrwxrwxrwx 1 root root 33 Jul 4 17:33 /usr/lib/libjnetpcap.so -> /usr/lib/libjnetpcap.so.1.3.b0003 -rw-r--r-- 1 root root 1193147 Jul 4 17:29 /usr/lib/libjnetpcap.so.1.3.b0003
-
ls -l /usr/share/java/jnetpcap*-rw-r--r-- 1 root root 463175 Jul 4 17:29 /usr/share/java/jnetpcap-1.3.b0003.jar lrwxrwxrwx 1 root root 38 Jul 4 17:33 /usr/share/java/jnetpcap.jar -> /usr/share/java/jnetpcap-1.3.b0003.jar
-
ls /usr/share/doc/jnetpcap*
javadoc
Other names that should be used with the "-Dos=" argument to ant during build. You can substitute the major OS version number at the end:
- fc9 - for FedoraCore OS
- CentOS5 - for CentOS
This example assumes that we are taking a snapshot of the latest state of the development trunk (SVN trunk) which is assigned a build number (defined in file build.number in jnetpcap working directory). Build numbers are incremented after each official or internal build by jnetpcap builders.
»
Printer-friendly- Login or register to post comments
Send via Email
PDF Convert