The installation procedure has a tendency to change frequently; consult your sys-admin.
You must obtain and install IPcept. The location of the IPcept class
library and JNI libraries must be configured in config.in
(see below) or be otherwise locatable (perhaps in your CLASSPATH and
LD_LIBRARY_PATH).
Conductor does not need the UDP facilities that have been added to
IPcept. You may, therefore, wish to build a version with
TCP_ONLY
defined. See the Makefile for more details.
ipfwadm
or ipchains
utility (depending on your kernel version) to control the kernel firewall.
One of these is typically available in your Linux distribution.
The firewall control utility is expected to be installed in either
/sbin
or /usr/local/sbin
. Adjust the
intercept
script if the utility is located elsewhere.
~/Conductor
. Make appropriate adjustments if needed.
Conductor/config |
This directory contains various configuration files for Conductor. | |
---|---|---|
Conductor/Classes |
In this directory tree, you will find all of the Java source for
Conductor. Running make in this directory will build
Conductor.class and all dependencies. Running
make clean will remove all *.class
files. Note that neither command will descend into the ConductorExt
directory.
|
|
Conductor/Classes/FMG/ConductorExt |
This directory tree contains all of the extensions upon which the main Conductor code does NOT depend. Running make in this directory will build all extensions. | |
Conductor/bin |
This directory contains support scripts for running Conductor. | |
Conductor/lib |
This directory contains the native code used by conductor in the form of dynamically loadable libraries. | |
Conductor/IPcept |
The code in this directory is designed for use with Linux kernel version 2.0 ONLY!!! It's presence is for historical purposes only. A new version of IPcept that is compatible with Linux kernel version 2.2 is packaged separately. | |
Conductor/Documentation |
This directory contains additional documentation for Conductor
including javadoc |
|
Conductor/EnvironmentTest |
This directory contains code that is compiled by
BuildAll to determine if your environment is corectly
set up.
|
config.in
for your
system-specific paths. Also, adjust lib/config.h
according
to the facilities in your system. If you intend to run Conductor from the
source directory, you may also need to edit the first few lines of the
Conductor script (which are automatically modified during installation).
The easiest way to build Conductor is to us the BuildAll
script in the top level directory. The BuildAll
command
will clean all parts of Conductor and then build the java class files,
extensions, and libraries.
You can also build Conductor using make in the root directory
or any subdirectory (to build parts of Conductor). However, the Conductor
extensions will not automatically be build. Use make
in Conductor/Classes/FMG/ConductorExt
(or
make extensions
in the Conductor
directory)
to build these pieces. The security extensions will be automatically
built if CRYPTIX is installed and it's location is properly configured
in config.in
.
|
RC_INSTALL_DIR
(which is /etc/rc.d/init.d
by default). An additional symlink is generally required to
cause the script to run upon startup. For example,
config/capture_ports
in the Conductor install directory.
It will be easiest to run Conductor at each node if all of the nodes mount the Conductor directory from one machine (perhaps in your home directory). This is not required, but it is frequently convenient when debugging. You may need to modify the amd configuration to arrange this.
If you want to unload IPcept, do the following
Conductor.properties
includes a set of values
that can be adjusted to affect Conductor's behavior. A sample version
of this file is provided in Conductor.properties.example
.
Uncomment and adjust any properties that you need. In particular, you
will probably want to configure the extensions you wish to use. If the
properites file is missing or empty, default property values will be used.
The Conductor.properties
file lives in Conductor's home
(either the root of the source directory, if Conductor has not been
installed, or in the INSTALL_DIR
). To reduce clutter, other
configuration files are typically in the config
subdirectory.
The default planner requires that the configuration file
adaptors.cfg
be present in the config
directory.
There are several sample files checked into CVS. For starters, use no
adaptors by typing
Conductor.properties
) is taken from the installation
home (normally /usr/local/Conductor
). If you run Conductor
from the source directory the configuration is taken from the current
directory.
Conductor must run as root (sudo
is acceptable) at
all nodes other than the server node (though it can also be used there,
if you wish). The -v
option provides debugging output.
Additional v's mean more verbosity. The port number (or service name), when
specified indicates the destination port number of locally initiated
connections that Conductor will capture. It is only required on the
client node.
So, for example, if the client is yeager and the server is hinge, the following two commands start up conductor on the respective machines to capture telnet traffic.
on yeager: | sudo ./Conductor -vvv 23 |
---|---|
on hinge: | Conductor -vvv |
on yeager: | sudo ./Conductor -vvv 23 |
---|---|
on york: | sudo ./Conductor -vvv |
on hinge: | Conductor -vvv |
Conductor is a product of Mark Yarvis
(yarvis@fmg.cs.ucla.edu) and the
FMG Research Group at
UCLA's Department of Computer Science.
Copyright © 2001 The Regents of the University of California. All Rights Reserved. |