Documente Academic
Documente Profesional
Documente Cultură
#
# Copyright (C) 2007-2010 Sly Technologies, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
################################################################################
jNetPcap Package
Version 1.3.b4
Release Notes
Created on 2010-12-15
INTRODUCTION:
============
This is a stable release beta #4 of jNetPcap library. The feature set for
1.3 release cycle is frozen and only bug fixes will be released in future
1.3 updates.
Beta 4 adds a background system thread which schedules cleanup of resources. The
cleanup thread, named after the class implementing most of the functionality,
DisposableGC class, works in conjunction with memory allocation mechanism to
ensure that memory is kept within default limits of 64mb.
Several system properties were added to control the behavior and limits of
DisposableGC. Properties 'nio.mx', 'nio.ms', 'nio.blocksize' control native
memory allocation. These properties can be defined on the command line
as '-Dnio.mx=64mb', '-Dnio.ms=64mb', '-Dnio.blocksize=32kb'. Property 'nio.mx'
defines an absolute limit on the amount of native memory that can be allocated.
When the limit is reached, and memory cleanup is unable to free sufficient
amount of memory to fulfill the original request, an OutOfMemory exception is
thrown. Property 'nio.ms' defines a soft limit, where forcible memory cleanup
is attempted, while memory requests continue to be honored. Property
'nio.blocksize' defines the minimum size for the smallest memory allocation
request. Memory is allocated in larger 'nio.blocksize' blocks and sub-allocated
per each allocation request. This prevents excessive system memory fragmentation,
improves overall performance (since most subsequent allocation requests are
fulfilled in java).
The default values for all 3 properties are: nio.mx=64mb, nio.ms=64mb,
nio.blocksize=32kb. The defaults are applied to all platforms and hardware
architectures (32-bit and 64-bit).
Beta 4 also improves some critical areas of jNetPcap API. Specifically, peering,
memory allocation and use of accessor methods in JBuffer class, are
significantly improved.
The API classes are compiled with Java 1.5.X compiler and require Java 1.5
compatibility. The package is platform dependent as there is a native library
components supplied for each supported operating system
(i.e. jnetpcap.dll file for win32 systems.)
This release provides the API for a complete list of Libpcap's operations which
are to openLive, openOffline, openDead, compile filters, set them and many
others. For capturing packets, both packet at a time and dispatched handler
methods are implemented. Also various low level kernel buffer operations that
are natively available through WinPcap extension library are implemented as
well, but only available on windows based platforms.
The javadoc API documentation and a user guide is available at the project's
website at: http://jnetpcap.org.
== Installation Instructions ==
To install the library unzip the binary platform-dependent package into any
directory, or install the RPM package on unix based systems into its default
directories. There are 2 parts to setting up environment for jNetPcap.
*) FC notes: main files of interest from linux RPM package are installed
in the following locations:
- /usr/lib/libjnetpcap.so
- /usr/share/java/jnetpcap-1.3.a1.jar
- /usr/share/doc/jnetpcap-1.3.a1 = contains RELEASE notes and javadocs
*) Debian notes: main files of interest from linux deb package are installed
in the following locations:
- /usr/lib/libjnetpcap.so
- /usr/share/java/jnetpcap-1.3.a1.jar
- /usr/share/doc/jnetpcap-1.3.a1 = contains RELEASE notes and javadocs
* For further trouble shooting information, please see the following link:
(http://jnetpcap.wiki.sourceforge.net/Troubleshooting+native+library)
The base directory of the distributed package contains a "native shared library"
either called 'jnetpcap.dll' on windows platforms, or 'libjnetpcap.so' on
unix based systems. The library is required in order to utilize this
distribution. Most of the java classes included in this package will throw
'UnsatisfiedLinkException' without this library being loaded.
== Dependencies ==
* On win32 systems
- Win32 MinGW with GCC (doesn't require 'cgywin' or any compatibility layers)
- gcc on unix
Also if you want to run the included junit tests in the 'tests' sub directory,
you will need to included any version of 'jUnit' in the CLASSPATH.
* WinPcap OS support
- "Starting from WinPcap 4.0beta3, support for the Windows 9x/ME family of
operating systems has been dropped. The last builds supporting such OSes
are WinPcap 3.1 and WinPcap 4.0beta2", source http://winpcap.org website.
- Current version of jNetPcap has been tested with WinPcap versions 3.1,
4.0, 4.0.1, 4.1.1
- jNetPcap will not work with versions prior to 3.1 including 3.0 itself.
* On Linux/Debian
- current release of jNetPcap only provides support for all linux based
operating platforms. The RPM package does not place any explicit
dependencies but does require libpcap RPM package to be installed. Any
version of 0.8 or above will do.
* On Apple OS support
== General Notes ==
This is a major feature release. Adds support for high level protocol analysis,
fixes several bugs, adds Http and Html header support and moves header package
to new protocol package.
== Changes ==