|-2||Perform a two-pass analysis. This causes tshark to buffer output until the entire first pass is done, but allows it to fill in fields that require future knowledge, such as response in frame # fields. Also permits reassembly frame dependencies to be calculated correctly.|
|-a <capture autostop condition>||
Specify a criterion that specifies when TShark is to stop writing
to a capture file. The criterion is of the form test:value,
where test is one of:
duration:value Stop writing to a capture file after value seconds have elapsed.
filesize:value Stop writing to a capture file after it reaches a size of value kB. If this option is used together with the -b option, TShark will stop writing to the current capture file and switch to the next one if filesize is reached. When reading a capture file, TShark will stop reading the file after the number of bytes read exceeds this number (the complete packet will be read, so more bytes than this number may be read). Note that the filesize is limited to a maximum value of 2 GiB.
files:value Stop writing to capture files after value number of files were written.
|-b <capture ring buffer option>||
Cause TShark to run in multiple files mode. In multiple files mode,
TShark will write to several capture files. When the first capture file
fills up, TShark will switch writing to the next file and so on.
The created filenames are based on the filename given with the -w option, the number of the file and on the creation date and time, e.g. outfile_00001_20050604120117.pcap, outfile_00002_20050604120523.pcap, ...
With the files option its also possible to form a ring buffer. This will fill up new files until the number of files specified, at which point TShark will discard the data in the first file and start writing to that file and so on. If the files option is not set, new files filled up until one of the capture stop conditions match (or until the disk is full).
The criterion is of the form key:value, where key is one of:
duration:value switch to the next file after value seconds have elapsed, even if the current file is not completely filled up.
filesize:value switch to the next file after it reaches a size of value kB. Note that the filesize is limited to a maximum value of 2 GiB.
files:value begin again with the first file after value number of files were written (form a ring buffer). This value must be less than 100000. Caution should be used when using large numbers of files: some filesystems do not handle many files in a single directory well. The files criterion requires either duration or filesize to be specified to control when to go to the next file. It should be noted that each -b parameter takes exactly one criterion; to specify two criterion, each must be preceded by the -b option.
Example: -b filesize:1000 -b files:5 results in a ring buffer of five files of size one megabyte each.
|-B <capture buffer size>||
Set capture buffer size (in MiB, default is 2 MiB). This is used by
the capture driver to buffer packet data until that data can be written
to disk. If you encounter packet drops while capturing, try to increase
this size. Note that, while Tshark attempts to set the buffer size
to 2 MiB by default, and can be told to set it to a larger value, the
system or interface on which youre capturing might silently limit the
capture buffer size to a lower value or raise it to a higher value.
This is available on UNIX systems with libpcap 1.0.0 or later and on Windows. It is not available on UNIX systems with earlier versions of libpcap.
This option can occur multiple times. If used before the first occurrence of the -i option, it sets the default capture buffer size. If used after an -i option, it sets the capture buffer size for the interface specified by the last -i option occurring before this option. If the capture buffer size is not set specifically, the default capture buffer size is used instead.
|-c <capture packet count>||Set the maximum number of packets to read when capturing live data. If reading a capture file, set the maximum number of packets to read.|
|-C <configuration profile>||Run with the given configuration profile.|
|-d <layer type>==<selector>,<decode-as protocol>||
Like Wiresharks Decode As... feature, this lets you specify how a
layer type should be dissected. If the layer type in question (for example,
tcp.port or udp.port for a TCP or UDP port number) has the specified
selector value, packets should be dissected as the specified protocol.
Example: -d tcp.port==8888,http will decode any traffic running over TCP port 8888 as HTTP.
Example: -d tcp.port==8888:3,http will decode any traffic running over TCP ports 8888, 8889 or 8890 as HTTP.
Example: -d tcp.port==8888-8890,http will decode any traffic running over TCP ports 8888, 8889 or 8890 as HTTP.
Using an invalid selector or protocol will print out a list of valid selectors and protocol names, respectively.
Example: -d . is a quick way to get a list of valid selectors.
Example: -d ethertype==0x0800. is a quick way to get a list of protocols that can be selected with an ethertype.
Print a list of the interfaces on which TShark can capture, and
exit. For each network interface, a number and an
interface name, possibly followed by a text description of the
interface, is printed. The interface name or the number can be supplied
to the -i option to specify an interface on which to capture.
This can be useful on systems that dont have a command to list them (e.g., Windows systems, or UNIX systems lacking ifconfig -a); the number can be useful on Windows 2000 and later systems, where the interface name is a somewhat complex string.
Note that can capture means that TShark was able to open that device to do a live capture. Depending on your system you may need to run tshark from an account with special privileges (for example, as root) to be able to capture network traffic. If TShark -D is not run from such an account, it will not list any interfaces.
Add a field to the list of fields to display if -T fields is
selected. This option can be used multiple times on the command line.
At least one field must be provided if the -T fields option is
selected. Column names may be used prefixed with _ws.col.
Example: -e frame.number -e ip.addr -e udp -e _ws.col.Info
Giving a protocol rather than a single field will print multiple items of data about the protocol as a single field. Fields are separated by tab characters by default. -E controls the format of the printed fields.
|-E <field print option>||
Set an option controlling the printing of fields when -T fields is
header=y|n If y, print a list of the field names given using -e as the first line of the output; the field name will be separated using the same character as the field values. Defaults to n.
separator=/t|/s|<character> Set the separator character to use for fields. If /t tab will be used (this is the default), if /s, a single space will be used. Otherwise any character that can be accepted by the command line as part of the option may be used.
occurrence=f|l|a Select which occurrence to use for fields that have multiple occurrences. If f the first occurrence will be used, if l the last occurrence will be used and if a all occurrences will be used (this is the default).
aggregator=,|/s|<character> Set the aggregator character to use for fields that have multiple occurrences. If , a comma will be used (this is the default), if /s, a single space will be used. Otherwise any character that can be accepted by the command line as part of the option may be used.
quote=d|s|n Set the quote character to use to surround fields. d uses double-quotes, s single-quotes, n no quotes (the default).
|-f <capture filter>||
Set the capture filter expression.
This option can occur multiple times. If used before the first occurrence of the -i option, it sets the default capture filter expression. If used after an -i option, it sets the capture filter expression for the interface specified by the last -i option occurring before this option. If the capture filter expression is not set specifically, the default capture filter expression is used if provided.
|-F <file format>||Set the file format of the output capture file written using the -w option. The output written with the -w option is raw packet data, not text, so there is no -F option to request text output. The option -F without a value will list the available formats.|
|-g||This option causes the output file(s) to be created with group-read permission (meaning that the output file(s) can be read by other members of the calling users group).|
|-G [ <report type> ]||
The -G option will cause Tshark to dump one of several types of glossaries
and then exit. If no specific glossary type is specified, then the fields report will be generated by default.
The available report types include:
column-formats Dumps the column formats understood by tshark. There is one record per line. The fields are tab-delimited.
currentprefs Dumps a copy of the current preferences file to stdout.
decodes Dumps the layer type/decode as associations to stdout. There is one record per line. The fields are tab-delimited.
defaultprefs Dumps a default preferences file to stdout.
dissector-tables Dumps a list of dissector tables to stdout. There is one record per line. The fields are tab-delimited.
fieldcount Dumps the number of header fields to stdout.
fields Dumps the contents of the registration database to stdout. An independent program can take this output and format it into nice tables or HTML or whatever. There is one record per line. Each record is either a protocol or a header field, differentiated by the first field. The fields are tab-delimited.
ftypes Dumps the ftypes (fundamental types) understood by tshark. There is one record per line. The fields are tab-delimited.
heuristic-decodes Dumps the heuristic decodes currently installed. There is one record per line. The fields are tab-delimited.
plugins Dumps the plugins currently installed. There is one record per line. The fields are tab-delimited.
protocols Dumps the protocols in the registration database to stdout. An independent program can take this output and format it into nice tables or HTML or whatever. There is one record per line. The fields are tab-delimited.
values Dumps the value_strings, range_strings or true/false strings for fields that have them. There is one record per line. Fields are tab-delimited. There are three types of records: Value String, Range String and True/False String. The first field, V, R or T, indicates the type of record.
|-h||Print the version and options and exits.|
|-H <input hosts file>||
Read a list of entries from a hosts file, which will then be written
to a capture file. Implies -W n. Can be called multiple times.
The hosts file format is documented at <http://en.wikipedia.org/wiki/Hosts_(file)>.
|-i <capture interface> | -||
Set the name of the network interface or pipe to use for live packet
Network interface names should match one of the names listed in "tshark -D (described above); a number, as reported by tshark -D, can also be used. If youre using UNIX, netstat -i or ifconfig -a" might also work to list interface names, although not all versions of UNIX support the -a option to ifconfig.
If no interface is specified, TShark searches the list of interfaces, choosing the first non-loopback interface if there are any non-loopback interfaces, and choosing the first loopback interface if there are no non-loopback interfaces. If there are no interfaces at all, TShark reports an error and doesnt start the capture.
Pipe names should be either the name of a FIFO (named pipe) or - to read data from the standard input. Data read from pipes must be in standard pcap format.
This option can occur multiple times. When capturing from multiple interfaces, the capture file will be saved in pcap-ng format.
Note: the Win32 version of TShark doesnt support capturing from pipes!
Put the interface in monitor mode; this is supported only on IEEE
802.11 Wi-Fi interfaces, and supported only on some operating systems.
Note that in monitor mode the adapter might disassociate from the network with which its associated, so that you will not be able to use any wireless networks with that adapter. This could prevent accessing files on a network server, or resolving host names or network addresses, if you are capturing in monitor mode and are not connected to another network with another adapter.
This option can occur multiple times. If used before the first occurrence of the -i option, it enables the monitor mode for all interfaces. If used after an -i option, it enables the monitor mode for the interface specified by the last -i option occurring before this option.
Load kerberos crypto keys from the specified keytab file.
This option can be used multiple times to load keys from several files.
Example: -K krb5.keytab
Flush the standard output after the information for each packet is
printed. (This is not, strictly speaking, line-buffered if -V
was specified; however, it is the same as line-buffered if -V wasnt
specified, as only one line is printed for each packet, and, as -l is
normally used when piping a live capture to a program or script, so that
output for a packet shows up as soon as the packet is seen and
dissected, it should work just as well as true line-buffering. We do
this as a workaround for a deficiency in the Microsoft Visual C++ C
This may be useful when piping the output of TShark to another program, as it means that the program to which the output is piped will see the dissected data for a packet as soon as TShark sees the packet and generates that output, rather than seeing it only when the standard output buffer containing that data fills up.
|-L||List the data link types supported by the interface and exit. The reported link types can be used for the -y option.|
|-n||Disable network object name resolution (such as hostname, TCP and UDP port names); the -N flag might override this one.|
|-N <name resolving flags>||
Turn on name resolving only for particular types of addresses and port
numbers, with name resolving for other types of addresses and port
numbers turned off. This flag overrides -n if both -N and -n are
present. If both -N and -n flags are not present, all name resolutions
are turned on.
The argument is a string that may contain the letters:
C to enable concurrent (asynchronous) DNS lookups
d to enable resolution from captured DNS packets
m to enable MAC address resolution
n to enable network address resolution
N to enable using external resolvers (e.g., DNS) for network address resolution
t to enable transport-layer port number resolution
|-o <preference>:<value>||Set a preference value, overriding the default value and any value read from a preference file. The argument to the option is a string of the form prefname:value, where prefname is the name of the preference (which is the same name that would appear in the preference file), and value is the value to which it should be set.|
|-O <protocols>||Similar to the -V option, but causes TShark to only show a detailed view of the comma-separated list of protocols specified, rather than a detailed view of all protocols. Use the output of "tshark -G protocols" to find the abbreviations of the protocols you can specify.|
Dont put the interface into promiscuous mode. Note that the
interface might be in promiscuous mode for some other reason; hence,
-p cannot be used to ensure that the only traffic that is captured is
traffic sent to or from the machine on which TShark is running,
broadcast traffic, and multicast traffic to addresses received by that
This option can occur multiple times. If used before the first occurrence of the -i option, no interface will be put into the promiscuous mode. If used after an -i option, the interface specified by the last -i option occurring before this option will not be put into the promiscuous mode.
|-P||Decode and display the packet summary, even if writing raw packet data using the -w option.|
When capturing packets, dont display the continuous count of packets
captured that is normally shown when saving a capture to a file;
instead, just display, at the end of the capture, a count of packets
captured. On systems that support the SIGINFO signal, such as various
BSDs, you can cause the current count to be displayed by typing your
status character (typically control-T, although it
might be set to disabled by default on at least some BSDs, so youd
have to explicitly set it to use it).
When reading a capture file, or when capturing and not saving to a file, dont print packet information; this is useful if youre using a -z option to calculate statistics and dont want the packet information printed, just the statistics.
|-Q||When capturing packets, only display true errors. This outputs less than the -q option, so the interface name and total packet count and the end of a capture are not sent to stderr.|
|-r <infile>||Read packet data from infile, can be any supported capture file format (including gzipped files). It is possible to use named pipes or stdin (-) here but only with certain (not compressed) capture file formats (in particular: those that can be read without seeking backwards).|
|-R <Read filter>||
Cause the specified filter (which uses the syntax of read/display filters,
rather than that of capture filters) to be applied during the first pass of
analysis. Packets not matching the filter are not considered for future
passes. Only makes sense with multiple passes, see -2. For regular filtering
on single-pass dissect see -Y instead.
Note that forward-looking fields such as response in frame # cannot be used with this filter, since they will not have been calculate when this filter is applied.
|-s <capture snaplen>||
Set the default snapshot length to use when capturing live data.
No more than snaplen bytes of each network packet will be read into
memory, or saved to disk. A value of 0 specifies a snapshot length of
65535, so that the full packet is captured; this is the default.
This option can occur multiple times. If used before the first occurrence of the -i option, it sets the default snapshot length. If used after an -i option, it sets the snapshot length for the interface specified by the last -i option occurring before this option. If the snapshot length is not set specifically, the default snapshot length is used if provided.
|-S <separator>||Set the line separator to be printed between packets.|
Set the format of the packet timestamp printed in summary lines.
The format can be one of:
a absolute: The absolute time, as local time in your time zone, is the actual time the packet was captured, with no date displayed
ad absolute with date: The absolute date, displayed as YYYY-MM-DD, and time, as local time in your time zone, is the actual time and date the packet was captured
adoy absolute with date using day of year: The absolute date, displayed as YYYY/DOY, and time, as local time in your time zone, is the actual time and date the packet was captured
d delta: The delta time is the time since the previous packet was captured
dd delta_displayed: The delta_displayed time is the time since the previous displayed packet was captured
e epoch: The time in seconds since epoch (Jan 1, 1970 00:00:00)
r relative: The relative time is the time elapsed between the first packet and the current packet
u UTC: The absolute time, as UTC, is the actual time the packet was captured, with no date displayed
ud UTC with date: The absolute date, displayed as YYYY-MM-DD, and time, as UTC, is the actual time and date the packet was captured
udoy UTC with date using day of year: The absolute date, displayed as YYYY/DOY, and time, as UTC, is the actual time and date the packet was captured
The default format is relative.
Set the format of the output when viewing decoded packet data. The
options are one of:
fields The values of fields specified with the -e option, in a form specified by the -E option. For example,
would generate comma-separated values (CSV) output suitable for importing into your favorite spreadsheet program.
pdml Packet Details Markup Language, an XML-based format for the details of a decoded packet. This information is equivalent to the packet details printed with the -V flag.
ps PostScript for a human-readable one-line summary of each of the packets, or a multi-line view of the details of each of the packets, depending on whether the -V flag was specified.
psml Packet Summary Markup Language, an XML-based format for the summary information of a decoded packet. This information is equivalent to the information shown in the one-line summary printed by default.
text Text of a human-readable one-line summary of each of the packets, or a multi-line view of the details of each of the packets, depending on whether the -V flag was specified. This is the default.
|-u <seconds type>||
Specifies the seconds type. Valid choices are:
s for seconds
hms for hours, minutes and seconds
|-v||Print the version and exit.|
|-V||Cause TShark to print a view of the packet details.|
|-w <outfile> | -||
Write raw packet data to outfile or to the standard output if
outfile is -.
NOTE: -w provides raw packet data, not text. If you want text output you need to redirect stdout (e.g. using >), dont use the -w option for this.
|-W <file format option>||
Save extra information in the file if the format supports it. For
will save host name resolution records along with captured packets.
Future versions of Wireshark may automatically change the capture format to pcapng as needed.
The argument is a string that may contain the following letter:
n write network address resolution information (pcapng only)
|-x||Cause TShark to print a hex and ASCII dump of the packet data after printing the summary and/or details, if either are also being displayed.|
|-X <eXtension options>||
Specify an option to be passed to a TShark module. The eXtension option
is in the form extension_key:value, where extension_key can be:
lua_script:lua_script_filename tells TShark to load the given script in addition to the default Lua scripts.
lua_scriptnum:argument tells TShark to pass the given argument to the lua script identified by num, which is the number indexed order of the lua_script command. For example, if only one script was loaded with -X lua_script:my.lua, then -X lua_script1:foo will pass the string foo to the my.lua script. If two scripts were loaded, such as -X lua_script:my.lua and -X lua_script:other.lua in that order, then a -X lua_script2:bar would pass the string bar to the second lua script, namely other.lua.
read_format:file_format tells TShark to use the given file format to read in the file (the file given in the -r command option). Providing no file_format argument, or an invalid one, will produce a file of available file formats to use.
|-y <capture link type>||
Set the data link type to use while capturing packets. The values
reported by -L are the values that can be used.
This option can occur multiple times. If used before the first occurrence of the -i option, it sets the default capture link type. If used after an -i option, it sets the capture link type for the interface specified by the last -i option occurring before this option. If the capture link type is not set specifically, the default capture link type is used if provided.
|-Y <displaY filter>||
Cause the specified filter (which uses the syntax of read/display filters,
rather than that of capture filters) to be applied before printing a
decoded form of packets or writing packets to a file. Packets matching the
filter are printed or written to file; packets that the matching packets
depend upon (e.g., fragments), are not printed but are written to file;
packets not matching the filter nor depended upon are discarded rather
than being printed or written.
Use this instead of -R for filtering using single-pass analysis. If doing two-pass analysis (see -2) then only packets matching the read filter (if there is one) will be checked against this filter.
Get TShark to collect various types of statistics and display the result
after finishing reading the capture file. Use the -q flag if youre
reading a capture file and only want the statistics printed, not any
Note that the -z proto option is different - it doesnt cause statistics to be gathered and printed when the capture is complete, it modifies the regular packet summary output to include the values of fields specified with the option. Therefore you must not use the -q option, as that option would suppress the printing of the regular packet summary output, and must also not use the -V option, as that would cause packet detail information rather than packet summary information to be printed.
Currently implemented statistics are:
See the manual page of pcap-filter(7) or, if that doesnt exist, tcpdump(8), or, if that doesnt exist, <https://wiki.wireshark.org/CaptureFilters>.
For a complete table of protocol and protocol fields that are filterable in TShark see the wireshark-filter(4) manual page.
These files contains various Wireshark configuration values.
Preferences The preferences files contain global (system-wide) and personal preference settings. If the system-wide preference file exists, it is read first, overriding the default settings. If the personal preferences file exists, it is read next, overriding any previous values. Note: If the command line option -o is used (possibly more than once), it will in turn override values from the preferences files.
The preferences settings are in the form prefname:value, one per line, where prefname is the name of the preference and value is the value to which it should be set; white space is allowed between : and value. A preference setting can be continued on subsequent lines by indenting the continuation lines with white space. A # character starts a comment that runs to the end of the line:
# Capture in promiscuous mode? # TRUE or FALSE (case-insensitive). capture.prom_mode: TRUE
The global preferences file is looked for in the wireshark directory under the share subdirectory of the main installation directory (for example, /usr/local/share/wireshark/preferences) on UNIX-compatible systems, and in the main installation directory (for example, C:\Program Files\Wireshark\preferences) on Windows systems.
The personal preferences file is looked for in $HOME/.wireshark/preferences on UNIX-compatible systems and %APPDATA%\Wireshark\preferences (or, if %APPDATA% isnt defined, %USERPROFILE%\Application Data\Wireshark\preferences) on Windows systems.
Disabled (Enabled) Protocols The disabled_protos files contain system-wide and personal lists of protocols that have been disabled, so that their dissectors are never called. The files contain protocol names, one per line, where the protocol name is the same name that would be used in a display filter for the protocol:
http tcp # a comment
The global disabled_protos file uses the same directory as the global preferences file.
The personal disabled_protos file uses the same directory as the personal preferences file.
Name Resolution (hosts) If the personal hosts file exists, it is used to resolve IPv4 and IPv6 addresses before any other attempts are made to resolve them. The file has the standard hosts file syntax; each line contains one IP address and name, separated by whitespace. The same directory as for the personal preferences file is used.
Capture filter name resolution is handled by libpcap on UNIX-compatible systems and WinPcap on Windows. As such the Wireshark personal hosts file will not be consulted for capture filter name resolution.
Name Resolution (subnets) If the an IPv4 address cannot be translated via name resolution (no exact match is found) then a partial match is attempted via the subnets file.
Each line of this file consists of an IPv4 address, a subnet mask length separated only by a / and a name separated by whitespace. While the address must be a full IPv4 address, any values beyond the mask length are subsequently ignored.
An example is:
# Comments must be prepended by the # sign! 192.168.0.0/24 ws_test_network
A partially matched name will be printed as subnet-name.remaining-address. For example, 192.168.0.1 under the subnet above would be printed as ws_test_network.1; if the mask length above had been 16 rather than 24, the printed address would be ws_test_network.0.1".
Name Resolution (ethers) The ethers files are consulted to correlate 6-byte hardware addresses to names. First the personal ethers file is tried and if an address is not found there the global ethers file is tried next.
Each line contains one hardware address and name, separated by whitespace. The digits of the hardware address are separated by colons (:), dashes (-) or periods (.). The same separator character must be used consistently in an address. The following three lines are valid lines of an ethers file:
ff:ff:ff:ff:ff:ff Broadcast c0-00-ff-ff-ff-ff TR_broadcast 00.00.00.00.00.00 Zero_broadcast
The global ethers file is looked for in the /etc directory on UNIX-compatible systems, and in the main installation directory (for example, C:\Program Files\Wireshark) on Windows systems.
The personal ethers file is looked for in the same directory as the personal preferences file.
Capture filter name resolution is handled by libpcap on UNIX-compatible systems and WinPcap on Windows. As such the Wireshark personal ethers file will not be consulted for capture filter name resolution.
Name Resolution (manuf) The manuf file is used to match the 3-byte vendor portion of a 6-byte hardware address with the manufacturers name; it can also contain well-known MAC addresses and address ranges specified with a netmask. The format of the file is the same as the ethers files, except that entries of the form:
can be provided, with the 3-byte OUI and the name for a vendor, and entries such as:
can be specified, with a MAC address and a mask indicating how many bits of the address must match. The above entry, for example, has 40 significant bits, or 5 bytes, and would match addresses from 00-00-0C-07-AC-00 through 00-00-0C-07-AC-FF. The mask need not be a multiple of 8.
The manuf file is looked for in the same directory as the global preferences file.
Name Resolution (services) The services file is used to translate port numbers into names.
The file has the standard services file syntax; each line contains one (service) name and one transport identifier separated by white space. The transport identifier includes one port number and one transport protocol name (typically tcp, udp, or sctp) separated by a /.
An example is:
mydns 5045/udp # My own Domain Name Server mydns 5045/tcp # My own Domain Name Server
Name Resolution (ipxnets) The ipxnets files are used to correlate 4-byte IPX network numbers to names. First the global ipxnets file is tried and if that address is not found there the personal one is tried next.
The format is the same as the ethers file, except that each address is four bytes instead of six. Additionally, the address can be represented as a single hexadecimal number, as is more common in the IPX world, rather than four hex octets. For example, these four lines are valid lines of an ipxnets file:
C0.A8.2C.00 HR c0-a8-1c-00 CEO 00:00:BE:EF IT_Server1 110f FileServer3
The global ipxnets file is looked for in the /etc directory on UNIX-compatible systems, and in the main installation directory (for example, C:\Program Files\Wireshark) on Windows systems.
The personal ipxnets file is looked for in the same directory as the personal preferences file.
WIRESHARK_APPDATA On Windows, Wireshark normally stores all application data in %APPDATA% or %USERPROFILE%. You can override the default location by exporting this environment variable to specify an alternate location. WIRESHARK_DEBUG_WMEM_OVERRIDE Setting this environment variable forces the wmem framework to use the specified allocator backend for *all* allocations, regardless of which backend is normally specified by the code. This is mainly useful to developers when testing or debugging. See README.wmem in the source distribution for details. WIRESHARK_RUN_FROM_BUILD_DIRECTORY This environment variable causes the plugins and other data files to be loaded from the build directory (where the program was compiled) rather than from the standard locations. It has no effect when the program in question is running with root (or setuid) permissions on *NIX. WIRESHARK_DATA_DIR This environment variable causes the various data files to be loaded from a directory other than the standard locations. It has no effect when the program in question is running with root (or setuid) permissions on *NIX. ERF_RECORDS_TO_CHECK This environment variable controls the number of ERF records checked when deciding if a file really is in the ERF format. Setting this environment variable a number higher than the default (20) would make false positives less likely. IPFIX_RECORDS_TO_CHECK This environment variable controls the number of IPFIX records checked when deciding if a file really is in the IPFIX format. Setting this environment variable a number higher than the default (20) would make false positives less likely. WIRESHARK_ABORT_ON_DISSECTOR_BUG If this environment variable is set, TShark will call abort(3) when a dissector bug is encountered. abort(3) will cause the program to exit abnormally; if you are running TShark in a debugger, it should halt in the debugger and allow inspection of the process, and, if you are not running it in a debugger, it will, on some OSes, assuming your environment is configured correctly, generate a core dump file. This can be useful to developers attempting to troubleshoot a problem with a protocol dissector. WIRESHARK_ABORT_ON_TOO_MANY_ITEMS If this environment variable is set, TShark will call abort(3) if a dissector tries to add too many items to a tree (generally this is an indication of the dissector not breaking out of a loop soon enough). abort(3) will cause the program to exit abnormally; if you are running TShark in a debugger, it should halt in the debugger and allow inspection of the process, and, if you are not running it in a debugger, it will, on some OSes, assuming your environment is configured correctly, generate a core dump file. This can be useful to developers attempting to troubleshoot a problem with a protocol dissector.
wireshark-filter(4), wireshark(1), editcap(1), pcap(3), dumpcap(1), text2pcap(1), mergecap(1), pcap-filter(7) or tcpdump(8)
TShark is part of the Wireshark distribution. The latest version of Wireshark can be found at <https://www.wireshark.org>.
HTML versions of the Wireshark project man pages are available at: <https://www.wireshark.org/docs/man-pages>.
TShark uses the same packet dissection code that Wireshark does, as well as using many other modules from Wireshark; see the list of authors in the Wireshark man page for a list of authors of that code.