Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
tcpreplay/docs/Win32Readme.txt
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
106 lines (76 sloc)
3.29 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$Id$ | |
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! | |