File: tcpreplay.1

package info (click to toggle)
tcpreplay 4.3.3-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 9,372 kB
  • sloc: ansic: 32,945; sh: 4,377; makefile: 1,124; perl: 138
file content (535 lines) | stat: -rw-r--r-- 18,314 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
.de1 NOP
.  it 1 an-trap
.  if \\n[.$] \,\\$*\/
..
.ie t \
.ds B-Font [CB]
.ds I-Font [CI]
.ds R-Font [CR]
.el \
.ds B-Font B
.ds I-Font I
.ds R-Font R
.TH tcpreplay 1 "14 Jun 2020" "tcpreplay" "User Commands"
.\"
.\" DO NOT EDIT THIS FILE (in-mem file)
.\"
.\" It has been AutoGen-ed
.\" From the definitions tcpreplay_opts.def
.\" and the template file agman-cmd.tpl
.SH NAME
\f\*[B-Font]tcpreplay\fP
\- Replay network traffic stored in pcap files
.SH SYNOPSIS
\f\*[B-Font]tcpreplay\fP
.\" Mixture of short (flag) options and long options
[\f\*[B-Font]\-flags\f[]]
[\f\*[B-Font]\-flag\f[] [\f\*[I-Font]value\f[]]]
[\f\*[B-Font]\-\-option-name\f[][[=| ]\f\*[I-Font]value\f[]]]
<pcap_file(s)>
.sp \n(Ppu
.ne 2

tcpreplay is a tool for replaying network traffic from files saved with
tcpdump or other tools which write pcap(3) files.
.SH "DESCRIPTION"
The basic operation of tcpreplay is to resend  all  packets  from  the
input file(s) at the speed at which they were recorded, or a specified 
data rate, up to as fast as the hardware is capable.
.sp
Optionally, the traffic can be split between two interfaces, written to
files, filtered and edited in various ways, providing the means to test
firewalls, NIDS and other network devices.
.sp
For more details, please see the Tcpreplay Manual at:
http://tcpreplay.appneta.com
.SH "OPTIONS"
.TP
.NOP \f\*[B-Font]\-d\f[] \f\*[I-Font]number\f[], \f\*[B-Font]\-\-dbug\f[]=\f\*[I-Font]number\f[]
Enable debugging output.
This option may appear up to 1 times.
This option takes an integer number as its argument.
The value of
\f\*[I-Font]number\f[]
is constrained to being:
.in +4
.nf
.na
in the range  0 through 5
.fi
.in -4
The default
\f\*[I-Font]number\f[]
for this option is:
.ti +4
 0
.sp
If configured with \--enable-debug, then you can specify a verbosity 
level for debugging output.  Higher numbers increase verbosity.
.TP
.NOP \f\*[B-Font]\-q\f[], \f\*[B-Font]\-\-quiet\f[]
Quiet mode.
.sp
Print nothing except the statistics at the end of the run
.TP
.NOP \f\*[B-Font]\-T\f[] \f\*[I-Font]string\f[], \f\*[B-Font]\-\-timer\f[]=\f\*[I-Font]string\f[]
Select packet timing mode: select, ioport, gtod, nano.
This option may appear up to 1 times.
The default
\f\*[I-Font]string\f[]
for this option is:
.ti +4
 gtod
.sp
Allows you to select the packet timing method to use:
.sp
.IR "nano"
- Use nanosleep() API
.sp
.IR "select"
- Use select() API
.sp
.IR "ioport"
- Write to the i386 IO Port 0x80
.sp
.IR "gtod [default]"
- Use a gettimeofday() loop
.br
.TP
.NOP \f\*[B-Font]\-\-maxsleep\f[]=\f\*[I-Font]number\f[]
Sleep for no more then X milliseconds between packets.
This option takes an integer number as its argument.
The default
\f\*[I-Font]number\f[]
for this option is:
.ti +4
 0
.sp
Set a limit for the maximum number of milliseconds that tcpreplay will sleep
between packets.  Effectively prevents long delays between packets without
effecting the majority of packets.  Default is disabled.
.TP
.NOP \f\*[B-Font]\-v\f[], \f\*[B-Font]\-\-verbose\f[]
Print decoded packets via tcpdump to STDOUT.
This option may appear up to 1 times.
.sp
.TP
.NOP \f\*[B-Font]\-A\f[] \f\*[I-Font]string\f[], \f\*[B-Font]\-\-decode\f[]=\f\*[I-Font]string\f[]
Arguments passed to tcpdump decoder.
This option may appear up to 1 times.
This option must appear in combination with the following options:
verbose.
.sp
When enabling verbose mode (\fB-v\fP) you may also specify one or more
additional  arguments to pass to \fBtcpdump\fP to modify the way packets
are decoded.  By default, \-n and \-l are used.   Be  sure  to
quote the arguments like: \-A "-axxx" so that they are not interpreted
by tcpreplay.   Please see the tcpdump(1) man page for a complete list of 
options.
.TP
.NOP \f\*[B-Font]\-K\f[], \f\*[B-Font]\-\-preload\-pcap\f[]
Preloads packets into RAM before sending.
.sp
This option loads the specified pcap(s) into RAM before starting to send in order
to improve replay performance while introducing a startup performance hit.
Preloading can be used with or without \fB--loop\fP. This option also suppresses
flow statistics collection for every iteration, which can significantly reduce
memory usage. Flow statistics are predicted based on options supplied and
statistics collected from the first loop iteration.
.TP
.NOP \f\*[B-Font]\-c\f[] \f\*[I-Font]string\f[], \f\*[B-Font]\-\-cachefile\f[]=\f\*[I-Font]string\f[]
Split traffic via a tcpprep cache file.
This option may appear up to 1 times.
This option must appear in combination with the following options:
intf2.
This option must not appear in combination with any of the following options:
dualfile.
.sp
If you have a pcap file you would like to use to send bi-directional
traffic through a device (firewall, router, IDS, etc) then using tcpprep
you can create a cachefile which tcpreplay will use to split the traffic
across two network interfaces.
.TP
.NOP \f\*[B-Font]\-2\f[], \f\*[B-Font]\-\-dualfile\f[]
Replay two files at a time from a network tap.
This option may appear up to 1 times.
This option must appear in combination with the following options:
intf2.
This option must not appear in combination with any of the following options:
cachefile.
.sp
If you captured network traffic using a network tap, then you can end up with
two pcap files- one for each direction.  This option will replay these two
files at the same time, one on each interface and inter-mix them using the 
timestamps in each.
.TP
.NOP \f\*[B-Font]\-i\f[] \f\*[I-Font]string\f[], \f\*[B-Font]\-\-intf1\f[]=\f\*[I-Font]string\f[]
Client to server/RX/primary traffic output interface.
This option may appear up to 1 times.
.sp
Required network interface used to send either all traffic or traffic which is 
marked as 'primary' via tcpprep.  Primary traffic is usually client-to-server 
or inbound (RX) on khial virtual interfaces.
.TP
.NOP \f\*[B-Font]\-I\f[] \f\*[I-Font]string\f[], \f\*[B-Font]\-\-intf2\f[]=\f\*[I-Font]string\f[]
Server to client/TX/secondary traffic output interface.
This option may appear up to 1 times.
.sp
Optional network interface used to send traffic which is marked as 'secondary' 
via tcpprep.  Secondary traffic is usually server-to-client or outbound 
(TX) on khial virtual interfaces.  Generally, it only makes sense to use this
option with \--cachefile.
.TP
.NOP \f\*[B-Font]\-\-listnics\f[]
List available network interfaces and exit.
.sp
.TP
.NOP \f\*[B-Font]\-l\f[] \f\*[I-Font]number\f[], \f\*[B-Font]\-\-loop\f[]=\f\*[I-Font]number\f[]
Loop through the capture file X times.
This option may appear up to 1 times.
This option takes an integer number as its argument.
The value of
\f\*[I-Font]number\f[]
is constrained to being:
.in +4
.nf
.na
greater than or equal to 0
.fi
.in -4
The default
\f\*[I-Font]number\f[]
for this option is:
.ti +4
 1
.sp
.TP
.NOP \f\*[B-Font]\-\-loopdelay\-ms\f[]=\f\*[I-Font]number\f[]
Delay between loops in milliseconds.
This option must appear in combination with the following options:
loop.
This option takes an integer number as its argument.
The value of
\f\*[I-Font]number\f[]
is constrained to being:
.in +4
.nf
.na
greater than or equal to 0
.fi
.in -4
The default
\f\*[I-Font]number\f[]
for this option is:
.ti +4
 0
.sp
.TP
.NOP \f\*[B-Font]\-\-pktlen\f[]
Override the snaplen and use the actual packet len.
This option may appear up to 1 times.
.sp
By default, tcpreplay will send packets based on the size of the "snaplen"
stored in the pcap file which is usually the correct thing to do.  However,
occasionally, tools will store more bytes then told to.  By specifying this
option, tcpreplay will ignore the snaplen field and instead try to send
packets based on the original packet length.  Bad things may happen if
you specify this option.
.TP
.NOP \f\*[B-Font]\-L\f[] \f\*[I-Font]number\f[], \f\*[B-Font]\-\-limit\f[]=\f\*[I-Font]number\f[]
Limit the number of packets to send.
This option may appear up to 1 times.
This option takes an integer number as its argument.
The value of
\f\*[I-Font]number\f[]
is constrained to being:
.in +4
.nf
.na
greater than or equal to 1
.fi
.in -4
The default
\f\*[I-Font]number\f[]
for this option is:
.ti +4
 \-1
.sp
By default, tcpreplay will send all the packets.  Alternatively, you can 
specify a maximum number of packets to send.  
.TP
.NOP \f\*[B-Font]\-\-duration\f[]=\f\*[I-Font]number\f[]
Limit the number of seconds to send.
This option may appear up to 1 times.
This option takes an integer number as its argument.
The value of
\f\*[I-Font]number\f[]
is constrained to being:
.in +4
.nf
.na
greater than or equal to 1
.fi
.in -4
The default
\f\*[I-Font]number\f[]
for this option is:
.ti +4
 \-1
.sp
By default, tcpreplay will send all the packets.  Alternatively, you can
specify a maximum number of seconds to transmit.
.TP
.NOP \f\*[B-Font]\-x\f[] \f\*[I-Font]string\f[], \f\*[B-Font]\-\-multiplier\f[]=\f\*[I-Font]string\f[]
Modify replay speed to a given multiple.
This option may appear up to 1 times.
This option must not appear in combination with any of the following options:
pps, mbps, oneatatime, topspeed.
.sp
Specify a value to modify the packet replay speed.
Examples:
.nf
        2.0 will replay traffic at twice the speed captured
        0.7 will replay traffic at 70% the speed captured
.fi
.TP
.NOP \f\*[B-Font]\-p\f[] \f\*[I-Font]string\f[], \f\*[B-Font]\-\-pps\f[]=\f\*[I-Font]string\f[]
Replay packets at a given packets/sec.
This option may appear up to 1 times.
This option must not appear in combination with any of the following options:
multiplier, mbps, oneatatime, topspeed.
.sp
Specify a value to regulate the packet replay to a specific packet-per-second rate.
Examples:
.nf
        200 will replay traffic at 200 packets per second
        0.25 will replay traffic at 15 packets per minute
.fi
.TP
.NOP \f\*[B-Font]\-M\f[] \f\*[I-Font]string\f[], \f\*[B-Font]\-\-mbps\f[]=\f\*[I-Font]string\f[]
Replay packets at a given Mbps.
This option may appear up to 1 times.
This option must not appear in combination with any of the following options:
multiplier, pps, oneatatime, topspeed.
.sp
Specify a floating point value for the Mbps rate that tcpreplay
should send packets at.
.TP
.NOP \f\*[B-Font]\-t\f[], \f\*[B-Font]\-\-topspeed\f[]
Replay packets as fast as possible.
This option must not appear in combination with any of the following options:
mbps, multiplier, pps, oneatatime.
.sp
.TP
.NOP \f\*[B-Font]\-o\f[], \f\*[B-Font]\-\-oneatatime\f[]
Replay one packet at a time for each user input.
This option must not appear in combination with any of the following options:
mbps, pps, multiplier, topspeed.
.sp
Allows you to step through one or more packets at a time.
.TP
.NOP \f\*[B-Font]\-\-pps\-multi\f[]=\f\*[I-Font]number\f[]
Number of packets to send for each time interval.
This option must appear in combination with the following options:
pps.
This option takes an integer number as its argument.
The value of
\f\*[I-Font]number\f[]
is constrained to being:
.in +4
.nf
.na
greater than or equal to 1
.fi
.in -4
The default
\f\*[I-Font]number\f[]
for this option is:
.ti +4
 1
.sp
When trying to send packets at very high rates, the time between each packet
can be so short that it is impossible to accurately sleep for the required
period of time.  This option allows you to send multiple packets at a time,
thus allowing for longer sleep times which can be more accurately implemented.
.TP
.NOP \f\*[B-Font]\-\-unique\-ip\f[]
Modify IP addresses each loop iteration to generate unique flows.
This option must appear in combination with the following options:
loop.
.sp
Ensure IPv4 and IPv6 packets will be unique for each \fB--loop\fP iteration. 
This is done in a way that will not alter packet CRC, and therefore will genrally
not affect performance. This option will significantly increase the flows/sec over
generated over multiple loop iterations.
.TP
.NOP \f\*[B-Font]\-\-unique\-ip\-loops\f[]=\f\*[I-Font]string\f[]
Number of times to loop before assigning new unique ip.
This option may appear up to 1 times.
This option must appear in combination with the following options:
unique-ip.
.sp
Number of \fB--loop\fP iterations before a new unique IP is assigned. Default
is 1. Assumes both \fB--loop\fP and \fB--unique-ip\fP.
.TP
.NOP \f\*[B-Font]\-\-netmap\f[]
Write packets directly to netmap enabled network adapter.
.sp
This feature will detect netmap capable network drivers on Linux and BSD
systems. If detected, the network driver is bypassed for the execution
duration, and network buffers will be written to directly. This will allow
you to achieve full line rates on commodity network adapters, similar to rates
achieved by commercial network traffic generators. Note that bypassing the network
driver will disrupt other applications connected through the test interface. See
INSTALL for more information.
.sp
This feature can also be enabled by specifying an interface as 'netmap:<intf>'
or 'vale:<intf>. For example 'netmap:eth0' specifies netmap over interface eth0.
.TP
.NOP \f\*[B-Font]\-\-nm\-delay\f[]=\f\*[I-Font]number\f[]
Netmap startup delay.
This option takes an integer number as its argument.
The default
\f\*[I-Font]number\f[]
for this option is:
.ti +4
 10
.sp
Number of seconds to delay after netmap is loaded. Required to ensure interfaces
are fully up before netmap transmit. Requires netmap option. Default is 10 seconds.
.TP
.NOP \f\*[B-Font]\-\-no\-flow\-stats\f[]
Suppress printing and tracking flow count, rates and expirations.
.sp
Suppress the collection and printing of flow statistics. This option may
improve performance when not using \fB--preload-pcap\fP option, otherwise
its only function is to suppress printing. 
.sp
The flow feature will track and print statistics of the flows being sent. 
A flow is loosely defined as a unique combination of a 5-tuple, i.e. 
source IP, destination IP, source port, destination port and protocol.
.sp
If \fB--loop\fP is specified, the flows from one iteration to the next
will not be unique, unless the packets are altered. Use \fB--unique-ip\fP
or \fBtcpreplay-edit\fP to alter packets between iterations. 
.TP
.NOP \f\*[B-Font]\-\-flow\-expiry\f[]=\f\*[I-Font]number\f[]
Number of inactive seconds before a flow is considered expired.
This option must not appear in combination with any of the following options:
no-flow-stats.
This option takes an integer number as its argument.
The value of
\f\*[I-Font]number\f[]
is constrained to being:
.in +4
.nf
.na
greater than or equal to 0
.fi
.in -4
The default
\f\*[I-Font]number\f[]
for this option is:
.ti +4
 0
.sp
This option will track and report flow expirations based on the flow idle
times. The timestamps within the pcap file are used to determine the expiry,
not the actual timestamp of the packets are replayed. For example, a value of
30 suggests that if no traffic is seen on a flow for 30 seconds, any
subsequent traffic would be considered a new flow, and thereby will increment
the flows and flows per second (fps) statistics. 
.sp
This option can be used to optimize flow timeout settings for flow products.
Setting the timeout low may lead to flows being dropped when in fact the flow
is simply slow to respond. Configuring your flow timeouts too high may
increase resources required by your flow product.
.sp
Note that using this option while replaying at higher than original speeds
can lead to inflated flows and fps counts.
.sp
Default is 0 (no expiry) and a typical value is 30-120 seconds.
.TP
.NOP \f\*[B-Font]\-P\f[], \f\*[B-Font]\-\-pid\f[]
Print the PID of tcpreplay at startup.
.sp
.TP
.NOP \f\*[B-Font]\-\-stats\f[]=\f\*[I-Font]number\f[]
Print statistics every X seconds, or every loop if '0'.
This option takes an integer number as its argument.
The value of
\f\*[I-Font]number\f[]
is constrained to being:
.in +4
.nf
.na
greater than or equal to 0
.fi
.in -4
.sp
Note that timed delays are a "best effort" and long delays between
sending packets may cause equally long delays between printing statistics.
.TP
.NOP \f\*[B-Font]\-V\f[], \f\*[B-Font]\-\-version\f[]
Print version information.
.sp
.TP
.NOP \f\*[B-Font]\-h\f[], \f\*[B-Font]\-\-less\-help\f[]
Display less usage information and exit.
.sp
.TP
.NOP \f\*[B-Font]\-H\f[], \f\*[B-Font]\-\-help\f[]
Display usage information and exit.
.TP
.NOP \f\*[B-Font]\-\&!\f[], \f\*[B-Font]\-\-more-help\f[]
Pass the extended usage information through a pager.
.TP
.NOP \f\*[B-Font]\-\-save-opts\f[] [=\f\*[I-Font]cfgfile\f[]]
Save the option state to \fIcfgfile\fP.  The default is the \fIlast\fP
configuration file listed in the \fBOPTION PRESETS\fP section, below.
The command will exit after updating the config file.
.TP
.NOP \f\*[B-Font]\-\-load-opts\f[]=\f\*[I-Font]cfgfile\f[], \f\*[B-Font]\-\-no-load-opts\f[]
Load options from \fIcfgfile\fP.
The \fIno-load-opts\fP form will disable the loading
of earlier config/rc/ini files.  \fI\-\-no-load-opts\fP is handled early,
out of order.
.PP
.SH "OPTION PRESETS"
Any option that is not marked as \fInot presettable\fP may be preset
by loading values from configuration ("RC" or ".INI") file(s).
The \fIhomerc\fP file is "\fI$$/\fP", unless that is a directory.
In that case, the file "\fI.tcpreplayrc\fP"
is searched for within that directory.
.SH "FILES"
See \fBOPTION PRESETS\fP for configuration files.
.SH "EXIT STATUS"
One of the following exit values will be returned:
.TP
.NOP 0 " (EXIT_SUCCESS)"
Successful program execution.
.TP
.NOP 1 " (EXIT_FAILURE)"
The operation failed or the command syntax was not valid.
.TP
.NOP 66 " (EX_NOINPUT)"
A specified configuration file could not be loaded.
.TP
.NOP 70 " (EX_SOFTWARE)"
libopts had an internal operational error.  Please report
it to autogen-users@lists.sourceforge.net.  Thank you.
.PP
.SH "AUTHORS"
Copyright 2013-2018 Fred Klassen \- AppNeta
Copyright 2000-2012 Aaron Turner
For support please use the tcpreplay-users@lists.sourceforge.net mailing list.
The latest version of this software is always available from:
http://tcpreplay.appneta.com/
.SH "COPYRIGHT"
Copyright (C) 2000-2018 Aaron Turner and Fred Klassen all rights reserved.
This program is released under the terms of the GNU General Public License, version 3 or later.
.SH "BUGS"
Please send bug reports to: tcpreplay-users@lists.sourceforge.net
.SH "NOTES"
This manual page was \fIAutoGen\fP-erated from the \fBtcpreplay\fP
option definitions.