copy from intranet.

This commit is contained in:
lijia
2019-07-10 17:54:02 +08:00
commit f36a4fca25
353 changed files with 130721 additions and 0 deletions

379
docs/CHANGELOG Normal file
View File

@@ -0,0 +1,379 @@
$Id: CHANGELOG 2449 2010-04-04 06:39:38Z aturner $
04/04/2010 Version 3.4.4
- Set default timing method to either gtod or abstime (#404)
- Fix IPv6 parsing of CIDR's (#405)
- Add support for preloading the memory cache (#410)
- Generate more useful error when packets are too small (#411)
- Update to libopts/Autogen 5.9.9 (#412)
- Ship Win32Readme.txt file (#413)
- Update copyright notice to 2010 (#416)
- Dramatically enhance --portmap option (#417)
- Update autotools (#423)
- Add support for printing statistics periodically during the run (#424)
- Warn user when pcap snaplen < 65535 (#425)
- Add 802.1q processing support tcpprep (#428)
06/25/2009: Version 3.4.3
- Link libnl when newer versions of libpcap require it (#397)
- Ship m4 directory (#398)
- Upgrade to latest autotools scripts (#400)
- Fix error message when running autogen.sh (#401)
05/20/2009: Version 3.4.2
- Added extensive IPv6 support to tcprewrite & tcpreplay-edit (#11)
- Add IPv6 fragroute support (#388)
- Add IPv6 decoding support to tcpprep (#11)
- Fix compile time error in err.h (#390)
- Add --endpoints support in tcpreplay-edit (#393)
02/18/2009: Version 3.4.1
- Sendpacket method did not match documentation (#361)
- Fix compile issue on systems without err.h (#363)
- Fix tcpprep --mac not processing non-IPv4 packets (#369)
- Always build tcpreplay w/ editing features as tcpreplay-edit (#372)
- Fix potential tcpbridge issues under OS X & *BSD (#373)
- Fix crash on 4 byte strictly aligned systems (#377)
- Add MTU truncation to tcprewrite/tcpreplay-edit (#379)
01/15/2009: Version 3.4.0
- Add libdnet and remove libnet support for sending packets (#302)
- Fix numerous 802.11 decoder bugs (#325)
- Fix compile issue under Linux (#326)
- Fix Mbps/sec nonsense (#327)
- Fix tcprewrite crash when packets have no L3+ data (#328)
- Clean up err.c/err.h code and improve performance for non-debug builds (#331)
- Fix timesdiv() timer code (#332)
- Improve high-performance packet sending via multiple packets/interval (#334)
- Fix statistics report errors (#335)
- Fix BPF filters not being used in tcpbridge (#336)
- Improve tcpbridge performance (#337)
- Only use two libpcap handles for tcpbridge (#338)
- Fix autotools usage errors (#340)
- Clean up 'make test' results (#341)
- Update to AutoGen/AutoOpts 5.9.7 (#342)
- Fix compiler warnings from GCC 4.2 (#344)
- Fix numerous memory corruption bugs in libtcpedit DLT plugin code (#345)
- Add support for editing IPv4 TOS/DiffServ/ECN (#348)
- Update autotools to more recent versions (#349)
- Report injection method via -V (#352)
- Fix DLT_USER l2len check bug (#353)
- Replace man2html w/ groff (#354)
- Fix false pcap_inject() detection under Windows/Winpcap (#355)
- tcpbridge now builds under Win32/Cygwin
- libdnet is no longer an option for Win32/Cygwin (#57)
- tcpbridge now supports --listnics (#357)
06/20/2008: Version 3.3.2
- Fix (again) tcpbridge --unidir assert error (#308)
- Fix tcpbridge bug where all packets that were sent were all zeros
- Fix tcpbridge not honoring --include/exclude flags (#311)
- Fix ip_in_cidr() debug messages (#312)
- Report packets which have timestamps which go backwards in time (#315)
- Clean up --sleep-accel code to use options struct (#316)
- Remove really old and out of date RPM .spec file (#317)
- Warn when sending on non-Ethernet interface (#318)
- Re-enable tcpreplay --listnics (#319)
- Fix sendpacket always reporting using PF_PACKET, even when it doesn't (#322)
- Fix major packet timing issue under old versions of glibc (#324)
05/17/2008: Version 3.3.1
- Fix limitation of PF_PACKET only supporting Ethernet (#123)
- Fix (again) /dev/bpf detection in FreeBSD 8.0 (#292)
- Document building code from Subversion under Cygwin (#304)
- Fix --enable-force-* under Linux (#305)
- Fix tcpbridge --unidir assert error (#308)
05/04/2008: Version 3.3.0
- Improve tcpreplay timing accuracy between packets (#41)
- Add tcprewrite fragroute support (#42)
- Fix tcprewrite --efcs option (#277)
- Updated Win32/Cygwin documentation (#280)
- Add dmalloc support (#282)
- Fix tcpprep broken handling of VLAN tagged frames (#290)
- Fix tcprewrite crash when cache file has NO_SEND packets (#291)
- Fix /dev/bpf detection in FreeBSD 8.0 (#292)
- Add tcprewrite --ttl editing option (#294)
- Fix autoconf AM_PROG_CC_C_O warning (#295)
- Add tcpprep --reverse option to split by matching client addresses (#297)
- Update version of autoconf to 1.10.1 (#298)
- Improved GNU Autogen detection and warnings (#299)
- Track EAGAIN errors separately from ENOBUFS (#301)
- Automatically detect Winpcap on Cygwin (#303)
01/23/2008: Version 3.2.5
- Fix linker error with --enable-tcpreplay-edit and --enable-dynamic-link (#288)
- Fix compile errors with Sun Studio compiler (#286)
01/16/2008: Version 3.2.4
- Fix crash in tcpreplay when --enable-tcpreplay-edit (#281)
- Display if --enable-tcpreplay-edit in -V (#283)
11/01/2007: Version 3.2.3
- Fix compile issue under Linux and other OS's (#275)
10/31/2007: Version 3.2.2
- Enable source MAC spoofing for OS X (#142, #151)
* Tcpreplay now requires OS X 10.5 (Leopard)
- Fix crash/memory access error with tcpreplay -N (#273)
10/25/2007: Version 3.2.1
- Fix tcprewrite segfault in 'make test' under Linux (#200)
- Major performance improvement in tcpprep for large pcaps (#261)
- Fix strsignal already defined error under Cygwin/Windows (#199)
- Fix compile errors for older versions of GCC (#201)
- Remove flowreplay code (#262)
- Fix DLT rewrite code causing corrupted ethernet protocol type (#268)
- Try to fix inet_aton() issue under Solaris (#260)
08/26/2007: Version 3.2
- Return a more useful error message when tcpprep fails (#187)
- Add Tomahawk test tool client/server detection algorithm (#186)
- Improved AutoGen support (#191)
- Improved documentation (#164, #198)
- Added Doxygen markup (#176)
- configure now honors --with-tcpdump flag (#192)
- configure now defaults to --enable-64bits which breaks backwards
compatibility in certain situations. Use --disable-64bits if this
concerns you (#195)
- Use safe_free() to detect bugs earlier in development (#197)
07/19/2007: Version 3.1.1
- Upgrade libopts tearoff to 29:0:4 so that everyone else in the world can
compile tcpreplay (#189)
07/18/2007: Version 3.1.0
- Add tcprewrite --srcmap & --dstmap for rewriting only source or destination IP's (#185)
- ./configure now reports configuration at end (#155)
- Fix svn:keywords (#160)
- Optimize performance of dlt_en10mb plugin (#161)
- Performance improvements on strictly aligned systems (#162)
- Improve tcpprep error messages and handling (#163)
- Add support for warnings in libtcpedit (#165)
- Only use __attribute__((unused)) w/ GCC (#168)
- Fix compile issues under Solaris (#178)
- Gracefully handle systems w/o static libraries (#179)
- Fix segfault when using BPF filters (#182)
- Add additional DLT Plugins:
- 802.11 (#103)
- 802.11 w/ Radiotap (#177)
05/01/2007: Version 3.0.1
- Stop tcpreplay causing OS X WiFi from disassociating (#167)
- --pnat incorrectly matched all IP addresses (#170)
- Fix serious memory leak in core common library (#175)
- Fix tcprewrite --enet-vlan on little endian systems (#174)
- Bad pcap timestamps were causing excessive delays (#169)
- Code cleanup (#173)
04/20/2007: Version 3.0
- By default, no longer try to use libnet. You must now specify --enable-libnet (#148)
- Improve documentation (#30)
- General code cleanup (#47)
- Warn when GNU Autogen version < 5.9 (#153)
- Remove support for pcap_snapshot_override which was never added to libpcap (#140)
- Fix support for C99/GCC 4.3 "inline". Rely on -O3 for better performance. (#149)
- Prioritize 64 bit libraries over 32 bit counterparts (#150)
04/14/2007: Version 3.0.RC1
- Fix tcpbridge and make it compile by default (#15)
- Fix tcprewrite crash on little-endian systems (#127)
- Gracefully handle broken pcap files where the snaplen < caplen (#130)
- Note: Fix was made in libpcap and will be part of 0.9.6
- Fix numerous bugs with the sendpacket code (#137)
- Add optional support for editing packets with tcpreplay (#61)
- Fix 'make test' on little endian systems (#64)
- tcprewrite -s is no longer endian dependent (#65)
- /docs cleaned up (#66)
- Fix detection/compile of libpcap. Now support versions >= 0.7.2 (#80, #144)
- Add official support Cygwin/Win32 support (#110)
- Clean up libpcap version code (#111)
- Add support for interface alias names for Win32 (#113)
- Warn user on DLT miss-match (#125)
- Fix tcprewrite segfault with --fixlen=pad (#134)
- Add loop/cache support for better performance (#136)
- inline debugging code for better performance (#138)
- configure now supports selecting injection method (#139)
- Fix configure/compile errors under OpenBSD (#146)
- Add tcpbridge --verbose mode (#28)
- Fix compile issues under HP-UX & strictly aligned systems (#141)
- --enable-dynamic-link supports 64bit libraries (#143)
03/22/2007: Version 3.0.beta13
- Fixed detection of IPv4 packets in libtcpedit on little-endian boxes (#115, #116)
- Fixed TCP/UDP checksum calculation on little-endian boxes (#126)
- Added --quiet flag to tcpreplay for Lothar (#109)
- The --seed flag should now generate the same IPs on both little-endian & big-endian boxes (#65)
- The --skipl2broadcast flag now works as documented (#112)
- Adding L2 header for DLT_RAW encapsulated packets now works (#16)
- Clean up documentation (#66, #75)
- Start initial support for Win32 port (#110, #111)
- Finish DLT plugin rewrite (#82)
- Fix compile on systems without tcpdump installed
02/22/2007: Version 3.0.beta12
- Fix compile under RH ES 3.x (gcc 3.2.2) (#79)
- Fix compile on MIPS, ARM, HPPA, etc (#81, #88)
- Rewrite L2/DLT code in tcpedit/tcprewrite to be plugin based (#82)
- Create Ethernet Plugin (#99)
- Create User Plugin (#100)
- Create Cisco HDLC Plugin (#101)
- Create DLT_LINUX_SLL Plugin (#102)
- Create DLT_RAW Plugin (#104)
- Create DLT_NULL Plugin (#105)
- Create DLT_LOOP Plugin (#106)
- Properly decode ethernet frames when they are VLAN tagged (#84)
- Do not install man2html (#85)
- Add configure --disable-libopts-install option (#86)
- Enhance tcpreplay --oneatatime (#90)
- libtcpedit can now return warnings & errors (#92)
- Fix tcpprep --include/exclude (#96)
- Upgrade AutoGen tearoff (libopts) to latest version (5.9.0) (#97)
- Don't do L4 checksums for non-fragment offset == 0 (#107)
08/07/2006: Version 3.0.beta11
- Fix distribution to ship missing src/tcpr.h (#73)
- Add support to tcprewrite to alter output file DLT (#74)
- Fix errors in 'make test' (little endian still broken) (#77)
- Tweak Autogen .def files documentation (#78)
08/05/2006: Version 3.0.beta10
- tcpprep & tcprewrite no longer require root access (#3)
- Develop wrapper API for libnet, libpcap, BPF and PF_PACKET (#4, #24)
- Enhance do_sleep() to support looping for better accuracy (#6)
- Prefer inet_pton over older, deprecated routines (#26)
- Remove libnet as a requirement (#29)
- Optionally don't rewrite broadcast/multicast IP/MAC addresses (#38)
- Remove libnids dependancy for flowreplay (#55)
- Fix build issues when libpcapnav is installed (#56)
- Fix truncate feature not putting correct packet length in IP header (#59)
- Internal error reporting fixes in libtcpedit (#60)
- Support --enable-debug when building under gcc 3.x (#62)
- tcpedit_stub.h wasn't being generated automatically from SVN (#63)
- Fix 'make doxygen' (#67)
- Fix some Makefile issues (#68)
- tcprewrite --endpoints should require a cache file (#70)
- Improve IP randomizer code to be more random (#71)
07/17/2006: Version 3.0.beta9
- Fix compile issue for users not having AutoOpts installed (#54)
- Fix compile issue for users w/ AutoOpts 5.8.4 (upgrade to 5.8.4)
07/16/2006: Version 3.0.beta8
- Fix -M running in MBps rather then Mbps
- Fix tcpbridge segfault/bus error reported by Steven Z. (Gerry)
- Improve tcpbridge man page
- Massive tcprewrite fixes & cleanup (#50)
- Much improved README document
- Reorganize packet editing code into a standalone module (tcpedit)
which has been librarized. (#5)
- Strict code cleanup (#27)
- Fix tcpprep from generating bad cache files (#48)
- Add MAC split mode for tcpprep (#1)
- Improve dbg() to list file/line (#32)
- Add tcpprep statistical reports (#2)
- Reorganize flowreplay code (#46)
- Fix conflicting speed_t for Debian (#33)
- Too many other things to document
08/07/2005: Version 3.0.beta7
- New 'make doxygen' target builds pretty source code docs in
docs/web/doxygen/html
- Fix tcpprep auto/router mode which was sending all packets out the
secondary interface
- Fix endian issue on little-endian systems which made tcpprep think all
packets were not IP
- Improve debugability of tcpprep
- Fix UDP header offset bug in flowreplay
06/28/2005: Version 3.0.beta6
- Fix rpm .spec file which was still based on tcpreplay 2.x (untested)
- Detect and manually include pcap-bpf.h which fixes compile problem
- Fix tcprewrite -S crash with only one MAC
- Fix tcpreplay using 2nd NIC split mode
- Fix tcpreplay packet counter initialization
- Fix tcpprep to properly handle missing -i and -c with -I and -P
06/14/2005: Version 3.0.beta5
- Fix --decode flag
- Fix compile under AMD64/RHEL4 where libraries are in /usr/lib64
- tarball now ships with a full test subdir
- Fix compile of src/common/get.c under strictly aligned architectures
- Fix ./configure --enable-64bits flag
- Fix bug on little endian systems which prevented tcprewrite from
editing packets
- Fix tcprewrite linktype checks
- Add --pktlen for when the pcap snaplen lies to us
- Add --enable-dynamic-link for those who want to dynamically link their
libs
06/05/2005: Version 3.0.beta4
- Really fix compile problems with dlt2desc with old versions of libpcap
- All libraries are now statically linked and full-path #includes. This
should fix problems with people who have different versions of
libraries installed in different locations.
- Fix problems compiling on systems with libpcapnav
- Add support for libpcap 0.5 such as on OpenBSD
- Fix tcpprep --verbose
- Close STDIN prior to re-opening it for certain OS's
05/04/2005: Version 3.0.beta3
- Fix autoconf problems with --with-libnet
- Fix compile problems with dlt2desc with old versions of libpcap
- Fix compile problem due to not shipping flowreplay_opts.h and
tcpbridge_opts.h
04/19/2005: Version 3.0.beta2
- Significant improvements to FAQ and manual
- Use autoopts for flowreplay
- Be more cautious about memcpy's
- Fix numerous warnings during compile
- Allow overriding L2 protocol field for DLT_RAW
- tcpprep -I & -P now take the cache filename
- Lots of cleanup
- Added tcpbridge utility
- Fix tcpreplay --mbps which was being interpreted as bps
- Add --no-arg-comment feature for tcpprep
- Improve auto-tests and fix old broken ones
- Fix Makefile errors in the docs directory
- Upgrade libopts tear off to v5.7pre12 which fixes problems with
loading config files
- Add support for forcing the use of the local libopts tearoff code
02/27/2005: Version 3.0.beta1
- Major code cleanups and rewriting
- Rip out all edit functions from tcpreplay and put into tcprewrite
- Improve tcpreplay performance by about 5% for raw sending
- Move around utility functions for greater code-reuse
- Move MAC Address funcs into mac.c
- Move global defines into defines.h
- Standardize use of structs and typedefs
- Start passing const's when we don't need to modify
- Start using GNU AutoOpts for arg/config file processing
- Start using automake and autoheader
- Major rewrite of configure.in
- Add support for printing which interface packets go out
- 64bit counters are optional via --enable-64bits
- Can now rewrite L2 data per outbound interface
- Add support for additional DLT types
- Non-Code changes
- I now own the full copyright for tcpreplay
- Removed the evil 4th clause from the BSD license
- Start updating the FAQ and split some content to make a manual
- Automatically generate man pages based via autogen
- New Applications:
- tcprewrite
- Removed Applications: (Ethereal has better utilities)
- capinfo
- pcapmerge
- Merge fixes from 2.x/stable branch:
- portmap.c endian bugs
- edit_packet.c handle corrupted pcap's where caplen < len
- configure now properly uses --with-libnet and --with-libpcap
*** Fork 3.x Branch from v2.3.1 ***

59
docs/CREDIT Normal file
View File

@@ -0,0 +1,59 @@
$Id: CREDIT 2308 2009-05-06 19:05:38Z aturner $
tcpreplay and it's associated utilities (tcpprep, tcprewrite and flowreplay)
were designed and written by Aaron Turner.
This product includes software developed by the University of California,
Berkeley, Lawrence Berkeley Laboratory and its contributors.
The following is a list of people in no particular order who have kindly
submitted patches or code snippets for me to use in tcpreplay.
Matt Bing <matt@mutedwarf.com>
- Matt helped write a lot of the 1.x code
Branden Moore <bmoore-at-cse.nd.edu>
- Patch to pad truncated packets
- Patch to allow specifying a destination MAC w/ only a single NIC
Scott Mace <smace@intt.org>
- Patch for tcpreplay to support CIDR mode
- Patch for ignoring martian IP packets
Jeffrey Guttenfelder <guttenfelder@sourceforge.net>
- Code for pausing/restarting tcpreplay via signals.
John Carlson
- Patch for improved timerdiv() accuracy
Frey Kuo <kero@3sheep.com>
- Patch to replace pause option with packets/sec
Seth Robertson (seth at sysd dot com)
- Patch to allow replaying of live traffic
Nick Mathewson <nickm@freehaven.net>
- Kindly giving me his BSD licensed implimentation of poll()
using select() so I don't have to worry about cross platform
issues.
Denis McLaughlin <denism@cyberus.ca>
- Patch to allow TCP/UDP port translation
Andrew Edgecombe <andrew.edgecombe@nec.com.au>
- Patch to support caching pcap files in memory when looping
which provides a significant performance improvement
- Patch to fix issue with -M option
Joerg Mayer <jmayer@loplof.de>
- Patch for auto* to fix various warnings & errors
Jim West <jim_west@agilent.com>
- Patch to fix Solaris compiling issues
Bojan Smojver <bojan@rexursive.com>
- For maintaining the RPM package and helping with portability issues
Stas Grabois <sagig@radware.com>
- For his efforts to add IPv6 support to tcpprep and the tcpedit engine
- For adding IPv6 support to fragroute

61
docs/HACKING Normal file
View File

@@ -0,0 +1,61 @@
$Id: HACKING 1782 2007-04-02 04:21:30Z aturner $
Guide to Hacking Tcpreplay
[Note: Pay attention to the last update date at the top of this file. If it
was significantly long ago, this document may be out of date.]
0. Contributing Code
If you contribute code the following will happen:
a) You will be given credit in the CREDITS file
b) Your code will be licensed under the same license as that of tcpreplay
c) You will be assigning your copyright to me- Aaron Turner
If you have any questions regarding any of the three above stipulations,
feel free to email the list at: tcpreplay-users@lists.sourceforge.net
1. Introduction
If you're reading this to find out how to add a new feature or fix a bug in
tcpreplay or tcpprep, then you've come to the right place. This isn't the
place to find answers regarding how to use tcpreplay, the meaning of life,
etc.
2. File Layout
The file layout is pretty simple:
/ - Base directory
/lib - 3rd party libraries stolen verbatim
/libopts - GNU AutoOpts tearoff
/src - Main code routines
/src/common - Common routines for all binaries
/src/tcpedit - libtcpedit
/docs - Where to find documentation
/test - Test scripts and stuff which is used during 'make test'
3. Coding Standards
1) Indent 4 spaces using spaces, not tabs
2) Opening braces for control blocks (if, while, etc) should be on the same line
3) Opening braces for functions should be on next line
4) Use provided warnx, dbg, and errx functions provided in err.h
5) Use provided safe_strdup, safe_malloc and safe_realloc functions provided
in common/utils.h
6) Use provided strl* functions in lib/strlcat.c and lib/strlcpy.c
4. Adding support for additional DLTs (Data Link Types)
libtcpedit supports a plugin based architecture for handling different DLT
types. If you wish to add support for another DLT type, you should read:
http://tcpreplay.synfin.net/trac/wiki/tcpeditDeveloper
Which contains information on creating new DLT plugins.
5. Hacking tcprewrite
Tcprewrite is basically a front-end to libtcpedit. Hence any packet editing
improvements should be done there. However, please remember that tcprewrite
is not the only application which uses libtcpedit (tcpbridge is another
example) so make sure you test your code there too.

6
docs/INSTALL Normal file
View File

@@ -0,0 +1,6 @@
$Id: INSTALL 1762 2007-03-24 20:42:05Z aturner $
NOTE: This information is out of date. Please see the tcpreplay wiki
for updated information:
http://tcpreplay.synfin.net/trac/wiki/manual#GettingTcpreplayInstalled

31
docs/LICENSE Normal file
View File

@@ -0,0 +1,31 @@
$Id: LICENSE 2441 2010-03-30 03:21:52Z aturner $
Copyright (c) 2001-2010 Aaron Turner. aturner at synfin dot net
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. Neither the names of the copyright owners nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
This product includes software developed by the University of California,
Berkeley, Lawrence Berkeley Laboratory and its contributors.

41
docs/Makefile.am Normal file
View File

@@ -0,0 +1,41 @@
MAKEFLAGS=-s
.PHONY: manpages
docs: clean-docs manpages
web/tcpreplay.html:
@GROFF@ -Thtml -mman ../src/tcpreplay.1 > web/tcpreplay.html
web/tcpprep.html:
@GROFF@ -Thtml -mman ../src/tcpprep.1 > web/tcpprep.html
web/tcprewrite.html:
@GROFF@ -Thtml -mman ../src/tcprewrite.1 > web/tcprewrite.html
web/tcpbridge.html:
@GROFF@ -Thtml -mman ../src/tcpbridge.1 > web/tcpbridge.html
web/tcpreplay-edit.html:
@GROFF@ -Thtml -mman ../src/tcpreplay-edit.1 > web/tcpreplay-edit.html
manpages: web/tcpreplay.html web/tcpprep.html web/tcprewrite.html \
web/tcpbridge.html web/tcpreplay-edit.html
postweb: manpages
rsync -qe ssh --exclude '.svn/' --exclude '/**/.svn/' --exclude '/**~' \
--exclude '*~' -avz web/ \
aturner@malbec.synfin.net:/var/vhosts/tcpreplay/
scp CHANGELOG TODO aturner@malbec.synfin.net:/var/vhosts/tcpreplay/
EXTRA_DIST = CHANGELOG CREDIT HACKING INSTALL LICENSE Win32Readme.txt
clean-docs: clean
-rm -f web/*.html
maintainer-clean-local: clean-docs
-rm -f web/*.html
MAINTAINERCLEANFILES = Makefile.in

422
docs/Makefile.in Normal file
View File

@@ -0,0 +1,422 @@
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
subdir = docs
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in INSTALL TODO
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/libopts/m4/libopts.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/src/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOGEN = @AUTOGEN@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CUT = @CUT@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DMALLOC_LIB = @DMALLOC_LIB@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GREP = @GREP@
GROFF = @GROFF@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LDNETINC = @LDNETINC@
LDNETLIB = @LDNETLIB@
LIBOBJS = @LIBOBJS@
LIBOPTS_CFLAGS = @LIBOPTS_CFLAGS@
LIBOPTS_DIR = @LIBOPTS_DIR@
LIBOPTS_LDADD = @LIBOPTS_LDADD@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LNAVLIB = @LNAVLIB@
LNAV_CFLAGS = @LNAV_CFLAGS@
LN_S = @LN_S@
LPCAPINC = @LPCAPINC@
LPCAPLIB = @LPCAPLIB@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PCAP_BPF_H_FILE = @PCAP_BPF_H_FILE@
PRINTF = @PRINTF@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
TCPREPLAY_RELEASE = @TCPREPLAY_RELEASE@
TCPREPLAY_VERSION = @TCPREPLAY_VERSION@
VERSION = @VERSION@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
debug_flag = @debug_flag@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
nic1 = @nic1@
nic2 = @nic2@
oldincludedir = @oldincludedir@
pcncfg = @pcncfg@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
tcpdump_path = @tcpdump_path@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
MAKEFLAGS = -s
EXTRA_DIST = CHANGELOG CREDIT HACKING INSTALL LICENSE Win32Readme.txt
MAINTAINERCLEANFILES = Makefile.in
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu docs/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
clean: clean-am
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am:
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic \
maintainer-clean-local
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am:
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
distclean distclean-generic distclean-libtool distdir dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-dvi install-dvi-am \
install-exec install-exec-am install-html install-html-am \
install-info install-info-am install-man install-pdf \
install-pdf-am install-ps install-ps-am install-strip \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic maintainer-clean-local mostlyclean \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
uninstall uninstall-am
.PHONY: manpages
docs: clean-docs manpages
web/tcpreplay.html:
@GROFF@ -Thtml -mman ../src/tcpreplay.1 > web/tcpreplay.html
web/tcpprep.html:
@GROFF@ -Thtml -mman ../src/tcpprep.1 > web/tcpprep.html
web/tcprewrite.html:
@GROFF@ -Thtml -mman ../src/tcprewrite.1 > web/tcprewrite.html
web/tcpbridge.html:
@GROFF@ -Thtml -mman ../src/tcpbridge.1 > web/tcpbridge.html
web/tcpreplay-edit.html:
@GROFF@ -Thtml -mman ../src/tcpreplay-edit.1 > web/tcpreplay-edit.html
manpages: web/tcpreplay.html web/tcpprep.html web/tcprewrite.html \
web/tcpbridge.html web/tcpreplay-edit.html
postweb: manpages
rsync -qe ssh --exclude '.svn/' --exclude '/**/.svn/' --exclude '/**~' \
--exclude '*~' -avz web/ \
aturner@malbec.synfin.net:/var/vhosts/tcpreplay/
scp CHANGELOG TODO aturner@malbec.synfin.net:/var/vhosts/tcpreplay/
clean-docs: clean
-rm -f web/*.html
maintainer-clean-local: clean-docs
-rm -f web/*.html
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

151
docs/TODO Normal file
View File

@@ -0,0 +1,151 @@
This is a general list of things which should/could/may be done.
If any of these features interest you let me know- especially if you're
willing and able to help code it. In general, higher priority tasks are
tracked on the tcpreplay website: http://tcpreplay.synfin.net/
Legend:
- = Not started
+ = Done
O = Mostly done
o = Started work
. = Canceled
? = To think about
GENERAL:
+ Improve config file format
+ better variable names
+ use "var: value" format
+ have tcpreplay, tcpprep, tcprewrite sections
+ Being solved using GNU AutoOpts
+ Improve autoconf detection of libraries
+ Re-organize source tree
+ tcpdump decoder should print packets syncronously w/ the main process
+ Better use of GNU Autotools
+ Improve CLI/config file parsing
+ Only tcpreplay/tcpbridge should need to run as root.
+ Tcpreplay should use raw sockets or BPF directly for writing rather then
libnet where applicable for theoretically higher performance.
- Detect system version of libopts b/c we need a recent version
+ Generalize packet editing and printing code so it can be shipped as a
seperate library and plugged into tcpreplay/tcprewrite/flowreplay/etc
+ See about removing libnet_init() from all binaries other then tcprewrite
so we don't have to run as root:
. libnet_addr2name4 (ignore, doesn't require libnet_t context)
+ libnet_name2addr4
+ libnet_get_hwaddr
+ libnet_do_checksum
TCPREPLAY:
. Add support for dual-nic send on one intf, wait for packet, send next.
would be really useful for testing the effectiveness of how well an IPS
detects and blocks attacks. (TP's tomahawk does this even better then
described here, so why re-invent the wheel?)
- Rewrite do_sleep() to handle sub sleep times by only nanosleep()'ing
once for multiple packets when the timestamps are close enough. We
also need to time nanosleep, since different architectures have lower
minimum sleep times (Linux/Alpha is 1ms vs. 10ms for Linux/x86)
+ Tcpreplay should say which interface each packet is going out
TCPBRIDGE:
- Duplicate all tcprewrite functionality
TCPREWRITE:
- Support fragrouter like features
- basic IP fragmenation
- TCP fudging
- then more advanced stuff
- Can we integrate FR's code?
+ Look at VLAN (802.1q) packets
- others non-vanilla types?
+ Add tags? Remove tags? Change tags?
- Tag only one side of the connection
- Support Q-in-Q tags:
http://www.informit.com/articles/article.asp?p=101367&rl=1
- Cisco's ISL trunking?
- Add support for MPLS
- Add support for GRE
http://www.linuxguruz.com/iptables/howto/2.4routing-5.html
Perhaps this should be done via the hardware interface rather then the GRE
virtual interface since libnet doesn't support the GRE virtual
+ Add support for setting the ethernet protocol field so we can use
-I, -K to fill out an entire ethernet header w/o using -2
+ Add a secondary interface full layer two rewrite option
+ Fix MAC rewriting to allow sending packets with a MAC of 00:00:00:00:00:00
- Add support for more linktypes (Prism Monitor, 802.11, FDDI, etc)
+ Make it easier for others to add support for others
+ Rip out packet munger from tcpreplay and put it into another tool so
that tcpreplay can be more optimized
? perhaps use libnetdude?
? make into a library?
+ definately put it into a seperate binary (tcprewrite)
- Add the ability to modify packet data via regex(es) in tcprewrite
- Should support pcre
- Support (foo) and $1, etc so new data can include old
- Limit matching which packets via BPF filter and tcpprep cache
(client/server)
- Step through packets ala tcpreplay and provide option to edit (Y/n)
- Support connection tracking and generating 3way handshake for connections
missing them.
- Bump Syn/Ack numbers by a pseudo random or given value so that running
the same pcap will behave as different streams.
- IPv6 support? People ask for this every few months, but nobody actually
says they "need" or "really want" it; seems more of "gee, wouldn't it be
nice". What does that mean anyways???
- tcprewrite should be able to remove the two byte ethernet FCS (checksums)
at the end of the frame.
+ Support randomization of IP addresses in ARP packets
- Add support for rewriting MAC addresses in the ARP body for
tcprewrite/tcpbridge to allow proxy-arp like behaviour
- Add support for IP fragmenting frames which are > MTU
TCPPREP:
+ When splitting traffic via tcpprep print out each packet (tcpdump style)
so end users know where each packet is going
FLOWREPLAY:
- Improve flowreplay so it actually works
. Use libnids to read the pcaps. This seems DOA at this time since
libnids is GPL and the author is unwilling to make it support multiple
threads which flowreplay probably needs to be. The only other option is
a major rewrite which would break API compatibility. Doesn't seem worth
it.
- Allow handoff to a socket after user specified client/server exchanges
- Perhaps integrate stick/snot/fpg logic into flowreplay:
http://www.geschke-online.de/FLoP/fpg.8.html
to do full 3way handshakes

106
docs/Win32Readme.txt Normal file
View File

@@ -0,0 +1,106 @@
$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!