LATER... ei_kerberos_kdc_session_key ...
[wireshark-sm.git] / doc / man_pages / dumpcap.adoc
blob9fdcf72c6adfa4c69ab183deed5647ac215f28e3
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 [ *--capture-comment* <comment> ]
46 [ *--list-time-stamp-types* ]
47 [ *--time-stamp-type* <type> ]
48 [ *--update-interval* <interval> ]
50 [manarg]
51 *dumpcap*
52 *-h|--help*
54 [manarg]
55 *dumpcap*
56 *-v|--version*
58 == DESCRIPTION
60 *Dumpcap* is a network traffic dump tool.  It lets you capture packet
61 data from a live network and write the packets to a file.  *Dumpcap*'s
62 default capture file format is *pcapng* format. The *-F* option can
63 be specified to write the output file in the *pcap* format instead.
65 Without any options set it will use the libpcap, Npcap, or WinPcap library to
66 capture traffic from the first available network interface and writes
67 the received raw packet data, along with the packets' time stamps into a
68 capture file.
70 If the *-w* option is not specified, *Dumpcap* writes to a newly
71 created capture file with a randomly chosen name.
72 If the *-w* option is specified, *Dumpcap* writes to the file
73 specified by that option.
75 Packet capturing is performed with the pcap library.  The capture filter
76 syntax follows the rules of the pcap library.
78 == OPTIONS
80 -a|--autostop  <capture autostop condition>::
83 Specify a criterion that specifies when *Dumpcap* is to stop writing
84 to a capture file.  The criterion is of the form __test:value__,
85 where __test__ is one of:
87 *duration*:__value__ Stop writing to a capture file after __value__ seconds have
88 elapsed. Floating point values (e.g. 0.5) are allowed.
90 *files*:__value__ Stop writing to capture files after __value__ number of files
91 were written.
93 *filesize*:__value__ Stop writing to a capture file after it reaches a size of
94 __value__ kB. If this option is used together with the -b option, dumpcap will
95 stop writing to the current capture file and switch to the next one if filesize
96 is reached.  Note that the filesize is limited to a maximum value of 2 TB.
98 *packets*:__value__ Stop writing to a capture file after __value__ packets
99 have been written. Acts the same as *-c* <capture packet count>.
102 -b|--ring-buffer  <capture ring buffer option>::
105 Cause *Dumpcap* to run in "multiple files" mode.  In "multiple files" mode,
106 *Dumpcap* will write to several capture files. When the first capture file
107 fills up, *Dumpcap* will switch writing to the next file and so on.
109 The created filenames are based on the filename given with the *-w*
110 option, the number of the file and on the creation date and time, e.g.
111 outfile_00001_20240714120117.pcapng,
112 outfile_00002_20240714120523.pcapng, ...
114 With the __files__ option it's also possible to form a "ring buffer".
115 This will fill up new files until the number of files specified,
116 at which point *Dumpcap* will discard the data in the first file and start
117 writing to that file and so on. If the __files__ option is not set,
118 new files filled up until one of the capture stop conditions match (or
119 until the disk is full).
121 The criterion is of the form __key:value__,
122 where __key__ is one of:
124 *duration*:__value__ switch to the next file after __value__ seconds have
125 elapsed, even if the current file is not completely filled up. Floating
126 point values (e.g. 0.5) are allowed.
128 *files*:__value__ begin again with the first file after __value__ number of
129 files were written (form a ring buffer).  This value must be less than 100000.
130 Caution should be used when using large numbers of files: some filesystems do
131 not handle many files in a single directory well.  The *files* criterion
132 requires either *duration*, *interval* or *filesize* to be specified to
133 control when to go to the next file.  It should be noted that each *-b*
134 parameter takes exactly one criterion; to specify two criterion, each must be
135 preceded by the *-b* option.
137 *filesize*:__value__ switch to the next file after it reaches a size of
138 __value__ kB.  Note that the filesize is limited to a maximum value of 2 TB.
140 *interval*:__value__ switch to the next file when the time is an exact
141 multiple of __value__ seconds.  For example, use 3600 to switch to a new file
142 every hour on the hour.
144 *packets*:__value__ switch to the next file after it contains __value__
145 packets.
147 *printname*:__filename__ print the name of the most recently written file
148 to __filename__ after the file is closed. __filename__ can be `stdout` or `-`
149 for standard output, or `stderr` for standard error.
151 Example: *-b filesize:1000 -b files:5* results in a ring buffer of five files
152 of size one megabyte each.
155 -B|--buffer-size  <capture buffer size>::
158 Set capture buffer size (in MiB, default is 2 MiB).  This is used by
159 the capture driver to buffer packet data until that data can be written
160 to disk.  If you encounter packet drops while capturing, try to increase
161 this size.  Note that, while *Dumpcap* attempts to set the buffer size
162 to 2 MiB by default, and can be told to set it to a larger value, the
163 system or interface on which you're capturing might silently limit the
164 capture buffer size to a lower value or raise it to a higher value.
166 This is available on UNIX-compatible systems, such as Linux, macOS,
167 \*BSD, Solaris, and AIX, with libpcap 1.0.0 or later, and on Windows.
168 It is not available on UNIX-compatible systems with earlier versions of
169 libpcap.
171 This option can occur multiple times. If used before the first
172 occurrence of the *-i* option, it sets the default capture buffer size.
173 If used after an *-i* option, it sets the capture buffer size for
174 the interface specified by the last *-i* option occurring before
175 this option. If the capture buffer size is not set specifically,
176 the default capture buffer size is used instead.
179 -c  <capture packet count>::
180 Set the maximum number of packets to read when capturing live
181 data. Acts the same as *-a packets:*<capture packet count>.
183 -C  <byte limit>::
184 Limit the amount of memory in bytes used for storing captured packets
185 in memory while processing it.
186 If used in combination with the *-N* option, both limits will apply.
187 Setting this limit will enable the usage of the separate thread per interface.
189 -d::
190 Dump the code generated for the capture filter in a human-readable form,
191 and exit.
193 -D|--list-interfaces::
194 Print a list of the interfaces on which *Dumpcap* can capture, and
195 exit.  For each network interface, a number and an interface name,
196 possibly followed by a text description of the interface, is printed.
197 The interface name or the number can be supplied to the *-i* flag to
198 specify an interface on which to capture.  The number can be useful on
199 Windows systems, where the interfaces have long names that usually
200 contain a GUID.
202 -f  <capture filter>::
205 Set the capture filter expression.
207 The entire filter expression must be specified as a single argument (which means
208 that if it contains spaces, it must be quoted).
210 This option can occur multiple times. If used before the first
211 occurrence of the *-i* option, it sets the default capture filter expression.
212 If used after an *-i* option, it sets the capture filter expression for
213 the interface specified by the last *-i* option occurring before
214 this option. If the capture filter expression is not set specifically,
215 the default capture filter expression is used if provided.
218 -F  <file format>::
219 Set the file format of the output capture file written using the *-w*
220 option. In situations that require the *pcapng* format, such as capturing
221 from multiple interfaces, this option will be overridden. The option *-F*
222 without a value will list the available formats. The default is the
223 *pcapng* format.
225 Fewer formats are supported than by xref:tshark.html[tshark](1); this is
226 intentional for security reasons. Use *tshark* or capture and then convert
227 the file with xref:editcap.html[editcap](1) if another format is needed.
229 -g::
230 This option causes the output file(s) to be created with group-read permission
231 (meaning that the output file(s) can be read by other members of the calling
232 user's group).
234 -h|--help::
235 Print the version number and options and exit.
237 -i|--interface  <capture interface>|rpcap://<host>:<port>/<capture interface>|TCP@<host>:<port>|-::
240 Set the name of the network interface or pipe to use for live packet
241 capture.
243 Network interface names should match one of the names listed in "*tshark
244 -D*" (described above); a number, as reported by "*dumpcap -D*", can
245 also be used.
247 If no interface is specified, *Dumpcap* searches the list of
248 interfaces, choosing the first non-loopback interface if there are any
249 non-loopback interfaces, and choosing the first loopback interface if
250 there are no non-loopback interfaces. If there are no interfaces at all,
251 *Dumpcap* reports an error and doesn't start the capture.
253 Pipe names should be either the name of a FIFO (named pipe) or "-" to
254 read data from the standard input.  On Windows systems, pipe names must be
255 of the form +"\\.\pipe\+*pipename*".  Data read from pipes must be in
256 standard pcapng or pcap format. Pcapng data must have the same
257 endianness as the capturing host.
259 "TCP@<host>:<port>" causes *Dumpcap* to attempt to connect to the
260 specified port on the specified host and read pcapng or pcap data.
262 This option can occur multiple times. When capturing from multiple
263 interfaces, the capture file will be saved in pcapng format, even if
264 *-P* is specified.
267 --ifdescr> <description>::
268 Use __description__ as the description in the capture file for the
269 interface or pipe specified before it with *-i*.
271 --ifname> <name>::
272 Use __name__ as the name in the capture file for the interface or
273 pipe specified before it with *-i*.
275 -I|--monitor-mode::
278 Put the interface in "monitor mode"; this is supported only on IEEE
279 802.11 Wi-Fi interfaces, and supported only on some operating systems.
281 Note that in monitor mode the adapter might disassociate from the
282 network with which it's associated, so that you will not be able to use
283 any wireless networks with that adapter.  This could prevent accessing
284 files on a network server, or resolving host names or network addresses,
285 if you are capturing in monitor mode and are not connected to another
286 network with another adapter.
288 This option can occur multiple times. If used before the first
289 occurrence of the *-i* option, it enables the monitor mode for all interfaces.
290 If used after an *-i* option, it enables the monitor mode for
291 the interface specified by the last *-i* option occurring before
292 this option.
295 -k  <freq>,[<type>],[<center_freq1>],[<center_freq2>>::
298 Set the channel on the interface; this is supported only on IEEE
299 802.11 Wi-Fi interfaces, and supported only on some operating systems.
301 __freq__ is the frequency of the channel.  __type__ is the type of the
302 channel, for 802.11n and 802.11ac.  The values for __type__ are
305 NOHT:: Used for non-802.11n/non-802.1ac channels
307 HT20:: 20 MHz channel
309 HT40-:: 40 MHz primary channel and a lower secondary channel
311 HT40+:: 40 MHz primary channel and a higher secondary channel
313 HT80:: 80 MHz channel, with __centerfreq1__ as its center frequency
315 VHT80+80::
316 Two 80 MHz channels combined, with __centerfreq1__ and __centerfreq2__ as
317 the center frequencies of the two channels
319 VHT160:: 160 MHz channel, with __centerfreq1__ as its center frequency
321 -L|--list-data-link-types::
322 List the data link types supported by the interface and exit. The reported
323 link types can be used for the *-y* option.
325 -M::
328 When used with *-D*, *-L*, *-S* or *--list-time-stamp-types* print
329 machine-readable output.
330 The machine-readable output is intended to be read by *Wireshark* and
331 *TShark*; its format is subject to change from release to release.
334 -n::
335 Save files as pcapng. This is the default. This option is deprecated
336 and may be removed.
338 -N  <packet limit>::
341 Limit the number of packets used for storing captured packets
342 in memory while processing it.
343 If used in combination with the *-C* option, both limits will apply.
344 Setting this limit will enable the usage of the separate thread per interface.
347 -p|--no-promiscuous-mode::
350 __Don't__ put the interface into promiscuous mode.  Note that the
351 interface might be in promiscuous mode for some other reason; hence,
352 *-p* cannot be used to ensure that the only traffic that is captured is
353 traffic sent to or from the machine on which *Dumpcap* is running,
354 broadcast traffic, and multicast traffic to addresses received by that
355 machine.
357 This option can occur multiple times. If used before the first
358 occurrence of the *-i* option, no interface will be put into the
359 promiscuous mode.
360 If used after an *-i* option, the interface specified by the last *-i*
361 option occurring before this option will not be put into the
362 promiscuous mode.
365 -P::
366 Save files as pcap instead of the default pcapng. In situations that require
367 pcapng, such as capturing from multiple interfaces, this option will be
368 overridden. This option is deprecated in favor of the *-F* option and
369 may be removed.
371 -q::
374 When capturing packets, don't display the continuous count of packets
375 captured that is normally shown when saving a capture to a file;
376 instead, just display, at the end of the capture, a count of packets
377 captured.  On systems that support the SIGINFO signal, such as various
378 BSDs, you can cause the current count to be displayed by typing your
379 "status" character (typically control-T, although it
380 might be set to "disabled" by default on at least some BSDs, so you'd
381 have to explicitly set it to use it).
384 -Q::
387 When capturing packets, don't display, on the standard error, the initial
388 message indicating on what interfaces the capture is being done, the
389 messages indicating to what file a capture is being written, the continuous
390 count of packets captured that is normally shown when saving a capture to
391 a file, and the message at the end of the capture giving a count of packets
392 captured.  This outputs less than the *-q* option; only true errors are
393 displayed on the standard error.
395 On systems that support the SIGINFO signal, such as various BSDs, you can
396 cause the current count to be displayed by typing your "status" character
397 (typically control-T, although it might be set to "disabled" by default on
398 at least some BSDs, so you'd have to explicitly set it to use it).
401 -s|--snapshot-length  <capture snaplen>::
404 Set the default snapshot length to use when capturing live data.
405 No more than __snaplen__ bytes of each network packet will be read into
406 memory, or saved to disk.  A value of 0 specifies a snapshot length of
407 262144, so that the full packet is captured; this is the default.
409 This option can occur multiple times. If used before the first
410 occurrence of the *-i* option, it sets the default snapshot length.
411 If used after an *-i* option, it sets the snapshot length for
412 the interface specified by the last *-i* option occurring before
413 this option. If the snapshot length is not set specifically,
414 the default snapshot length is used if provided.
417 -S::
418 Print statistics for each interface once every second.
420 -t::
421 Use a separate thread per interface.
423 --temp-dir <directory>::
426 Specifies the directory into which temporary files (including capture
427 files) are to be written.  The default behavior on UNIX-compatible systems,
428 such as Linux, macOS, \*BSD, Solaris, and AIX, is to use the environment
429 variable __$TMPDIR__ if set, and the system default, typically __/tmp__, if it
430 is not.  On Windows, the __%TEMP%__ environment variable is used, which
431 typically defaults to __%USERPROFILE%\AppData\Local\Temp__.
434 -v|--version::
435 Print the full version information and exit.
437 -w  <outfile>::
438 Write raw packet data to __outfile__. Use "-" for stdout.
440 -y|--linktype  <capture link type>::
443 Set the data link type to use while capturing packets.  The values
444 reported by *-L* are the values that can be used.
446 This option can occur multiple times. If used before the first
447 occurrence of the *-i* option, it sets the default capture link type.
448 If used after an *-i* option, it sets the capture link type for
449 the interface specified by the last *-i* option occurring before
450 this option. If the capture link type is not set specifically,
451 the default capture link type is used if provided.
454 --capture-comment  <comment>::
457 Add a capture comment to the output file, if supported by the output
458 file format.
460 This option is only available if we output the captured packets to a
461 single file.
463 This option may be specified multiple times.  Note that Wireshark
464 currently only displays the first comment of a capture file.
467 --list-time-stamp-types::
468 List time stamp types supported for the interface. If no time stamp type can be
469 set, no time stamp types are listed.
471 --time-stamp-type  <type>::
472 Change the interface's timestamp method.
474 --update-interval  <interval>::
475 Set the length of time in milliseconds between new packet reports during
476 a capture. Also sets the granularity of file duration conditions.
477 The default value is 100ms.
479 include::diagnostic-options.adoc[]
481 == CAPTURE FILTER SYNTAX
483 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),
484 or, if that doesn't exist, https://gitlab.com/wireshark/wireshark/-/wikis/CaptureFilters.
486 == SEE ALSO
488 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),
489 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)
491 == NOTES
493 This is the manual page for *Dumpcap* {wireshark-version}.
494 *Dumpcap* is part of the *Wireshark* distribution.
495 The latest version of *Wireshark* can be found at https://www.wireshark.org.
497 HTML versions of the Wireshark project man pages are available at
498 https://www.wireshark.org/docs/man-pages.
500 == AUTHORS
502 *Dumpcap* is derived from the *Wireshark* capturing engine code;
503 see the list of
504 authors in the *Wireshark* man page for a list of authors of that code.