1 // WSUG Chapter Introduction
11 Wireshark is a network packet analyzer. A network packet analyzer
12 presents captured packet data in as much detail as possible.
14 You could think of a network packet analyzer as a measuring device for
15 examining what’s happening inside a network cable, just like an electrician uses
16 a voltmeter for examining what’s happening inside an electric cable (but at a
17 higher level, of course).
19 In the past, such tools were either very expensive, proprietary, or both.
20 However, with the advent of Wireshark, that has changed. Wireshark is
21 available for free, is open source, and is one of the best packet
22 analyzers available today.
26 ==== Some intended purposes
28 Here are some reasons people use Wireshark:
30 * Network administrators use it to _troubleshoot network problems_
32 * Network security engineers use it to _examine security problems_
34 * QA engineers use it to _verify network applications_
36 * Developers use it to _debug protocol implementations_
38 * People use it to _learn network protocol_ internals
40 Wireshark can also be helpful in many other situations.
46 The following are some of the many features Wireshark provides:
48 * Available for _UNIX_ and _Windows_.
50 * _Capture_ live packet data from a network interface.
52 * _Open_ files containing packet data captured with tcpdump/WinDump,
53 Wireshark, and many other packet capture programs.
55 * _Import_ packets from text files containing hex dumps of packet data.
57 * Display packets with _very detailed protocol information_.
59 * _Save_ packet data captured.
61 * _Export_ some or all packets in a number of capture file formats.
63 * _Filter packets_ on many criteria.
65 * _Search_ for packets on many criteria.
67 * _Colorize_ packet display based on filters.
69 * Create various _statistics_.
71 * ...and _a lot more!_
73 However, to really appreciate its power you have to start using it.
75 <<ChIntroFig1>> shows Wireshark having captured some packets and waiting for you
79 .Wireshark captures packets and lets you examine their contents.
80 image::images/ws-main.png[{screenshot-attrs}]
82 ==== Live capture from many different network media
84 Wireshark can capture traffic from many different network media types,
85 including Ethernet, Wireless LAN, Bluetooth, USB, and more. The specific media
86 types supported may be limited by several factors, including your hardware
87 and operating system. An overview of the supported media types can be found at
88 link:{wireshark-wiki-url}CaptureSetup/NetworkMedia[].
90 ==== Import files from many other capture programs
92 Wireshark can open packet captures from a large number of capture
93 programs. For a list of input formats see <<ChIOInputFormatsSection>>.
95 ==== Export files for many other capture programs
97 Wireshark can save captured packets in many formats, including those used by other
98 capture programs. For a list of output formats see <<ChIOOutputFormatsSection>>.
100 ==== Many protocol dissectors
102 There are protocol dissectors (or decoders, as they are known in other products)
103 for a great many protocols: see <<AppProtocols>>.
105 ==== Open Source Software
107 Wireshark is an open source software project, and is released under the
108 {gplv2-url}[GNU General Public License] (GPL). You can freely use
109 Wireshark on any number of computers you like, without worrying about license
110 keys or fees or such. In addition, all source code is freely available under the
111 GPL. Because of that, it is very easy for people to add new protocols to
112 Wireshark, either as plugins, or built into the source, and they often do!
116 ==== What Wireshark is not
118 Here are some things Wireshark does not provide:
120 * Wireshark isn’t an intrusion detection system. It will not warn you when
121 someone does strange things on your network that he/she isn’t allowed to do.
122 However, if strange things happen, Wireshark might help you figure out what is
125 * Wireshark will not manipulate things on the network, it will only “measure”
126 things from it. Wireshark doesn’t send packets on the network or do other
127 active things (except domain name resolution, but that can be disabled).
131 === System Requirements
133 The amount of resources Wireshark needs depends on your environment and on the
134 size of the capture file you are analyzing. The values below should be fine for
135 small to medium-sized capture files no more than a few hundred MB. Larger
136 capture files will require more memory and disk space.
139 .Busy networks mean large captures
141 A busy network can produce huge capture files. Capturing on
142 even a 100 megabit network can produce hundreds of megabytes of
143 capture data in a short time. A computer with a fast processor, and lots of
144 memory and disk space is always a good idea.
147 If Wireshark runs out of memory it will crash. See
148 {wireshark-wiki-url}KnownBugs/OutOfMemory for details and workarounds.
150 Although Wireshark uses a separate process to capture packets, the packet
151 analysis is single-threaded and won’t benefit much from multi-core systems.
153 ==== Microsoft Windows
155 Wireshark should support any version of Windows that is still within its
156 https://windows.microsoft.com/en-us/windows/lifecycle[extended support
157 lifetime]. At the time of writing this includes Windows 11, 10,
161 It also requires the following:
163 * The Universal C Runtime. This is included with Windows 10 and Windows
164 Server 2019 and is installed automatically on earlier versions if
165 Microsoft Windows Update is enabled. Otherwise you must install
166 https://support.microsoft.com/kb/2999226[KB2999226] or
167 https://support.microsoft.com/kb/3118401[KB3118401].
169 * Any modern 64-bit Intel or Arm processor.
171 * 500 MB available RAM. Larger capture files require more RAM.
173 * 500 MB available disk space. Capture files require additional disk space.
175 * Any modern display. 1280 {multiplication} 1024 or higher resolution is
176 recommended. Wireshark will make use of HiDPI or Retina resolutions if
177 available. Power users will find multiple monitors useful.
179 * A supported network card for capturing
181 - Ethernet. Any card supported by Windows should work. See the wiki pages on
182 link:{wireshark-wiki-url}CaptureSetup/Ethernet[Ethernet capture] and
183 link:{wireshark-wiki-url}CaptureSetup/Offloading[offloading] for issues that
184 may affect your environment.
186 - 802.11. See the {wireshark-wiki-url}CaptureSetup/WLAN#Windows[Wireshark
187 wiki page]. Capturing raw 802.11 information may be difficult without
190 - Other media. See link:{wireshark-wiki-url}CaptureSetup/NetworkMedia[].
192 Older versions of Windows which are outside Microsoft’s extended lifecycle
193 support window are no longer supported. It is often difficult or impossible to
194 support these systems due to circumstances beyond our control, such as third
195 party libraries on which we depend or due to necessary features that are only
196 present in newer versions of Windows such as hardened security or memory
199 * Wireshark 4.2 was the last release branch to officially support Windows 10.
200 * Wireshark 4.0 was the last release branch to officially support Windows 8.1 and Windows Server 2012.
201 * Wireshark 3.6 was the last release branch to officially support 32-bit Windows.
202 * Wireshark 3.2 was the last release branch to officially support Windows 7 and Windows Server 2008 R2.
203 * Wireshark 2.2 was the last release branch to support Windows Vista and Windows Server 2008 sans R2
204 * Wireshark 1.12 was the last release branch to support Windows Server 2003.
205 * Wireshark 1.10 was the last release branch to officially support Windows XP.
207 See the link:{wireshark-wiki-url}Development/LifeCycle[Wireshark release lifecycle] page for more details.
211 Wireshark supports macOS 11 and later.
212 Similar to Windows, supported macOS versions depend on third party libraries and on Apple’s requirements.
214 // Wireshark 4.4 ships with Qt 6.5.3, which requires macOS 11 and later
215 // Wireshark 4.2 ships with Qt 6.2.4, which requires macOS 10.14 and later
216 // Wireshark 4.0 ships with Qt 6.2.4, which requires macOS 10.14 and later
217 // Wireshark 3.6 ships with Qt 5.15, which requires macOS 10.13 and later.
218 // Wireshark 3.4, 3.2 and 3.0 ship with Qt 5.12, which requires macOS 10.12 and later.
219 // Wireshark 2.6 ships with Qt 5.3, which was the last release to support 10.6: https://wiki.qt.io/New_Features_in_Qt_5.3
220 // "Mac OS 10.6 support is deprecated and scheduled for removal in Qt 5.4"
222 * Wireshark 4.2 was the last release branch to support macOS 10.14.
223 * Wireshark 3.6 was the last release branch to support macOS 10.13.
224 * Wireshark 3.4 was the last release branch to support macOS 10.12.
225 * Wireshark 2.6 was the last release branch to support Mac OS X 10.6 and 10.7 and OS X 10.8 to 10.11.
226 * Wireshark 2.0 was the last release branch to support OS X on 32-bit Intel.
227 * Wireshark 1.8 was the last release branch to support Mac OS X on PowerPC.
229 See the link:{wireshark-wiki-url}Development/LifeCycle[Wireshark release lifecycle] page for more details.
231 The system requirements should be comparable to the specifications listed above for Windows.
233 ==== UNIX, Linux, and BSD
235 Wireshark runs on most UNIX and UNIX-like platforms including Linux and most BSD variants.
236 The system requirements should be comparable to the specifications listed above for Windows.
238 Binary packages are available for most Unices and Linux distributions
239 including the following platforms:
261 * Red Hat Enterprise Linux / CentOS / Fedora
263 If a binary package is not available for your platform you can download
264 the source and try to build it. Please report your experiences to
265 mailto:{wireshark-dev-list-email}[].
269 === Where To Get Wireshark
271 You can get the latest copy of the program from the Wireshark website at {wireshark-download-url}.
272 The download page should automatically highlight the appropriate download for your platform and direct you to the nearest mirror.
273 Official Windows and macOS installers are signed by *Wireshark Foundation* using trusted certificates on those platforms.
274 macOS installers are additionally notarized.
276 A new Wireshark version typically becomes available every six weeks.
278 If you want to be notified about new Wireshark releases you should subscribe to the wireshark-announce mailing list.
279 You will find more details in <<ChIntroMailingLists>>.
281 Each release includes a list of file hashes which are sent to the wireshark-announce mailing list and placed in a file named SIGNATURES-_x_._y_._z_.txt.
282 Announcement messages are archived at https://lists.wireshark.org/archives/wireshark-announce/ and SIGNATURES files can be found at https://www.wireshark.org/download/src/all-versions/.
283 Both are GPG-signed and include verification instructions for Windows, Linux, and macOS.
284 As noted above, you can also verify downloads on Windows and macOS using the code signature validation features on those systems.
288 === A Brief History Of Wireshark
290 In late 1997 Gerald Combs needed a tool for tracking down network problems
291 and wanted to learn more about networking so he started writing Ethereal (the
292 original name of the Wireshark project) as a way to solve both problems.
294 Ethereal was initially released after several pauses in development in July
295 1998 as version 0.2.0. Within days patches, bug reports, and words of
296 encouragement started arriving and Ethereal was on its way to success.
298 Not long after that Gilbert Ramirez saw its potential and contributed a
299 low-level dissector to it.
301 In October, 1998 Guy Harris was looking for something better than tcpview so he
302 started applying patches and contributing dissectors to Ethereal.
304 In late 1998 Richard Sharpe, who was giving TCP/IP courses, saw its potential
305 on such courses and started looking at it to see if it supported the protocols
306 he needed. While it didn’t at that point new protocols could be easily added.
307 So he started contributing dissectors and contributing patches.
309 The list of people who have contributed to the project has become very long
310 since then, and almost all of them started with a protocol that they needed that
311 Wireshark did not already handle. So they copied an existing dissector and
312 contributed the code back to the team.
314 In 2006 the project moved house and re-emerged under a new name: Wireshark.
316 In 2008, after ten years of development, Wireshark finally arrived at version
317 1.0. This release was the first deemed complete, with the minimum features
318 implemented. Its release coincided with the first Wireshark Developer and User
319 Conference, called Sharkfest.
321 In 2015 Wireshark 2.0 was released, which featured a new user interface.
323 In 2023 Wireshark moved to the link:{wireshark-foundation-url}[Wireshark Foundation], a nonprofit corporation that operates under section 501(c)(3) of the U.S. tax code.
324 The foundation provides the project's infrastructure, hosts link:{sharkfest-url}[SharkFest], our developer and user conference, and promotes low level network education.
326 [#ChIntroMaintenance]
328 === Development And Maintenance Of Wireshark
330 Wireshark was initially developed by Gerald Combs. Ongoing development and
331 maintenance of Wireshark is handled by the Wireshark team, a loose group of
332 individuals who fix bugs and provide new functionality.
334 There have also been a large number of people who have contributed
335 protocol dissectors to Wireshark, and it is expected that this will
336 continue. You can find a list of the people who have contributed code to
337 Wireshark by checking the about dialog box of Wireshark, or at the
338 link:{wireshark-authors-url}[authors] page on the Wireshark web site.
340 Wireshark is an open source software project, and is released under the
341 {gplv2-url}[GNU General Public License] (GPL) version 2. All source code is
342 freely available under the GPL. You are welcome to modify Wireshark to suit your
343 own needs, and it would be appreciated if you contribute your improvements back
344 to the Wireshark team.
346 You gain three benefits by contributing your improvements back to the community:
348 . Other people who find your contributions useful will appreciate them, and you
349 will know that you have helped people in the same way that the developers of
350 Wireshark have helped you.
352 . The developers of Wireshark can further improve your changes or implement
353 additional features on top of your code, which may also benefit you.
355 . The maintainers and developers of Wireshark will maintain your code,
356 fixing it when API changes or other changes are made, and generally keeping it
357 in tune with what is happening with Wireshark. So when Wireshark is updated
358 (which is often), you can get a new Wireshark version from the website
359 and your changes will already be included without any additional effort from you.
361 The Wireshark source code and binary kits for some platforms are all
362 available on the download page of the Wireshark website:
363 {wireshark-download-url}.
367 === Reporting Problems And Getting Help
369 If you have problems or need help with Wireshark there are several places that
370 may be of interest (besides this guide, of course).
376 You will find lots of useful information on the Wireshark homepage at
377 {wireshark-main-url}.
383 The Wireshark Wiki at {wireshark-wiki-url} provides a
384 wide range of information related to Wireshark and packet capture in general.
385 You will find a lot of information not part of this user’s guide. For example,
386 it contains an explanation how to capture on a switched network, an ongoing effort
387 to build a protocol reference, protocol-specific information, and much more.
389 And best of all, if you would like to contribute your knowledge on a specific
390 topic (maybe a network protocol you know well), you can edit the wiki pages
391 with your web browser.
397 The Wireshark Q&A site at {wireshark-qa-url} offers a resource where
398 questions and answers come together. You can search for
399 questions asked before and see what answers were given by people who
400 knew about the issue. Answers are ranked, so you can easily pick out the best
401 ones. If your question hasn’t been discussed before you can post
408 The Frequently Asked Questions lists often asked questions and their
409 corresponding answers.
414 Before sending any mail to the mailing lists below, be sure to read the FAQ. It
415 will often answer any questions you might have. This will save yourself and
416 others a lot of time. Keep in mind that a lot of people are subscribed to the
420 You will find the FAQ inside Wireshark by clicking the menu item Help/Contents
421 and selecting the FAQ page in the dialog shown.
423 An online version is available at the Wireshark website at
424 {wireshark-faq-url}. You might prefer this online version, as it’s
425 typically more up to date and the HTML format is easier to use.
427 [#ChIntroMailingLists]
431 There are several mailing lists of specific Wireshark topics available:
433 link:{wireshark-mailing-lists-url}wireshark-announce[wireshark-announce]::
434 Information about new program releases, which usually appear about every six weeks.
436 link:{wireshark-mailing-lists-url}wireshark-users[wireshark-users]::
437 Topics of interest to users of Wireshark.
438 People typically post questions about using Wireshark and others (hopefully) provide answers.
440 link:{wireshark-mailing-lists-url}wireshark-dev[wireshark-dev]::
441 Topics of interest to developers of Wireshark.
442 If you want to develop a protocol dissector or update the user interface, join this list.
444 You can subscribe to each of these lists from the Wireshark web site:
445 {wireshark-mailing-lists-url}. From there, you can choose which mailing
446 list you want to subscribe to by clicking on the
447 Subscribe/Unsubscribe/Options button under the title of the relevant
448 list. The links to the archives are included on that page as well.
451 .The lists are archived
453 You can search in the list archives to see if someone asked the same question
454 some time before and maybe already got an answer. That way you don’t have to
455 wait until someone answers your question.
458 ==== Reporting Problems
462 Before reporting any problems, please make sure you have installed the latest
463 version of Wireshark.
467 When reporting problems with Wireshark please supply the following information:
469 . The version number of Wireshark and the dependent libraries linked with it,
470 such as Qt or GLib. You can obtain this from Wireshark’s about box or the
471 command _wireshark -v_.
473 . Information about the platform you run Wireshark on
474 (Windows, Linux, etc. and 32-bit, 64-bit, etc.).
476 . A detailed description of your problem.
478 . If you get an error/warning message, copy the text of that message (and also a
479 few lines before and after it, if there are some) so others may find the
480 place where things go wrong. Please don’t give something like: “I get a
481 warning while doing x” as this won’t give a good idea where to look.
484 .Don’t send confidential information!
486 If you send capture files to the mailing lists be sure they don’t contain any
487 sensitive or confidential information like passwords or personally identifiable
490 In many cases you can use a tool like link:https://www.tracewrangler.com/[TraceWrangler] to sanitize a capture file before sharing it.
494 .Don’t send large files
496 Do not send large files (> 1 MB) to the mailing lists. Instead, provide a
497 download link. For bugs and feature requests, you can create an issue on
498 link:{wireshark-bugs-url}[GitLab Issues] and upload the file there.
501 ==== Reporting Crashes on UNIX/Linux platforms
503 When reporting crashes with Wireshark it is helpful if you supply the traceback
504 information along with the information mentioned in “Reporting Problems”.
506 You can obtain this traceback information with the following commands on UNIX or
507 Linux (note the backticks):
510 $ gdb `whereis wireshark | cut -f2 -d: | cut -d' ' -f2` core >& backtrace.txt
515 If you do not have _gdb_ available, you will have to check out your operating system’s debugger.
517 Email _backtrace.txt_ to mailto:{wireshark-dev-list-email}[].
519 ==== Reporting Crashes on Windows platforms
521 The Windows distributions don’t contain the symbol files (.pdb) because they are
522 very large. You can download them separately at
523 {wireshark-main-url}download/win64/all-versions/ .
525 // End of WSUG Chapter 1