source: networking/netutils/wireshark.xml@ 2778b33f

trunk
Last change on this file since 2778b33f was 2778b33f, checked in by Douglas R. Reno <renodr@…>, 9 hours ago

Update to wireshark-4.4.1 (Security Update)

  • Property mode set to 100644
File size: 19.2 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY wireshark-download-http "https://www.wireshark.org/download/src/all-versions/wireshark-&wireshark-version;.tar.xz">
8 <!ENTITY wireshark-download-ftp " ">
9 <!ENTITY wireshark-md5sum "f6c14c48f2c5fe8d7bd52236a0a4001f">
10 <!ENTITY wireshark-size "45 MB">
11 <!ENTITY wireshark-buildsize "924 MB (171 MB installed)">
12 <!ENTITY wireshark-time "3.3 SBU (with parallelism=4)">
13]>
14
15<!-- Gentle reminder: many Wireshark releases contain vulnerability fixes,
16 we have not always been aware of these. At https://www.wireshark.org/security/
17 there is a list of advisories and the version in which they were fixed.
18
19 If you click on an advisory, after the bug number in the References:
20 there may be a CVE number, although perhaps those get added some time after
21 the release. Perhaps as a general rule treat ALL their advisories for crashes
22 etc as worthy of a security fix. -->
23
24<sect1 id="wireshark" xreflabel="Wireshark-&wireshark-version;">
25 <?dbhtml filename="wireshark.html"?>
26
27
28 <title>Wireshark-&wireshark-version;</title>
29
30 <indexterm zone="wireshark">
31 <primary sortas="a-Wireshark">Wireshark</primary>
32 </indexterm>
33
34 <sect2 role="package">
35 <title>Introduction to Wireshark</title>
36
37 <para>
38 The <application>Wireshark</application> package contains a network
39 protocol analyzer, also known as a <quote>sniffer.</quote> This is useful
40 for analyzing data captured <quote>off the wire</quote> from a live
41 network connection, or data read from a capture file.
42 </para>
43
44 <para>
45 <application>Wireshark</application> provides both a graphical and a
46 TTY-mode front-end for examining captured network packets from over 500
47 protocols, as well as the capability to read capture files from many
48 other popular network analyzers.
49 </para>
50
51 &lfs122_checked;
52
53 <bridgehead renderas="sect3">Package Information</bridgehead>
54 <itemizedlist spacing="compact">
55 <listitem>
56 <para>
57 Download (HTTP): <ulink url="&wireshark-download-http;"/>
58 </para>
59 </listitem>
60 <listitem>
61 <para>
62 Download (FTP): <ulink url="&wireshark-download-ftp;"/>
63 </para>
64 </listitem>
65 <listitem>
66 <para>
67 Download MD5 sum: &wireshark-md5sum;
68 </para>
69 </listitem>
70 <listitem>
71 <para>
72 Download size: &wireshark-size;
73 </para>
74 </listitem>
75 <listitem>
76 <para>
77 Estimated disk space required: &wireshark-buildsize;
78 </para>
79 </listitem>
80 <listitem>
81 <para>
82 Estimated build time: &wireshark-time;
83 </para>
84 </listitem>
85 </itemizedlist>
86
87 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
88 <itemizedlist spacing="compact">
89 <!--
90 <listitem>
91 <para>
92 Required patch to build with Python-3.12:
93 <ulink url="&patch-root;/wireshark-&wireshark-version;-py_3.12_fix-1.patch"/>
94 </para>
95 </listitem>
96 -->
97 <listitem>
98 <para>
99 Additional Documentation:
100 <ulink url="https://www.wireshark.org/download/docs/"/>
101 (contains links to several different docs in a variety of formats)
102 </para>
103 </listitem>
104 </itemizedlist>
105
106 <bridgehead renderas="sect3">Wireshark dependencies</bridgehead>
107
108 <bridgehead renderas="sect4">Required</bridgehead>
109 <para role="required">
110 <xref linkend="cmake"/>,
111 <xref linkend="c-ares"/>,
112 <xref linkend="glib2"/>,
113 <xref linkend="libgcrypt"/>,
114 <xref linkend="qt6"/>, and
115 <xref linkend="speex"/>
116 </para>
117<!--
118 <note>
119 <para>
120 <xref linkend="qt6"/> is not strictly required, since it can be
121 replaced with <application>Qt5</application>. See <quote>Command
122 explanations</quote> below.
123 </para>
124 </note>
125-->
126 <bridgehead renderas="sect4">Recommended</bridgehead>
127 <para role="recommended">
128 <xref linkend="libpcap"/> (required to capture data)
129 </para>
130
131 <bridgehead renderas="sect4">Optional</bridgehead>
132 <para role="optional">
133 <xref linkend="asciidoctor"/>,
134 <xref linkend="brotli"/>,
135 <xref linkend="cups"/>,
136 <xref linkend="doxygen"/>,
137 <xref linkend="git"/>,
138 <xref linkend="gnutls"/>,
139 <xref linkend="libnl"/>,
140 <xref linkend="libxslt"/>,
141 <xref linkend="libxml2"/>,
142 <xref linkend="lua"/>,
143 <xref linkend="mitkrb"/>,
144 <xref linkend="nghttp2"/>,
145 <xref linkend="sbc"/>,
146 <xref linkend="vulkan-headers"/>,
147 <ulink url="https://www.linphone.org/technical-corner/bcg729">BCG729</ulink>,
148 <ulink url="https://github.com/TimothyGu/libilbc">libilbc</ulink>,
149 <ulink url="https://www.ibr.cs.tu-bs.de/projects/libsmi/">libsmi</ulink>,
150 <ulink url="https://www.libssh.org/">libssh</ulink>,
151 <ulink url="https://github.com/maxmind/libmaxminddb">MaxMindDB</ulink>,
152 <ulink url="https://www.winimage.com/zLibDll/minizip.html">Minizip</ulink>,
153 <ulink url="https://github.com/ngtcp2/nghttp3">nghttp3</ulink>,
154 <ulink url="https://google.github.io/snappy/">Snappy</ulink>, and
155 <ulink url="https://github.com/freeswitch/spandsp">Spandsp</ulink>
156 </para>
157
158 </sect2>
159
160 <sect2 role="kernel" id="wireshark-kernel">
161 <title>Kernel Configuration</title>
162
163 <para>
164 The kernel must have the Packet protocol enabled for <application>
165 Wireshark</application> to capture live packets from the network:
166 </para>
167
168 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
169 href="wireshark-kernel.xml"/>
170
171 <para>
172 If built as a module, the name is <filename>af_packet.ko</filename>.
173 </para>
174
175 <indexterm zone="wireshark wireshark-kernel">
176 <primary sortas="d-Capturing-network-packets">
177 Capturing network packets
178 </primary>
179 </indexterm>
180
181 </sect2>
182
183 <sect2 role="installation">
184 <title>Installation of Wireshark</title>
185
186 <para>
187 <application>Wireshark</application> is a very large and complex
188 application. These instructions provide additional security measures to
189 ensure that only trusted users are allowed to view network traffic. First,
190 set up a system group for wireshark. As the <systemitem
191 class="username">root</systemitem> user:
192 </para>
193
194<screen role="root"><userinput>groupadd -g 62 wireshark</userinput></screen>
195
196 <para>
197 Continue to install <application>Wireshark</application> by running
198 the following commands:
199 </para>
200
201<screen><userinput>mkdir build &amp;&amp;
202cd build &amp;&amp;
203
204cmake -D CMAKE_INSTALL_PREFIX=/usr \
205 -D CMAKE_BUILD_TYPE=Release \
206 -D CMAKE_INSTALL_DOCDIR=/usr/share/doc/wireshark-&wireshark-version; \
207 -G Ninja \
208 .. &amp;&amp;
209ninja</userinput></screen>
210
211 <para>
212 This package does not come with a test suite.
213 </para>
214
215 <para>
216 Now, as the <systemitem class="username">root</systemitem> user:
217 </para>
218
219<screen role="root"><userinput>ninja install &amp;&amp;
220
221install -v -m755 -d /usr/share/doc/wireshark-&wireshark-version; &amp;&amp;
222install -v -m644 ../README.linux ../doc/README.* ../doc/randpkt.txt \
223 /usr/share/doc/wireshark-&wireshark-version; &amp;&amp;
224
225pushd /usr/share/doc/wireshark-&wireshark-version; &amp;&amp;
226 for FILENAME in ../../wireshark/*.html; do
227 ln -s -v -f $FILENAME .
228 done &amp;&amp;
229popd
230unset FILENAME</userinput></screen>
231
232 <para>
233 If you downloaded any of the documentation files from the page
234 listed in the 'Additional Downloads', install them by issuing the
235 following commands as the <systemitem class="username">root</systemitem>
236 user:
237 </para>
238
239<screen role="root"
240 remap="doc"><userinput>install -v -m644 <replaceable>&lt;Downloaded_Files&gt;</replaceable> \
241 /usr/share/doc/wireshark-&wireshark-version;</userinput></screen>
242
243 <para>
244 Now, set ownership and permissions of sensitive applications to only
245 allow authorized users. As the <systemitem class="username">root
246 </systemitem> user:
247 </para>
248
249<screen role="root"><userinput>chown -v root:wireshark /usr/bin/tshark &amp;&amp;
250chmod -v 6550 /usr/bin/tshark</userinput></screen>
251
252 <para>
253 Finally, add any users to the wireshark group (as <systemitem class=
254 "username">root</systemitem> user):
255 </para>
256
257 <screen role="root"><userinput>usermod -a -G wireshark <replaceable>&lt;username&gt;</replaceable></userinput></screen>
258
259 <para>
260 If you are installing wireshark for the first time, it will be necessary
261 to logout of your session and login again. This will put wireshark in your
262 groups, because otherwise Wireshark will not function properly.
263 </para>
264
265 </sect2>
266
267 <sect2 role="configuration">
268 <title>Configuring Wireshark</title>
269
270 <sect3 id="wireshark-config">
271 <title>Config Files</title>
272
273 <para>
274 <filename>/etc/wireshark.conf</filename> and
275 <filename>~/.config/wireshark/*</filename> (unless there is already
276 <filename>~/.wireshark/*</filename> in the system)
277 </para>
278
279 <indexterm zone="wireshark wireshark-config">
280 <primary sortas="e-AA.wireshark-star">~/.wireshark/*</primary>
281 </indexterm>
282
283 <indexterm zone="wireshark wireshark-config">
284 <primary sortas="e-etc-wireshark.conf">/etc/wireshark.conf</primary>
285 </indexterm>
286
287 </sect3>
288
289 <sect3>
290 <title>Configuration Information</title>
291
292 <para>
293 Though the default configuration parameters are very sane, reference
294 the configuration section of the <ulink url=
295 "https://www.wireshark.org/docs/wsug_html/">Wireshark User's Guide
296 </ulink> for configuration information. Most of <application>Wireshark
297 </application>'s configuration can be accomplished
298 using the menu options of the <command>wireshark</command> graphical
299 interfaces.
300 </para>
301
302 <note>
303 <para>
304 If you want to look at packets, make sure you don't filter them
305 out with <xref linkend="iptables"/>. If you want to exclude certain
306 classes of packets, it is more efficient to do it with
307 <application>iptables</application> than it is with
308 <application>Wireshark</application>.
309 </para>
310 </note>
311
312 </sect3>
313
314 </sect2>
315
316 <sect2 role="content">
317 <title>Contents</title>
318
319 <segmentedlist>
320 <segtitle>Installed Programs</segtitle>
321 <segtitle>Installed Libraries</segtitle>
322 <segtitle>Installed Directories</segtitle>
323
324 <seglistitem>
325 <seg>
326 capinfos, captype, editcap, idl2wrs,
327 mergecap, randpkt, rawshark, reordercap, sharkd,
328 text2pcap, tshark, and wireshark
329 </seg>
330 <seg>
331 libwireshark.so, libwiretap.so,
332 libwsutil.so, and numerous modules under /usr/lib/wireshark/plugins
333 </seg>
334 <seg>
335 /usr/{lib,share}/wireshark and
336 /usr/share/doc/wireshark-&wireshark-version;
337 </seg>
338 </seglistitem>
339 </segmentedlist>
340
341 <variablelist>
342 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
343 <?dbfo list-presentation="list"?>
344 <?dbhtml list-presentation="table"?>
345
346 <varlistentry id="capinfos">
347 <term><command>capinfos</command></term>
348 <listitem>
349 <para>
350 reads a saved capture file and returns any or all of several
351 statistics about that file. It is able to detect and read any
352 capture supported by the <application>Wireshark</application>
353 package
354 </para>
355 <indexterm zone="wireshark capinfos">
356 <primary sortas="b-capinfos">capinfos</primary>
357 </indexterm>
358 </listitem>
359 </varlistentry>
360
361 <varlistentry id="captype">
362 <term><command>captype</command></term>
363 <listitem>
364 <para>
365 prints the file types of capture files
366 </para>
367 <indexterm zone="wireshark captype">
368 <primary sortas="b-captype">captype</primary>
369 </indexterm>
370 </listitem>
371 </varlistentry>
372<!-- No longer built/installed
373 <varlistentry id="dumpcap">
374 <term><command>dumpcap</command></term>
375 <listitem>
376 <para>
377 is a network traffic dump tool. It lets you capture packet data
378 from a live network and write the packets to a file
379 </para>
380 <indexterm zone="wireshark dumpcap">
381 <primary sortas="b-dumpcap">dumpcap</primary>
382 </indexterm>
383 </listitem>
384 </varlistentry>
385-->
386 <varlistentry id="editcap">
387 <term><command>editcap</command></term>
388 <listitem>
389 <para>
390 edits and/or translates the format of capture files. It knows
391 how to read <application>libpcap</application> capture files,
392 including those of <command>tcpdump</command>,
393 <application>Wireshark</application> and other tools that write
394 captures in that format
395 </para>
396 <indexterm zone="wireshark editcap">
397 <primary sortas="b-editcap">editcap</primary>
398 </indexterm>
399 </listitem>
400 </varlistentry>
401
402 <varlistentry id="idl2wrs">
403 <term><command>idl2wrs</command></term>
404 <listitem>
405 <para>
406 is a program that takes a user specified CORBA IDL file and
407 generates <quote>C</quote> source code for a
408 <application>Wireshark</application> <quote>plugin.</quote> It
409 relies on two Python programs <command>wireshark_be.py</command>
410 and <command>wireshark_gen.py</command>, which are not installed
411 by default. They have to be copied manually from the
412 <filename class="directory">tools</filename> directory to the
413 <filename class="directory">$PYTHONPATH/site-packages/</filename>
414 directory
415 </para>
416 <indexterm zone="wireshark idl2wrs">
417 <primary sortas="b-idl2wrs">idl2wrs</primary>
418 </indexterm>
419 </listitem>
420 </varlistentry>
421
422 <varlistentry id="mergecap">
423 <term><command>mergecap</command></term>
424 <listitem>
425 <para>
426 combines multiple saved capture files into a single output file
427 </para>
428 <indexterm zone="wireshark mergecap">
429 <primary sortas="b-mergecap">mergecap</primary>
430 </indexterm>
431 </listitem>
432 </varlistentry>
433
434 <varlistentry id="randpkt">
435 <term><command>randpkt</command></term>
436 <listitem>
437 <para>
438 creates random-packet capture files
439 </para>
440 <indexterm zone="wireshark randpkt">
441 <primary sortas="b-randpkt">randpkt</primary>
442 </indexterm>
443 </listitem>
444 </varlistentry>
445
446 <varlistentry id="rawshark">
447 <term><command>rawshark</command></term>
448 <listitem>
449 <para>
450 dumps and analyzes raw libpcap data
451 </para>
452 <indexterm zone="wireshark rawshark">
453 <primary sortas="b-rawshark">rawshark</primary>
454 </indexterm>
455 </listitem>
456 </varlistentry>
457
458 <varlistentry id="reordercap">
459 <term><command>reordercap</command></term>
460 <listitem>
461 <para>
462 reorders timestamps of input file frames into an output file
463 </para>
464 <indexterm zone="wireshark reordercap">
465 <primary sortas="b-reordercap">reordercap</primary>
466 </indexterm>
467 </listitem>
468 </varlistentry>
469
470 <varlistentry id="sharkd">
471 <term><command>sharkd</command></term>
472 <listitem>
473 <para>
474 is a daemon that listens on UNIX sockets
475 </para>
476 <indexterm zone="wireshark sharkd">
477 <primary sortas="b-sharkd">sharkd</primary>
478 </indexterm>
479 </listitem>
480 </varlistentry>
481
482 <varlistentry id="text2pcap">
483 <term><command>text2pcap</command></term>
484 <listitem>
485 <para>
486 reads in an ASCII hex dump and writes the data described into a
487 <application>libpcap</application>-style capture file
488 </para>
489 <indexterm zone="wireshark text2pcap">
490 <primary sortas="b-text2pcap">text2pcap</primary>
491 </indexterm>
492 </listitem>
493 </varlistentry>
494
495 <varlistentry id="tshark">
496 <term><command>tshark</command></term>
497 <listitem>
498 <para>
499 is a TTY-mode network protocol analyzer. It lets you capture
500 packet data from a live network or read packets from a
501 previously saved capture file
502 </para>
503 <indexterm zone="wireshark tshark">
504 <primary sortas="b-tshark">tshark</primary>
505 </indexterm>
506 </listitem>
507 </varlistentry>
508
509 <varlistentry id="wireshark-prog">
510 <term><command>wireshark</command></term>
511 <listitem>
512 <para>
513 is the Qt GUI network protocol analyzer. It lets you interactively
514 browse packet data from a live network or from a previously saved
515 capture file
516 </para>
517 <indexterm zone="wireshark wireshark-prog">
518 <primary sortas="b-wireshark">wireshark</primary>
519 </indexterm>
520 </listitem>
521 </varlistentry>
522<!-- seems to have disappeared
523 <varlistentry id="wireshark-gtk-prog">
524 <term><command>wireshark-gtk</command></term>
525 <listitem>
526 <para>
527 is the Gtk+ GUI network protocol analyzer. It lets you interactively
528 browse packet data from a live network or from a previously saved
529 capture file (optional).
530 </para>
531 <indexterm zone="wireshark wireshark-gtk-prog">
532 <primary sortas="b-wireshark-gtk">wireshark-gtk</primary>
533 </indexterm>
534 </listitem>
535 </varlistentry>
536-->
537 <varlistentry id="libwireshark">
538 <term><filename class="libraryfile">libwireshark.so</filename></term>
539 <listitem>
540 <para>
541 contains functions used by the <application>Wireshark</application>
542 programs to perform filtering and packet capturing
543 </para>
544 <indexterm zone="wireshark libwireshark">
545 <primary sortas="c-libwireshark">libwireshark.so</primary>
546 </indexterm>
547 </listitem>
548 </varlistentry>
549
550 <varlistentry id="libwiretap">
551 <term><filename class="libraryfile">libwiretap.so</filename></term>
552 <listitem>
553 <para>
554 is a library being developed as a future replacement for
555 <filename class="libraryfile">libpcap</filename>, the current
556 standard Unix library for packet capturing. For more information,
557 see the <filename>README</filename> file in the source
558 <filename class="directory">wiretap</filename> directory
559 </para>
560 <indexterm zone="wireshark libwiretap">
561 <primary sortas="c-libwiretap">libwiretap.so</primary>
562 </indexterm>
563 </listitem>
564 </varlistentry>
565
566 </variablelist>
567
568 </sect2>
569
570</sect1>
Note: See TracBrowser for help on using the repository browser.