107 lines
3.3 KiB
Plaintext
107 lines
3.3 KiB
Plaintext
|
|
$Id: Win32Readme.txt 2102 2009-01-04 22:52:51Z aturner $
|
||
|
|
This document attempts to explain how to get tcpreplay compiled and running
|
||
|
|
under Windows. Please note that this document is a work in progress and
|
||
|
|
Windows support in general considered EXPERIMENTAL right now.
|
||
|
|
|
||
|
|
|
||
|
|
Background:
|
||
|
|
|
||
|
|
Tcpreplay is not a native Win32 application right now. Hence it requires
|
||
|
|
Cygwin. (http://www.cygwin.com). Cygwin creates a Linux-like environment
|
||
|
|
on your Windows system which allows Linux/UNIX programs to run after a
|
||
|
|
recompile.
|
||
|
|
|
||
|
|
Tcpreplay supports numerous API's for sending packets depending on the
|
||
|
|
operating system. Under Windows, the only supported method of sending
|
||
|
|
packets is with WinPcap 4.0. (http://www.winpcap.org) Please be sure to
|
||
|
|
install both the WinPcap driver AND the developer pack.
|
||
|
|
|
||
|
|
Right now, I've only done testing under Windows XP. My guess is that 2000
|
||
|
|
and 2003 should have no problems. Since WinPcap and Cygwin are EOL'ing
|
||
|
|
support for Win98/ME, I doubt that they'll ever be supported. Not sure
|
||
|
|
the story on Vista, but I assume WinPcap & Cygwin will support them sooner
|
||
|
|
or later if not already. Would love to hear if anyone has any luck one
|
||
|
|
way or another.
|
||
|
|
|
||
|
|
What you will need:
|
||
|
|
|
||
|
|
- Cygwin environment
|
||
|
|
- GCC compiler and system header files
|
||
|
|
- WinPcap 4.0 DLL
|
||
|
|
- WinPcap 4.0 Developer Pack aka WpdPack (headers, etc)
|
||
|
|
|
||
|
|
Additional requirements if building from SVN:
|
||
|
|
- GNU build chain tools (Autoconf, Automake, Autoheader)
|
||
|
|
- GNU Autogen (*)
|
||
|
|
|
||
|
|
* NOTE: The guile package which comes with Cygwin is broken and breaks
|
||
|
|
Autogen, so you'll need to compile guile from scratch to fix. Hence, I
|
||
|
|
strongly suggest you build Tcpreplay from the tarball and not SVN. See
|
||
|
|
below for how to "fix" this issue if you want to compile from SVN.
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
******************************* IMPORTANT ******************************
|
||
|
|
Note 1:
|
||
|
|
People have reported problems with WpdPack (the developer pack for
|
||
|
|
Winpcap) being installed outside of the Cygwin root directory. Hence, I
|
||
|
|
strongly recommend you install it under the Cygwin root as /WpdPack.
|
||
|
|
|
||
|
|
Note 2:
|
||
|
|
There's a big problem with the Cygwin Guile package which breaks
|
||
|
|
GNU Autogen which Tcpreplay depends on when building from Subversion.
|
||
|
|
|
||
|
|
What this means is that to build from Subversion you must do the following:
|
||
|
|
- Download GNU Guile from http://www.gnu.org/software/guile/guile.html
|
||
|
|
|
||
|
|
- Extract the tarball and do the following:
|
||
|
|
libtoolize --copy --force
|
||
|
|
./configure
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
|
||
|
|
This will install guile in /usr/local.
|
||
|
|
|
||
|
|
The other problem is that guile-config returns the linker flags in the wrong
|
||
|
|
order. To fix this, rename /usr/local/bin/guile-config to
|
||
|
|
/usr/local/bin/guile-config.original and create a new shell script in it's
|
||
|
|
place:
|
||
|
|
|
||
|
|
---- BEGIN SHELL SCRIPT ----
|
||
|
|
#!/bin/bash
|
||
|
|
# Replacement /usr/local/bin/guile-config script
|
||
|
|
if test -z "$1" ; then
|
||
|
|
guile-config.original
|
||
|
|
elif test "$1" == "link"; then
|
||
|
|
echo "-L/usr/local/lib -lguile -lltdl -lgmp -lcrypt -lm -lltdl"
|
||
|
|
else
|
||
|
|
guile-config.original $1
|
||
|
|
fi
|
||
|
|
---- END SHELL SCRIPT ----
|
||
|
|
|
||
|
|
******************************* IMPORTANT ******************************
|
||
|
|
|
||
|
|
Directions:
|
||
|
|
- Install all the requirements
|
||
|
|
|
||
|
|
- Enter into the Cygwin environment by clicking on the Cygwin icon
|
||
|
|
|
||
|
|
- If you checked out the code from SVN, see Note 2 above and then run
|
||
|
|
the autogen.sh bootstrapper:
|
||
|
|
./autogen.sh
|
||
|
|
|
||
|
|
- Configure tcpreplay:
|
||
|
|
./configure --enable-debug
|
||
|
|
|
||
|
|
- Build tcpreplay:
|
||
|
|
make
|
||
|
|
|
||
|
|
- Install:
|
||
|
|
make install
|
||
|
|
|
||
|
|
- Try it out!
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|