Revert "TODO epan/dissectors/asn1/kerberos/packet-kerberos-template.c new GSS flags"
[wireshark-sm.git] / doc / man_pages / dumpcap.adoc
blob9ef356961b70c0411568ab19a39a014920889b5a
1 include::../attributes.adoc[]
2 = dumpcap(1)
3 :doctype: manpage
4 :stylesheet: ws.css
5 :linkcss:
6 :copycss: {css_dir}/{stylesheet}
8 == NAME
10 dumpcap - Dump network traffic
12 == SYNOPSIS
14 [manarg]
15 *dumpcap*
16 [ *-a*|*--autostop* <capture autostop condition> ] ...
17 [ *-b*|*--ring-buffer* <capture ring buffer option> ] ...
18 [ *-B*|*--buffer-size* <capture buffer size> ]
19 [ *-c* <capture packet count> ]
20 [ *-C* <byte limit> ]
21 [ *-d* ]
22 [ *-D*|*--list-interfaces* ]
23 [ *-f* <capture filter> ]
24 [ *-F* <file format> ]
25 [ *-g* ]
26 [ *-i*|*--interface* <capture interface>|rpcap://<host>:<port>/<capture interface>|TCP@<host>:<port>|- ]
27 [ *-I*|*--monitor-mode* ]
28 [ *-k* <freq>,[<type>],[<center_freq1>],[<center_freq2>] ]
29 [ *-L*|*--list-data-link-types* ]
30 [ *-M* ]
31 [ *-n* ]
32 [ *-N* <packet limit> ]
33 [ *-p*|*--no-promiscuous-mode* ]
34 [ *--ifdescr* <description> ]
35 [ *--ifname* <name> ]
36 [ *-P* ]
37 [ *-q* ]
38 [ *-Q* ]
39 [ *-s*|*--snapshot-length* <capture snaplen> ]
40 [ *-S* ]
41 [ *-t* ]
42 [ *--temp-dir* <directory> ]
43 [ *-w* <outfile> ]
44 [ *-y*|*--linktype* <capture link type> ]
45 [ *--application-flavor* [wireshark|stratoshark] ]
46 [ *--capture-comment* <comment> ]
47 [ *--list-time-stamp-types* ]
48 [ *--time-stamp-type* <type> ]
49 [ *--update-interval* <interval> ]
51 [manarg]
52 *dumpcap*
53 *-h|--help*
55 [manarg]
56 *dumpcap*
57 *-v|--version*
59 == DESCRIPTION
61 *Dumpcap* is a network traffic dump tool.  It lets you capture packet
62 data from a live network and write the packets to a file.  *Dumpcap*'s
63 default capture file format is *pcapng* format. The *-F* option can
64 be specified to write the output file in the *pcap* format instead.
66 Without any options set it will use the libpcap, Npcap, or WinPcap library to
67 capture traffic from the first available network interface and writes
68 the received raw packet data, along with the packets' time stamps into a
69 capture file.
71 If the *-w* option is not specified, *Dumpcap* writes to a newly
72 created capture file with a randomly chosen name.
73 If the *-w* option is specified, *Dumpcap* writes to the file
74 specified by that option.
76 Packet capturing is performed with the pcap library.  The capture filter
77 syntax follows the rules of the pcap library.
79 == OPTIONS
81 -a|--autostop  <capture autostop condition>::
84 Specify a criterion that specifies when *Dumpcap* is to stop writing
85 to a capture file.  The criterion is of the form __test:value__,
86 where __test__ is one of:
88 *duration*:__value__ Stop writing to a capture file after __value__ seconds have
89 elapsed. Floating point values (e.g. 0.5) are allowed.
91 *files*:__value__ Stop writing to capture files after __value__ number of files
92 were written.
94 *filesize*:__value__ Stop writing to a capture file after it reaches a size of
95 __value__ kB. If this option is used together with the -b option, dumpcap will
96 stop writing to the current capture file and switch to the next one if filesize
97 is reached.  Note that the filesize is limited to a maximum value of 2 TB.
99 *packets*:__value__ Stop writing to a capture file after __value__ packets
100 have been written. Acts the same as *-c* <capture packet count>.
103 -b|--ring-buffer  <capture ring buffer option>::
106 Cause *Dumpcap* to run in "multiple files" mode.  In "multiple files" mode,
107 *Dumpcap* will write to several capture files. When the first capture file
108 fills up, *Dumpcap* will switch writing to the next file and so on.
110 The created filenames are based on the filename given with the *-w*
111 option, the number of the file and on the creation date and time, e.g.
112 outfile_00001_20240714120117.pcapng,
113 outfile_00002_20240714120523.pcapng, ...
115 With the __files__ option it's also possible to form a "ring buffer".
116 This will fill up new files until the number of files specified,
117 at which point *Dumpcap* will discard the data in the first file and start
118 writing to that file and so on. If the __files__ option is not set,
119 new files filled up until one of the capture stop conditions match (or
120 until the disk is full).
122 The criterion is of the form __key:value__,
123 where __key__ is one of:
125 *duration*:__value__ switch to the next file after __value__ seconds have
126 elapsed, even if the current file is not completely filled up. Floating
127 point values (e.g. 0.5) are allowed.
129 *files*:__value__ begin again with the first file after __value__ number of
130 files were written (form a ring buffer).  This value must be less than 100000.
131 Caution should be used when using large numbers of files: some filesystems do
132 not handle many files in a single directory well.  The *files* criterion
133 requires either *duration*, *interval* or *filesize* to be specified to
134 control when to go to the next file.  It should be noted that each *-b*
135 parameter takes exactly one criterion; to specify two criterion, each must be
136 preceded by the *-b* option.
138 *filesize*:__value__ switch to the next file after it reaches a size of
139 __value__ kB.  Note that the filesize is limited to a maximum value of 2 TB.
141 *interval*:__value__ switch to the next file when the time is an exact
142 multiple of __value__ seconds.  For example, use 3600 to switch to a new file
143 every hour on the hour.
145 *packets*:__value__ switch to the next file after it contains __value__
146 packets.
148 *printname*:__filename__ print the name of the most recently written file
149 to __filename__ after the file is closed. __filename__ can be `stdout` or `-`
150 for standard output, or `stderr` for standard error.
152 Example: *-b filesize:1000 -b files:5* results in a ring buffer of five files
153 of size one megabyte each.
156 -B|--buffer-size  <capture buffer size>::
159 Set capture buffer size (in MiB, default is 2 MiB).  This is used by
160 the capture driver to buffer packet data until that data can be written
161 to disk.  If you encounter packet drops while capturing, try to increase
162 this size.  Note that, while *Dumpcap* attempts to set the buffer size
163 to 2 MiB by default, and can be told to set it to a larger value, the
164 system or interface on which you're capturing might silently limit the
165 capture buffer size to a lower value or raise it to a higher value.
167 This is available on UNIX-compatible systems, such as Linux, macOS,
168 \*BSD, Solaris, and AIX, with libpcap 1.0.0 or later, and on Windows.
169 It is not available on UNIX-compatible systems with earlier versions of
170 libpcap.
172 This option can occur multiple times. If used before the first
173 occurrence of the *-i* option, it sets the default capture buffer size.
174 If used after an *-i* option, it sets the capture buffer size for
175 the interface specified by the last *-i* option occurring before
176 this option. If the capture buffer size is not set specifically,
177 the default capture buffer size is used instead.
180 -c  <capture packet count>::
181 Set the maximum number of packets to read when capturing live
182 data. Acts the same as *-a packets:*<capture packet count>.
184 -C  <byte limit>::
185 Limit the amount of memory in bytes used for storing captured packets
186 in memory while processing it.
187 If used in combination with the *-N* option, both limits will apply.
188 Setting this limit will enable the usage of the separate thread per interface.
190 -d::
191 Dump the code generated for the capture filter in a human-readable form,
192 and exit.
194 -D|--list-interfaces::
195 Print a list of the interfaces on which *Dumpcap* can capture, and
196 exit.  For each network interface, a number and an interface name,
197 possibly followed by a text description of the interface, is printed.
198 The interface name or the number can be supplied to the *-i* flag to
199 specify an interface on which to capture.  The number can be useful on
200 Windows systems, where the interfaces have long names that usually
201 contain a GUID.
203 -f  <capture filter>::
206 Set the capture filter expression.
208 The entire filter expression must be specified as a single argument (which means
209 that if it contains spaces, it must be quoted).
211 This option can occur multiple times. If used before the first
212 occurrence of the *-i* option, it sets the default capture filter expression.
213 If used after an *-i* option, it sets the capture filter expression for
214 the interface specified by the last *-i* option occurring before
215 this option. If the capture filter expression is not set specifically,
216 the default capture filter expression is used if provided.
219 -F  <file format>::
220 Set the file format of the output capture file written using the *-w*
221 option. In situations that require the *pcapng* format, such as capturing
222 from multiple interfaces, this option will be overridden. The option *-F*
223 without a value will list the available formats. The default is the
224 *pcapng* format.
226 Fewer formats are supported than by xref:tshark.html[tshark](1); this is
227 intentional for security reasons. Use *tshark* or capture and then convert
228 the file with xref:editcap.html[editcap](1) if another format is needed.
230 -g::
231 This option causes the output file(s) to be created with group-read permission
232 (meaning that the output file(s) can be read by other members of the calling
233 user's group).
235 -h|--help::
236 Print the version number and options and exit.
238 -i|--interface  <capture interface>|rpcap://<host>:<port>/<capture interface>|TCP@<host>:<port>|-::
241 Set the name of the network interface or pipe to use for live packet
242 capture.
244 Network interface names should match one of the names listed in "*tshark
245 -D*" (described above); a number, as reported by "*dumpcap -D*", can
246 also be used.
248 If no interface is specified, *Dumpcap* searches the list of
249 interfaces, choosing the first non-loopback interface if there are any
250 non-loopback interfaces, and choosing the first loopback interface if
251 there are no non-loopback interfaces. If there are no interfaces at all,
252 *Dumpcap* reports an error and doesn't start the capture.
254 Pipe names should be either the name of a FIFO (named pipe) or "-" to
255 read data from the standard input.  On Windows systems, pipe names must be
256 of the form +"\\.\pipe\+*pipename*".  Data read from pipes must be in
257 standard pcapng or pcap format. Pcapng data must have the same
258 endianness as the capturing host.
260 "TCP@<host>:<port>" causes *Dumpcap* to attempt to connect to the
261 specified port on the specified host and read pcapng or pcap data.
263 This option can occur multiple times. When capturing from multiple
264 interfaces, the capture file will be saved in pcapng format, even if
265 *-P* is specified.
268 --ifdescr> <description>::
269 Use __description__ as the description in the capture file for the
270 interface or pipe specified before it with *-i*.
272 --ifname> <name>::
273 Use __name__ as the name in the capture file for the interface or
274 pipe specified before it with *-i*.
276 -I|--monitor-mode::
279 Put the interface in "monitor mode"; this is supported only on IEEE
280 802.11 Wi-Fi interfaces, and supported only on some operating systems.
282 Note that in monitor mode the adapter might disassociate from the
283 network with which it's associated, so that you will not be able to use
284 any wireless networks with that adapter.  This could prevent accessing
285 files on a network server, or resolving host names or network addresses,
286 if you are capturing in monitor mode and are not connected to another
287 network with another adapter.
289 This option can occur multiple times. If used before the first
290 occurrence of the *-i* option, it enables the monitor mode for all interfaces.
291 If used after an *-i* option, it enables the monitor mode for
292 the interface specified by the last *-i* option occurring before
293 this option.
296 -k  <freq>,[<type>],[<center_freq1>],[<center_freq2>>::
299 Set the channel on the interface; this is supported only on IEEE
300 802.11 Wi-Fi interfaces, and supported only on some operating systems.
302 __freq__ is the frequency of the channel.  __type__ is the type of the
303 channel, for 802.11n and 802.11ac.  The values for __type__ are
306 NOHT:: Used for non-802.11n/non-802.1ac channels
308 HT20:: 20 MHz channel
310 HT40-:: 40 MHz primary channel and a lower secondary channel
312 HT40+:: 40 MHz primary channel and a higher secondary channel
314 HT80:: 80 MHz channel, with __centerfreq1__ as its center frequency
316 VHT80+80::
317 Two 80 MHz channels combined, with __centerfreq1__ and __centerfreq2__ as
318 the center frequencies of the two channels
320 VHT160:: 160 MHz channel, with __centerfreq1__ as its center frequency
322 -L|--list-data-link-types::
323 List the data link types supported by the interface and exit. The reported
324 link types can be used for the *-y* option.
326 -M::
329 When used with *-D*, *-L*, *-S* or *--list-time-stamp-types* print
330 machine-readable output.
331 The machine-readable output is intended to be read by *Wireshark* and
332 *TShark*; its format is subject to change from release to release.
335 -n::
336 Save files as pcapng. This is the default. This option is deprecated
337 and may be removed.
339 -N  <packet limit>::
342 Limit the number of packets used for storing captured packets
343 in memory while processing it.
344 If used in combination with the *-C* option, both limits will apply.
345 Setting this limit will enable the usage of the separate thread per interface.
348 -p|--no-promiscuous-mode::
351 __Don't__ put the interface into promiscuous mode.  Note that the
352 interface might be in promiscuous mode for some other reason; hence,
353 *-p* cannot be used to ensure that the only traffic that is captured is
354 traffic sent to or from the machine on which *Dumpcap* is running,
355 broadcast traffic, and multicast traffic to addresses received by that
356 machine.
358 This option can occur multiple times. If used before the first
359 occurrence of the *-i* option, no interface will be put into the
360 promiscuous mode.
361 If used after an *-i* option, the interface specified by the last *-i*
362 option occurring before this option will not be put into the
363 promiscuous mode.
366 -P::
367 Save files as pcap instead of the default pcapng. In situations that require
368 pcapng, such as capturing from multiple interfaces, this option will be
369 overridden. This option is deprecated in favor of the *-F* option and
370 may be removed.
372 -q::
375 When capturing packets, don't display the continuous count of packets
376 captured that is normally shown when saving a capture to a file;
377 instead, just display, at the end of the capture, a count of packets
378 captured.  On systems that support the SIGINFO signal, such as various
379 BSDs, you can cause the current count to be displayed by typing your
380 "status" character (typically control-T, although it
381 might be set to "disabled" by default on at least some BSDs, so you'd
382 have to explicitly set it to use it).
385 -Q::
388 When capturing packets, don't display, on the standard error, the initial
389 message indicating on what interfaces the capture is being done, the
390 messages indicating to what file a capture is being written, the continuous
391 count of packets captured that is normally shown when saving a capture to
392 a file, and the message at the end of the capture giving a count of packets
393 captured.  This outputs less than the *-q* option; only true errors are
394 displayed on the standard error.
396 On systems that support the SIGINFO signal, such as various BSDs, you can
397 cause the current count to be displayed by typing your "status" character
398 (typically control-T, although it might be set to "disabled" by default on
399 at least some BSDs, so you'd have to explicitly set it to use it).
402 -s|--snapshot-length  <capture snaplen>::
405 Set the default snapshot length to use when capturing live data.
406 No more than __snaplen__ bytes of each network packet will be read into
407 memory, or saved to disk.  A value of 0 specifies a snapshot length of
408 262144, so that the full packet is captured; this is the default.
410 This option can occur multiple times. If used before the first
411 occurrence of the *-i* option, it sets the default snapshot length.
412 If used after an *-i* option, it sets the snapshot length for
413 the interface specified by the last *-i* option occurring before
414 this option. If the snapshot length is not set specifically,
415 the default snapshot length is used if provided.
418 -S::
419 Print statistics for each interface once every second.
421 -t::
422 Use a separate thread per interface.
424 --temp-dir <directory>::
427 Specifies the directory into which temporary files (including capture
428 files) are to be written.  The default behavior on UNIX-compatible systems,
429 such as Linux, macOS, \*BSD, Solaris, and AIX, is to use the environment
430 variable __$TMPDIR__ if set, and the system default, typically __/tmp__, if it
431 is not.  On Windows, the __%TEMP%__ environment variable is used, which
432 typically defaults to __%USERPROFILE%\AppData\Local\Temp__.
435 -v|--version::
436 Print the full version information and exit.
438 -w  <outfile>::
439 Write raw packet data to __outfile__. Use "-" for stdout.
441 -y|--linktype  <capture link type>::
444 Set the data link type to use while capturing packets.  The values
445 reported by *-L* are the values that can be used.
447 This option can occur multiple times. If used before the first
448 occurrence of the *-i* option, it sets the default capture link type.
449 If used after an *-i* option, it sets the capture link type for
450 the interface specified by the last *-i* option occurring before
451 this option. If the capture link type is not set specifically,
452 the default capture link type is used if provided.
455 --application-flavor [wireshark|stratoshark]::
456 Set the application flavor.
457 Make the *-D* option output and other behavior suitable for packet capture or system call and log capture.
458 The default flavor is "wireshark".
460 --capture-comment  <comment>::
463 Add a capture comment to the output file, if supported by the output
464 file format.
466 This option is only available if we output the captured packets to a
467 single file.
469 This option may be specified multiple times.  Note that Wireshark
470 currently only displays the first comment of a capture file.
473 --list-time-stamp-types::
474 List time stamp types supported for the interface. If no time stamp type can be
475 set, no time stamp types are listed.
477 --time-stamp-type  <type>::
478 Change the interface's timestamp method.
480 --update-interval  <interval>::
481 Set the length of time in milliseconds between new packet reports during
482 a capture. Also sets the granularity of file duration conditions.
483 The default value is 100ms.
485 include::diagnostic-options.adoc[]
487 == CAPTURE FILTER SYNTAX
489 See the manual page of xref:https://www.tcpdump.org/manpages/pcap-filter.7.html[pcap-filter](7) or, if that doesn't exist, xref:https://www.tcpdump.org/manpages/tcpdump.1.html[tcpdump](8),
490 or, if that doesn't exist, https://gitlab.com/wireshark/wireshark/-/wikis/CaptureFilters.
492 == SEE ALSO
494 xref:wireshark.html[wireshark](1), xref:tshark.html[tshark](1), xref:editcap.html[editcap](1), xref:mergecap.html[mergecap](1), xref:capinfos.html[capinfos](1), xref:https://www.tcpdump.org/manpages/pcap.3pcap.html[pcap](3),
495 xref:https://www.tcpdump.org/manpages/pcap-filter.7.html[pcap-filter](7) or xref:https://www.tcpdump.org/manpages/tcpdump.1.html[tcpdump](8)
497 == NOTES
499 This is the manual page for *Dumpcap* {wireshark-version}.
500 *Dumpcap* is part of the *Wireshark* distribution.
501 The latest version of *Wireshark* can be found at https://www.wireshark.org.
503 HTML versions of the Wireshark project man pages are available at
504 https://www.wireshark.org/docs/man-pages.
506 == AUTHORS
508 *Dumpcap* is derived from the *Wireshark* capturing engine code;
509 see the list of
510 authors in the *Wireshark* man page for a list of authors of that code.