aboutsummaryrefslogtreecommitdiffstats
path: root/doc
AgeCommit message (Collapse)AuthorFilesLines
2023-03-06docs: GrammarJohn Thacker3-3/+3
Fix a couple cases of using "it's" instead of "its" for the possessive
2023-03-05docs: Update Windows temporary directory location in manpagesJohn Thacker3-13/+20
Update the example typical location for the temporary directory on Windows in the manpages to something newer than where Windows NT or Windows 98 might put it. Fix #18463
2023-03-05docs: Document wmem in Developer's GuideJohn Thacker1-1/+1
Add information from the Wiki Development/Tips page and from README.wmem to the Developer's Guide. Also fix a small typo in README.wmem Fix #17126
2023-02-22doc: Update header preamble for dissector skeletonJoão Valverde1-2/+7
2023-02-19sshdump: add capability to use doas on remote hostJaap Keuter1-12/+66
2023-02-08Man: Update extcap argument type documentationJaap Keuter1-1/+3
2023-02-06Do not require using wsgcrypt.hJoão Valverde1-3/+3
The reason to use wsgcrypt.h was to wrap it around DIAG_OFF() macros and that should no longer be necessary.
2023-02-06generate-dissector.py: allow creating pluginDavid Perry1-0/+71
Tweak the script used for creating a new skeleton dissector, to allow it to create the dissector in `plugins/epan/PROTOSHORTNAME` instead of in `epan/dissectors`. Handles modifying the appropriate CMake file in the appropriate way, and generates the plugin's `CMakeLists.txt` if needed.
2023-01-26Clean up some man pages.Guy Harris4-182/+233
Consistently speak of "UNIX-compatible systems" when comparing UN*Xes and Windows, and, the first time we mention "UNIX-compatible systems" in a section or a list item, enumerate the not-dead-or-moribund ones. (HP-UX is deemed moribund given that Itanium processors are no longer being manufactured and HPE are apparently not porting HP-UX to x86-64, choosing instead to run HP-UX Itanium applications in a compatibility environment under Linux on x86-64.) For the -D option, don't bother mentioning ifconfig -a or ip link show, as there's no reason not to use -D if you want to know what you can caputre on - for one thing, -D may list devices *other* than the network interfaces listed by ifconfig -a or ip link show. In addition, don't speak of code testing whether the interface can be opened, as recent versions of libpcap don't check that, and neither do any of the programs in the Wireshark release. (This was done so that, if there's an itnerface that shows up in the enumeration but that can't be opened, it'll be offered to the user, and they'll get a message if they try to capture on it, indicating either that they need to somehow get the necessary permissions or should report a bug.) For the -i option, don't mention ifconfig -a or ip link show, as the user should, again, use -D. Give more detail when describing files and directories under the global or personal preferences directory, calling out macOS specially for the global preferences directory, as it's in the app bundle, and taking into account that Wireshark might be installed under /usr rather than /usr/local (for example, if it's installed from a package that's part of a Linux distribution). Replace the "Overrides XXX' description of some environment variables with a more verbose description similar to what's used for other environment variables.
2023-01-20GUI: Ship authors as a Qt resource fileJoão Valverde3-65/+0
2023-01-19Install PDML files to DOCDIRJoão Valverde1-4/+0
Add README because this stuff is somewhat obscure and move XSLT file to DOCDIR because it is not used by wireshark directly.
2023-01-19Install documentation (HTML manuals) to DOCDIRJoão Valverde1-4/+10
Install documentation to DOCDIR instead of DATADIR. The code must be fixed to open the Help URLs from this new path. This only affects Unix-like FHS platforms. Windows installation does its own thing. Needs testing with macOS packaging.
2023-01-19Remove dftest man pageJoão Valverde2-58/+0
DFTest is a private test utility and isn't installed anywhere. I don't think it makes sense to maintain a man page. Certainly doesn't make sense to ship it. The doc file is understandably minimal so just nuke it.
2023-01-18AppRun: Set various pathsGerald Combs2-14/+22
Set our ld library path and our data, extcap, and plugin directories. Document WIRESHARK_EXTCAP_DIR and WIRESHARK_PLUGIN_DIR. Note that we might want to set our various directories relative to the program path.
2023-01-17docs: Explain the FT_FRAMENUM use of the strings fieldJohn Thacker1-0/+16
Add a section about FRAMENUM_TYPE to the 'strings' field section of README.dissector
2023-01-12capinfos: Removing RIPEMD160 hashesMichal Ruprich1-1/+1
When reading a packet capture with capinfos on a system with FIPS 140-2 enabled, libgcrypt will abort for any non approved algorithm. In this case the RIPEMD 160.
2023-01-12Remove WS_DISABLE_ASSERTJoão Valverde1-2/+2
Assertions can be enabled/disabled using WS_DISABLE_DEBUG. The extra granularity afforded by WS_DISABLE_ASSERT seems unnecessary.
2023-01-04editcap: flag to set unused bytes in SLL headersJonas Falkevik1-0/+9
Unused bytes in SLL Link Layer address can be random bytes. Which makes the duplicate check think the packets are different. Even if the unused bytes was the only difference. This flag enables editcap to set the unused bytes to zeros to enable the duplicate check to detect duplicates.
2023-01-02[Automatic update for 2023-01-01]Gerald Combs3-5/+5
Update manuf, services enterprise numbers, translations, and other items.
2022-12-21DECT-NWK: Add basic support for DECT charsetsBernhard Dick1-0/+4
2022-12-17Fix some spelling errorsMartin Mathieson1-2/+2
2022-12-08Docs: Remove some leftover Perl POD markup.Gerald Combs1-1/+1
2022-11-08tshark: update man to explain why some fields are skipped in elastic-mapping.Dario Lombardo1-1/+2
2022-11-03WSUG: Document the layer operator.Gerald Combs1-1/+1
Copy over the "layer operator" section from the wireshark-filter man page. Fix the "at operator" level in the wireshark-filter man page.
2022-11-02Fix some spelling errorsMartin Mathieson1-2/+2
2022-10-31dfilter: Add support for raw (bytes) addressing modeJoão Valverde1-0/+20
This adds new syntax to read a field from the tree as bytes, instead of the actual type. This is a useful extension for example to match matformed strings that contain unicode replacement characters. In this case it is not possible to match the raw value of the malformed string field. This extension fills this need and is generic enough that it should be useful in many other situations. The syntax used is to prefix the field name with "@". The following artificial example tests if the HTTP user agent contains a particular invalid UTF-8 sequence: @http.user_agent == "Mozill\xAA" Where simply using "http.user_agent" won't work because the invalid byte sequence will have been replaced with U+FFFD. Considering the following programs: $ dftest '_ws.ftypes.string == "ABC"' Filter: _ws.ftypes.string == "ABC" Syntax tree: 0 TEST_ANY_EQ: 1 FIELD(_ws.ftypes.string <FT_STRING>) 1 FVALUE("ABC" <FT_STRING>) Instructions: 00000 READ_TREE _ws.ftypes.string <FT_STRING> -> reg#0 00001 IF_FALSE_GOTO 3 00002 ANY_EQ reg#0 == "ABC" <FT_STRING> 00003 RETURN $ dftest '@_ws.ftypes.string == "ABC"' Filter: @_ws.ftypes.string == "ABC" Syntax tree: 0 TEST_ANY_EQ: 1 FIELD(_ws.ftypes.string <RAW>) 1 FVALUE(41:42:43 <FT_BYTES>) Instructions: 00000 READ_TREE @_ws.ftypes.string <FT_BYTES> -> reg#0 00001 IF_FALSE_GOTO 3 00002 ANY_EQ reg#0 == 41:42:43 <FT_BYTES> 00003 RETURN In the second case the field has a "raw" type, that equates directly to FT_BYTES, and the field value is read from the protocol raw data.
2022-10-18README.plugins: Fix version variablesUli Heilmeier1-5/+5
Fixes: #18507
2022-10-10epan: Mark tvb_get_const_stringz() as deprecatedJoão Valverde1-14/+0
The function tvb_get_const_stringz() does not check for a string encoding and returns a pointer to a byte array. For this reason it should not be used. Prefer other functions that return a valid UTF-8 string from a source encoding or use tvb_get_ptr() to fetch a byte pointer.
2022-10-07falcodump: Prefill the Cloudtrail profile and region fields.Gerald Combs1-0/+3
Make the cloudtrail-aws-profile and cloudtrail-aws-region settings prefilled selection lists. Make them editable as well.
2022-10-07Qt+extcap: Add editable extcap selectors.Gerald Combs1-0/+1
Add an "editselector" argument type, which lets the user override a predefined selection list with a custom value.
2022-10-07wslua: Use wiretap introspectionJoão Valverde1-14/+0
2022-09-29falcodump: Add support for selection options.Gerald Combs1-0/+11
If a plugin has an "enum" + array in its configuration, convert it to a selector option. Start adding plugin sections to the falcodump man page.
2022-09-28wslog: Add option to make a list of domains fatalJoão Valverde1-2/+5
Add a command line option --log-fatal-domains= and environment variable WIRESHARK_LOG_FATAL_DOMAINS that aborts the programs if a domain in the list is logged to. Negative matches for fatal log domains not implemented for now, pending a relevant use-case.
2022-09-27GTPv2: Add Service Response Time statistics, similar to GTPv1John Thacker1-2/+11
Add a Service Response Time table for GTPv2, similar to that for GTPv1. Update the tshark docs to mention it.
2022-09-27README.Developer: Add notes about string encoding and best-practicesJoão Valverde1-0/+26
2022-09-10Dissector names are not protocol names.Guy Harris1-7/+8
A given protocol's packet format may depend, for example, on which lower-level protocol is transporting the protocol in question. For example, protocols that run atop both byte-stream protocols such as TCP and TLS, and packet-oriented protocols such as UDP or DTLS, might begin the packet with a length when running atop a byte-stream protocol, to indicate where this packet ends and the next packet begins in the byte stream, but not do so when running atop a packet-oriented protocol. Dissectors can handle this in various ways: For example, the dissector could attempt to determine the protocol over which the packet was transported. Unfortunately, many of those mechanisms do so by fetching data from the packet_info structure, and many items in that structure act as global variables, so that, for example, if there are two two PDUs for protocol A inside a TCP segment, and the first protocol for PDU A contains a PDU for protocol B, and protocol B's dissector, or a dissector it calls, modifies the information in the packet_info structure so that it no longer indicates that the parent protocol is TCP, the second PDU for protocol A might not be correctly dissected. Another such mechanism is to query the previous element in the layers structure of the packet_info structure, which is a list of protocol IDs. Unfortunately, that is not a list of earlier protocols in the protocol stack, it's a list of earlier protocols in the dissection, which means that, in the above example, when the second PDU for protocol A is dissected, the list is {...,TCP,A,B,...,A}, which means that the previous element in the list is not TCP, so, again, the second PDU for protocol A will not be correctly dissected. An alternative is to have multiple dissectors for the same protocol, with the part of the protocol that's independent of the protocol transporting the PDU being dissected by common code. Protocol B might have an "over a byte-stream transport" dissector and an "over a packet transport" dissector, with the first dissector being registered for use over TCP and TLS and the other dissector being registered for use over packet protocols. This mechanism, unlike the other mechanisms, is not dependent on information in the packet_info structure that might be affected by dissectors other than the one for the protocol that transports protocol B. Furthermore, in a LINKTYPE_WIRESHARK_UPPER_PDU pcap or pcapng packet for protocol B, there might not be any information to indicate the protocol that transports protocol B, so there would have to be separate dissectors for protocol B, with separate names, so that a tag giving the protocol name would differ for B-over-byte-stream and B-over-packets. So: We rename EXP_PDU_TAG_PROTO_NAME and EXP_PDU_TAG_HEUR_PROTO_NAME to EXP_PDU_TAG_DISSECTOR_NAME and EXP_PDU_TAG_HEUR_DISSECTOR_NAME, to emphasize that they are *not* protocol names, they are dissector names (which has always been the case - if there's a protocol with that name, but no dissector with that name, Wireshark will not be able to handle the packet, as it will try to look up a dissector given that name and fail). We fix that exported PDU dissector to refer to those tags as dissector names, not protocol names. We update documentation to refer to them as DISSECTOR_NAME tags, not PROTO_NAME tags. (If there is any documentation for this outside the Wireshark source, it should be updated as well.) We add comments for calls to dissector_handle_get_dissector_name() where the dissector name is shown to the user, to indicate that it might be that the protocol name should be used. We update the TLS and DTLS dissectors to show the encapsulated protocol as the string returned by dissector_handle_get_long_name(); as the default is "Application Data", it appeaers that a descriptive name, rather than a short API name, should be used. (We continue to use the dissector name in debugging messages, to indicate which dissector was called.)
2022-09-01CMake: Split more Wireshark/Logray variables.Gerald Combs1-2/+6
Split our macOS application bundle variables into Wireshark- and Logray-specific ones. Make sure Logray's PkgInfo and CFBundleSignature match.
2022-08-29extcap: Add falcodump.Gerald Combs2-0/+132
Add an extcap that fetches a scap from a Falco/libsinsp plugin. Tested using the cloudtrail plugin.
2022-08-23Qt6: Adapt various docsRoland Knall1-2/+2
2022-08-19Fix some spelling errorsMartin Mathieson1-3/+3
2022-08-15docs: Update the sample dissectorJohn Thacker1-33/+61
Update the sample dissector for some best practices, and avoid some deprecated behavior. Use register_protocol instead of creating an anonymous dissector handle, so that Lua, Export PDU, custom User DLT disection, etc. can find it. (See #5612) Use auto preferences and prefer port ranges when possible (See #14319)
2022-08-10sshdump: add option to select dumpcap as remote capture commandJaap Keuter1-12/+34
2022-08-08Docs: Clean up some Python references.Gerald Combs3-8/+5
Make sure we captitalize Python and use its HTTPS URL.
2022-08-02epan: Refactor floating point display typesJoão Valverde1-0/+6
Remove the redundant BASE_FLOAT field display type. The name BASE_FLOAT is meaningless and the value aliased to BASE_NONE. Require BASE_NONE instead of BASE_FLOAT (corresponding to the printf() %g format). Add new float display types using BASE_DEC, BASE_HEX and BASE_EXP corresponfing to %f, %a and %e respectively. Add support for BASE_CUSTOM with floats.
2022-07-31Docs: extcap man page fixups.Gerald Combs1-27/+11
2022-07-29Docs: Fix our man page dependencies.Gerald Combs1-2/+0
Dependencies need to be set via add_custom_command.
2022-07-26doc: Update README.display_filterStig Bjørlykke1-9/+2
Update fvalue_t definition in README.display_filter.
2022-07-23docbook: Port make-wsluarm to Python3Gerald Combs1-10/+10
Port the script that creates docbook/wsluarm_src/*.adoc to Python3. Ping #18152.
2022-07-22ciscodump: Added support for IOS XE and ASAJirka Novak1-57/+157
Changes: - The tool now recognizes which software is running on a device - IOS, IOS XE or ASA. Based on it, it uses correct sequence of commands to setup capture, read captured packets and clear the capture. - The tool reads packets on the fly so you don't have to wait till --remote-count of packets is reached. - The tool reads timestamps from capture on the device for IOS and ASA (on IOS-XE, there is no timestamp in dump). - Except Windows platform the tool handles early stop of capture on the device and clear of capture buffer on the device (it finish the capture). - There are special interface names to allow the tool to generate specific capture types. - Documentation updated. Closes #17672.
2022-07-13ExtcapExample: Harden and alternate mac addressRoland Knall1-8/+35
Harden the code a little and alternate the mac address to allow the code to be used for testing conversation and endpoint dialog. Also transmit integer values not as ascii representations and include a data packet that allows for reassembly to be tested