Changeset 1511

Show
Ignore:
Timestamp:
07/16/06 21:28:20 (2 years ago)
Author:
aturner
Message:

just commit what i've got so i can release
refs #30

Location:
trunk/docs
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • trunk/docs/FAQ.lyx

    r1207 r1511  
    1 #LyX 1.3 created this file. For more info see http://www.lyx.org/ 
    2 \lyxformat 221 
     1#LyX 1.4.0 created this file. For more info see http://www.lyx.org/ 
     2\lyxformat 245 
     3\begin_document 
     4\begin_header 
    35\textclass article 
    46\language english 
     
    79\graphics default 
    810\paperfontsize default 
    9 \spacing single  
     11\spacing single 
    1012\papersize letterpaper 
    11 \paperpackage a4 
    12 \use_geometry 1 
    13 \use_amsmath 0 
    14 \use_natbib 0 
    15 \use_numerical_citations 0 
     13\use_geometry true 
     14\use_amsmath 1 
     15\cite_engine basic 
     16\use_bibtopic false 
    1617\paperorientation portrait 
    1718\leftmargin 10mm 
     
    2425\defskip medskip 
    2526\quotes_language english 
    26 \quotes_times 2 
    2727\papercolumns 1 
    2828\papersides 1 
    2929\paperpagestyle default 
    30  
    31 \layout Title 
    32  
     30\tracking_changes false 
     31\output_changes true 
     32\end_header 
     33 
     34\begin_body 
     35 
     36\begin_layout Title 
    3337Tcpreplay 3.x FAQ 
    34 \layout Author 
    35  
     38\end_layout 
     39 
     40\begin_layout Author 
    3641Aaron Turner 
    37 \newline  
     42\newline 
    3843http://tcpreplay.sourceforge.net/ 
    39 \layout Standard 
    40 \pagebreak_top \pagebreak_bottom  
     44\end_layout 
     45 
     46\begin_layout Standard 
     47 
     48\newpage 
    4149 
    4250\begin_inset LatexCommand \tableofcontents{} 
    4351 
    44 \end_inset  
    45  
    46  
    47 \layout Section 
    48  
     52\end_inset 
     53 
     54 
     55\newpage 
     56 
     57\end_layout 
     58 
     59\begin_layout Section 
    4960General Info 
    50 \layout Subsection 
    51  
     61\end_layout 
     62 
     63\begin_layout Subsection 
    5264What is this FAQ for? 
    53 \layout Standard 
    54  
     65\end_layout 
     66 
     67\begin_layout Standard 
    5568Tcpreplay is a suite of powerful tools, but with that power comes complexity. 
    5669 While I have done my best to write good man pages for tcpreplay and it's 
     
    6073 of use to people using tcpreplay, as well as common questions that occur 
    6174 on the Tcpreplay-Users <tcpreplay-users@lists.sourceforge.net> mailing list. 
    62 \layout Subsection 
    63  
     75\end_layout 
     76 
     77\begin_layout Subsection 
    6478What tools come with tcpreplay? 
    65 \layout Itemize 
    66  
     79\end_layout 
     80 
     81\begin_layout Itemize 
    6782tcpreplay - replay ethernet packets stored in a pcap file as they were captured 
    6883  
    69 \layout Itemize 
    70  
     84\end_layout 
     85 
     86\begin_layout Itemize 
    7187tcprewrite - edit packets stored in a pcap file 
    72 \layout Itemize 
    73  
     88\end_layout 
     89 
     90\begin_layout Itemize 
    7491tcpprep - a pcap pre-processor for tcpreplay 
    75 \layout Itemize 
    76  
     92\end_layout 
     93 
     94\begin_layout Itemize 
    7795flowreplay 
    7896\begin_inset Foot 
    79 collapsed true 
    80  
    81 \layout Standard 
    82  
     97status collapsed 
     98 
     99\begin_layout Standard 
    83100Flowreplay is still  
    84101\begin_inset Quotes eld 
    85 \end_inset  
     102\end_inset 
    86103 
    87104alpha 
    88105\begin_inset Quotes erd 
    89 \end_inset  
     106\end_inset 
    90107 
    91108 quality and is not usable for most situations. 
    92109 Anyone interested in helping me develop flowreplay is encouraged to contact 
    93110 me. 
    94 \end_inset  
     111\end_layout 
     112 
     113\end_inset 
    95114 
    96115 - connects to a server(s) and replays the client side of the connection 
    97116 stored in a pcap file 
    98 \layout Subsection 
    99  
     117\end_layout 
     118 
     119\begin_layout Subsection 
    100120What tools no longer come with Tcpreplay? 
    101 \layout Standard 
    102  
     121\end_layout 
     122 
     123\begin_layout Standard 
    103124Recently, other people and projects have developed better versions of two 
    104  applications that ship with tcpreplay 2.x: 
    105 \layout Itemize 
    106  
     125 applications that shipped with tcpreplay 2.x: 
     126\end_layout 
     127 
     128\begin_layout Itemize 
    107129pcapmerge - merges two or more pcap files into one. 
    108130 Ethereal now ships with a more powerful appliation called 'mergecap'. 
    109 \layout Itemize 
    110  
     131\end_layout 
     132 
     133\begin_layout Itemize 
    111134capinfo - displays basic information about a pcap file. 
    112135 Ethereal now ships with a more powerful application of the same name. 
    113 \layout Subsection 
    114  
     136\end_layout 
     137 
     138\begin_layout Subsection 
    115139How can I get tcpreplay's source? 
    116 \layout Standard 
    117  
     140\end_layout 
     141 
     142\begin_layout Standard 
    118143The source code is available in tarball format on the tcpreplay homepage: 
    119144  
    120145\begin_inset LatexCommand \htmlurl{http://tcpreplay.sourceforge.net/} 
    121146 
    122 \end_inset  
     147\end_inset 
    123148 
    124149 I also encourage users familiar with Subversion to try checking out the 
    125150 latest code as it often has additional features and bugfixes not found 
    126151 in the tarballs. 
    127 \layout Standard 
    128  
    129 svn checkout https://www.synfin.net:444/svn/tcpreplay/trunk tcpreplay 
    130 \layout Subsection 
    131  
     152\end_layout 
     153 
     154\begin_layout Standard 
     155svn checkout https://www.synfin.net/svn/tcpreplay/trunk tcpreplay 
     156\end_layout 
     157 
     158\begin_layout Subsection 
    132159What requirements does tcpreplay have? 
    133 \layout Enumerate 
    134  
     160\end_layout 
     161 
     162\begin_layout Enumerate 
    135163You'll need recent versions of the libnet 
    136164\begin_inset Foot 
    137 collapsed true 
    138  
    139 \layout Standard 
    140  
     165status collapsed 
     166 
     167\begin_layout Standard 
    141168http://www.packetfactory.net/libnet/ 
    142 \end_inset  
     169\end_layout 
     170 
     171\end_inset 
    143172 
    144173 and libpcap 
    145174\begin_inset Foot 
    146 collapsed true 
    147  
    148 \layout Standard 
    149  
     175status collapsed 
     176 
     177\begin_layout Standard 
    150178http://www.tcpdump.org/ 
    151 \end_inset  
     179\end_layout 
     180 
     181\end_inset 
    152182 
    153183 libraries. 
    154 \layout Enumerate 
    155  
     184\end_layout 
     185 
     186\begin_layout Enumerate 
    156187To support the packet decoding feature you'll need tcpdump 
    157188\begin_inset Foot 
    158 collapsed true 
    159  
    160 \layout Standard 
    161  
     189status collapsed 
     190 
     191\begin_layout Standard 
    162192http://www.tcpdump.org/ 
    163 \end_inset  
     193\end_layout 
     194 
     195\end_inset 
    164196 
    165197 installed. 
    166 \layout Enumerate 
    167  
     198\end_layout 
     199 
     200\begin_layout Enumerate 
    168201You'll also need a compatible operating system. 
    169202 Basically, any UNIX-like or UNIX-based operating system should work. 
     
    171204 If you find any compatibility issues with any UNIX-like/based OS, please 
    172205 let me know. 
    173 \layout Subsection 
    174  
     206\end_layout 
     207 
     208\begin_layout Subsection 
    175209Are there binaries available? 
    176 \layout Standard 
    177  
     210\end_layout 
     211 
     212\begin_layout Standard 
    178213The tcpreplay project does not maintain binaries for any platforms. 
    179214 However some operating systems such as Debian GNU/Linux (apt-get) and OS 
    180215 X (fink) have packages available. 
    181216 Try searching on Google. 
    182 \layout Subsection 
    183  
     217\end_layout 
     218 
     219\begin_layout Subsection 
    184220Is there a Microsoft Windows port? 
    185 \layout Standard 
    186  
     221\end_layout 
     222 
     223\begin_layout Standard 
    187224Not really. 
    188225 We had one user port the code over for an old version of tcpreplay to Windows. 
     
    195232 Please understand that the Win32 port of tcpreplay comes with no support 
    196233 whatsoever, so if you run into a problem you're on your own. 
    197 \layout Subsection 
    198  
     234\end_layout 
     235 
     236\begin_layout Subsection 
    199237How is tcpreplay licensed? 
    200 \layout Standard 
    201  
     238\end_layout 
     239 
     240\begin_layout Standard 
    202241Tcpreplay is licensed under a three clause BSD-style license. 
    203242 For details see the docs/LICENSE file included with the source code. 
    204 \layout Subsection 
    205  
     243\end_layout 
     244 
     245\begin_layout Subsection 
    206246What is tcpreplay? 
    207 \layout Standard 
    208  
     247\end_layout 
     248 
     249\begin_layout Standard 
    209250In the simplest terms, tcpreplay is a tool to send network traffic stored 
    210251 in pcap format back onto the network; basically the exact opposite of tcpdump. 
    211252 Just to make things more confusing, tcpreplay is also a suite of tools: 
    212253 tcpreplay, tcpprep, tcprewrite and flowreplay. 
    213 \layout Comment 
    214  
     254\end_layout 
     255 
     256\begin_layout Standard 
     257\begin_inset Note Comment 
     258status collapsed 
     259 
     260\begin_layout Standard 
    215261What isn't tcpreplay? 
    216 \layout Comment 
    217  
     262\end_layout 
     263 
     264\begin_layout Standard 
    218265Tcpreplay is  
    219 \emph on  
     266\emph on 
    220267not 
    221 \emph default  
     268\emph default 
    222269 a tool to replay captured traffic to a server or client. 
    223270 Specifically, tcpreplay does not have the ability to rewrite IP addresses 
     
    226273 In other words, tcpreplay can't  
    227274\begin_inset Quotes eld 
    228 \end_inset  
     275\end_inset 
    229276 
    230277connect 
    231278\begin_inset Quotes erd 
    232 \end_inset  
     279\end_inset 
    233280 
    234281 to a server or be used to emulate a server and have clients connect to 
    235282 it. 
    236283 If you're looking for that, check out flowreplay. 
    237 \layout Subsection 
    238  
     284\end_layout 
     285 
     286\end_inset 
     287 
     288 
     289\end_layout 
     290 
     291\begin_layout Subsection 
    239292What are some uses for tcpreplay? 
    240 \layout Standard 
    241  
     293\end_layout 
     294 
     295\begin_layout Standard 
    242296Originally, tcpreplay was written to test network intrusion detection systems 
    243297 (NIDS), however tcpreplay has been used to test firewalls, routers, and 
     
    245299 With the addition of flowreplay, most 
    246300\begin_inset Foot 
    247 collapsed true 
    248  
    249 \layout Standard 
    250  
     301status collapsed 
     302 
     303\begin_layout Standard 
    251304Note the flowreplay does not support protocols such as ftp which use multiple 
    252305 connections. 
    253 \end_inset  
     306\end_layout 
     307 
     308\end_inset 
    254309 
    255310 any udp or tcp service on a server can be tested as well. 
    256 \layout Subsection 
    257  
     311\end_layout 
     312 
     313\begin_layout Subsection 
    258314What are some uses for flowreplay? 
    259 \layout Standard 
    260  
     315\end_layout 
     316 
     317\begin_layout Standard 
    261318A lot of people wanted a tool like tcpreplay, but wanted to be able to replay 
    262319 traffic  
    263 \emph on  
     320\emph on 
    264321to 
    265 \emph default  
     322\emph default 
    266323 a server. 
    267324 Since tcpreplay was unable to do this, I developed flowreplay which replays 
     
    274331 doesn't work very well (some would argue it doesn't work at all) and is 
    275332 currently missing some important features. 
    276 \layout Subsection 
    277  
     333 Feel free to try flowreplay, but unless you're willing and able to contribute, 
     334 don't bother complaining that it doesn't work. 
     335\end_layout 
     336 
     337\begin_layout Subsection 
    278338What is the history of tcpreplay? 
    279 \layout Standard 
    280  
     339\end_layout 
     340 
     341\begin_layout Standard 
    281342Tcpreplay has had quite a few authors over the past five or so years. 
    282343 One of the advantages of the BSD and GPL licenses is that if someone becomes 
    283344 unable or unwilling to continue development, anyone else can take over. 
    284 \layout Standard 
    285  
     345\end_layout 
     346 
     347\begin_layout Standard 
    286348Originally, Matt Undy of Anzen Computing wrote tcpreplay. 
    287349 Matt released version 1.0.1 sometime in 1999. 
    288350 Sometime after that, Anzen Computing was (at least partially) purchased 
    289351 by NFR and development ceased. 
    290 \layout Standard 
    291  
     352\end_layout 
     353 
     354\begin_layout Standard 
    292355Then in 2001, two people independently started work on tcpreplay: Matt Bing 
    293  of NFR and Aaron Turner. 
     356 of NFR and Aaron Turner of OneSecure. 
    294357 After developing a series of patches (the -adt branch), Aaron attempted 
    295358 to send the patches in to be included in the main development tree. 
    296 \layout Standard 
    297  
     359\end_layout 
     360 
     361\begin_layout Standard 
    298362After some discussion between Aaron and Matt Bing, they decided to continue 
    299363 development together. 
    300364 Since then, two major rewrites have occured, and more then thirty new features 
    301365 have been added, including the addition of a number of accessory tools. 
    302 \layout Standard 
    303  
     366\end_layout 
     367 
     368\begin_layout Standard 
    304369Today, Aaron continues active development of the code. 
    305 \layout Section 
    306  
     370\end_layout 
     371 
     372\begin_layout Section 
    307373Bugs, Feature Requests, and Patches 
    308 \layout Subsection 
    309  
     374\end_layout 
     375 
     376\begin_layout Subsection 
    310377Where can I get help, report bugs or contact the developers? 
    311 \layout Standard 
    312  
     378\end_layout 
     379 
     380\begin_layout Standard 
    313381The best place to get help or report a bug is the Tcpreplay-Users mailing 
    314382 list:  
    315 \newline  
     383\newline 
    316384 
    317385\begin_inset LatexCommand \htmlurl{http://lists.sourceforge.net/lists/listinfo/tcpreplay-users} 
    318386 
    319 \end_inset  
    320  
    321  
    322 \layout Subsection 
    323  
     387\end_inset 
     388 
     389 
     390\end_layout 
     391 
     392\begin_layout Standard 
     393Please do not email the author directly as it prevents others from learning 
     394 from your questions. 
     395\end_layout 
     396 
     397\begin_layout Subsection 
    324398What information should I provide when I report a bug? 
    325 \layout Standard 
    326  
     399\end_layout 
     400 
     401\begin_layout Standard 
    327402One of the most frustrating things for any developer trying to help a user 
    328403 with a problem is not enough information. 
    329404 Please be sure to include  
    330 \emph on  
     405\emph on 
    331406at minimum 
    332 \emph default  
     407\emph default 
    333408 the following information, however any additional information you feel 
    334409 may be helpful will be appreciated. 
    335 \layout Itemize 
    336  
     410\end_layout 
     411 
     412\begin_layout Itemize 
    337413Version information (output of -V) 
    338 \layout Itemize 
    339  
     414\end_layout 
     415 
     416\begin_layout Itemize 
    340417Command line used (options and arguments) 
    341 \layout Itemize 
    342  
     418\end_layout 
     419 
     420\begin_layout Itemize 
    343421Platform (Red Hat Linux 9 on Intel, Solaris 7 on SPARC, etc) 
    344 \layout Itemize 
    345  
     422\end_layout 
     423 
     424\begin_layout Itemize 
    346425Error message (if available) and/or description of problem 
    347 \layout Itemize 
    348  
     426\end_layout 
     427 
     428\begin_layout Itemize 
    349429If possible, attach the pcap file used (compressed with bzip2 or gzip preferred) 
    350 \layout Itemize 
    351  
     430\end_layout 
     431 
     432\begin_layout Itemize 
    352433The core dump or backtrace if available 
    353 \layout Subsection 
    354  
     434\end_layout 
     435 
     436\begin_layout Subsection 
    355437I have a feature request, what should I do? 
    356 \layout Standard 
    357  
     438\end_layout 
     439 
     440\begin_layout Standard 
    358441Let us know! Many of the features exist today because users like you asked 
    359442 for them. 
    360  To make a feature request, you can either email the tcpreplay-users mailing 
    361  list (see above) or fill out the feature request form on the tcpreplay 
    362  SourceForge website. 
    363 \layout Subsection 
    364  
     443 To make a feature request, email the tcpreplay-users mailing list (see 
     444 above). 
     445\end_layout 
     446 
     447\begin_layout Subsection 
    365448I've written a patch for tcpreplay, how can I submit it? 
    366 \layout Standard 
    367  
     449\end_layout 
     450 
     451\begin_layout Standard 
    368452I'm always willing to include new features or bug fixes submitted by users. 
    369453 You may email me directly or the tcpreplay-users mailing list. 
    370454 Please  
    371 \emph on  
     455\emph on 
    372456do not 
    373 \emph default  
     457\emph default 
    374458 use the Patch Tracker on the tcpreplay SourceForge web site. 
    375459 But before you start working on adding a feature or fixing a bug in tcpreplay, 
     
    378462 Patches against released versions are almost surely not going to apply 
    379463 cleanly if at all. 
    380 \layout Subsection 
    381  
     464\end_layout 
     465 
     466\begin_layout Subsection 
    382467Patch requirements 
    383 \layout Itemize 
    384  
     468\end_layout 
     469 
     470\begin_layout Itemize 
    385471Be aware that submitting a patch,  
    386 \emph on  
     472\emph on 
    387473you are assigning your copyright to me. 
    388474 
    389 \emph default  
     475\emph default 
    390476 If this is not acceptable to you, then  
    391 \emph on  
     477\emph on 
    392478do not 
    393 \emph default  
     479\emph default 
    394480 send me the patch! I have people assign their copyright to me to help prevent 
    395481 licensing issues that may crop up in the future. 
    396 \layout Itemize 
    397  
     482\end_layout 
     483 
     484\begin_layout Itemize 
    398485Please provide a description of what your patch does! 
    399 \layout Itemize 
    400  
     486\end_layout 
     487 
     488\begin_layout Itemize 
    401489Comment your code! I won't use code I can't understand. 
    402 \layout Itemize 
    403  
     490\end_layout 
     491 
     492\begin_layout Itemize 
    404493Make sure you are patching a branch that is still being maintained. 
    405494 Generally that means that most recent stable and development branches (2.0 
    406495 and 3.0 at the time of this writing). 
    407 \layout Itemize 
    408  
     496\end_layout 
     497 
     498\begin_layout Itemize 
    409499Make sure you are patching against the most recent release for that branch. 
    410 \layout Itemize 
    411  
    412 Please submit your patch in the unified diff format so I can better understand 
    413  what you're changing. 
    414 \layout Itemize 
    415  
     500\end_layout 
     501 
     502\begin_layout Itemize 
     503Please submit your patch in the  
     504\emph on 
     505unified diff  
     506\emph default 
     507format so I can better understand what you're changing. 
     508\end_layout 
     509 
     510\begin_layout Itemize 
    416511Please provide any relevant personal information you'd like listed in the 
    417512 CREDITS file. 
    418 \layout Standard 
    419  
     513\end_layout 
     514 
     515\begin_layout Standard 
    420516Please note that while I'm always interested in patches, I may rewrite some 
    421517 or all of your submission to maintain a consistent coding style. 
    422 \layout Section 
    423  
     518\end_layout 
     519 
     520\begin_layout Section 
    424521Understanding tcpprep 
    425 \layout Subsection 
    426  
     522\end_layout 
     523 
     524\begin_layout Subsection 
    427525What is tcpprep? 
    428 \layout Standard 
    429  
     526\end_layout 
     527 
     528\begin_layout Standard 
    430529Tcpreplay can send traffic out two network cards, however it requires the 
    431530 calculations be done in real-time. 
    432531 These calculations can be expensive and can significantly reduce the throughput 
    433532 of tcpreplay. 
    434 \layout Standard 
    435  
     533\end_layout 
     534 
     535\begin_layout Standard 
    436536Tcpprep is a libpcap pre-processor for tcpreplay which enables using two 
    437537 network cards to send traffic without the performance hit of doing the 
    438538 calculations in real-time. 
    439 \layout Subsection 
    440  
     539\end_layout 
     540 
     541\begin_layout Subsection 
    441542How does tcpprep work?  
    442 \layout Standard 
    443  
     543\end_layout 
     544 
     545\begin_layout Standard 
    444546Tcpprep reads in a libpcap (tcpdump) formatted capture file and does some 
    445547 processing to generate a tcpreplay cache file. 
     
    447549 sent out of. 
    448550  
    449 \layout Subsection 
    450  
     551\end_layout 
     552 
     553\begin_layout Subsection 
    451554Does tcpprep modify my libpcap file? 
    452 \layout Standard 
    453  
     555\end_layout 
     556 
     557\begin_layout Standard 
    454558No. 
    455559