How to Use Wireshark: A Complete Tutorial

Capture and view the data traveling on your network with Wireshark

Bright blue futuristic globe with digital data and computer coding

Oliver Burston / Getty Images

Wireshark is an open-source application that captures and displays data traveling back and forth on a network. It is commonly used to troubleshoot network problems and test software since it provides the ability to drill down and read the contents of each packet.

Instructions in this article apply to Wireshark 3.0.3 for Windows and Mac.

What Is Wireshark?

Originally known as Ethereal, Wireshark displays data from hundreds of different protocols on all major network types. Data packets can be viewed in real-time or analyzed offline. Wireshark supports dozens of capture/trace file formats, including CAP and ERF. Integrated decryption tools display the encrypted packets for several common protocols, including WEP and WPA/WPA2.

How to Download and Install Wireshark

Wireshark can be downloaded at no cost from the Wireshark Foundation website for both macOS and Windows. You'll see the latest stable release and the current developmental release. Unless you're an advanced user, download the stable version.

Wireshark can be downloaded at no cost from the Wireshark Foundation website for both macOS and Windows operating systems.

During the Windows setup process, choose to install WinPcap or Npcap if prompted as these include libraries required for live data capture.

During the Windows setup process, choose to install WinPcap or Npcap if prompted as they include libraries required for live data capture.

You must be logged in to the device as an administrator to use Wireshark. In Windows 10, search for Wireshark and select Run as administrator. In macOS, right-click the app icon and select Get Info. In the Sharing & Permissions settings, give the admin Read & Write privileges.

In Windows 10, search for Wireshark and select Run as administrator.

The application is also available for Linux and other UNIX-like platforms including Red Hat, Solaris, and FreeBSD. The binaries required for these operating systems can be found toward the bottom of the Wireshark download page under the Third-Party Packages section. You can also download Wireshark's source code from this page.

How to Capture Data Packets With Wireshark

When you launch Wireshark, a welcome screen lists the available network connections on your current device. Displayed to the right of each is an EKG-style line graph that represents live traffic on that network.

To begin capturing packets with Wireshark:

  1. Select one or more of networks, go to the menu bar, then select Capture.

    To select multiple networks, hold the Shift key as you make your selection.

    Select one or more of the networks by clicking on them, then select Capture at the top of the Wireshark interface.
  2. In the Wireshark Capture Interfaces window, select Start.

    Select Start.

    There are other ways to initiate packet capturing. Select the shark fin on the left side of the Wireshark toolbar, press ​Ctrl+E, or double-click the network.

  3. Select File > Save As or choose an Export option to record the capture.

    Select File > Save As or choose one of the Export options to record the capture.
  4. To stop capturing, press Ctrl+E. Or, go to the Wireshark toolbar and select the red Stop button that's located next to the shark fin.

    To stop capturing, press Ctrl + E, or select the red Stop button next to the shark fin on the Wireshark toolbar.

How to View and Analyze Packet Contents

The captured data interface contains three main sections:

  • The packet list pane (the top section)
  • The packet details pane (the middle section)
  • The packet bytes pane (the bottom section)
The captured data interface contains three main sections: the packet list pane (the top section); the packet details pane (the middle section); and the packet bytes pane (the bottom section).

Packet List

The packet list pane, located at the top of the window, shows all packets found in the active capture file. Each packet has its own row and corresponding number assigned to it, along with each of these data points:

  • No: This field indicates which packets are part of the same conversation. It remains blank until you select a packet.
  • Time: The timestamp of when the packet was captured is displayed in this column. The default format is the number of seconds or partial seconds since this specific capture file was first created.
  • Source: This column contains the address (IP or other) where the packet originated.
  • Destination: This column contains the address that the packet is being sent to.
  • Protocol: The packet's protocol name, such as TCP, can be found in this column.
  • Length: The packet length, in bytes, is displayed in this column.
  • Info: Additional details about the packet are presented here. The contents of this column can vary greatly depending on packet contents.

To change the time format to something more useful (such as the actual time of day), select View > Time Display Format.

To change the time format to something more useful (such as the actual time of day), select View > Time Display Format at the top of the main interface.

When a packet is selected in the top pane, you may notice one or more symbols appear in the No. column. Open or closed brackets and a straight horizontal line indicate whether a packet or group of packets are part of the same back-and-forth conversation on the network. A broken horizontal line signifies that a packet is not part of the conversation.

Open or closed brackets and a straight horizontal line in the No. column indicate whether a packet or group of packets are all part of the same back-and-forth conversation on the network.

Packet Details

The details pane, found in the middle, presents the protocols and protocol fields of the selected packet in a collapsible format. In addition to expanding each selection, you can apply individual Wireshark filters based on specific details and follow streams of data based on protocol type by right-clicking the desired item.

you can apply individual Wireshark filters based on specific details and follow streams of data based on protocol type by right clicking the desired item.

Packet Bytes

At the bottom is the packet bytes pane, which displays the raw data of the selected packet in a hexadecimal view. This hex dump contains 16 hexadecimal bytes and 16 ASCII bytes alongside the data offset.

Selecting a specific portion of this data automatically highlights its corresponding section in the packet details pane and vice versa. Any bytes that cannot be printed are represented by a period.

Selecting a specific portion of this data automatically highlights its corresponding section in the packet details pane and vice versa.

To display this data in bit format as opposed to hexadecimal, right-click anywhere within the pane and select as bits.

To display this data in bit format as opposed to hexadecimal, right click anywhere within the pane and select the appropriate option.

How to Use Wireshark Filters

Capture filters instruct Wireshark to only record packets that meet specified criteria. Filters can also be applied to a capture file that has been created so that only certain packets are shown. These are referred to as display filters.

Wireshark provides a large number of predefined filters by default. To use one of these existing filters, enter its name in the Apply a display filter entry field located below the Wireshark toolbar or in the Enter a capture filter field located in the center of the welcome screen.

For example, if you want to display TCP packets, type tcp. The Wireshark autocomplete feature shows suggested names as you begin typing, making it easier to find the correct moniker for the filter you're seeking.

To use one of the existing filters, enter its name in the Apply a display filter entry field located directly below the Wireshark toolbar.

Another way to choose a filter is to select the bookmark on the left side of the entry field. Choose Manage Filter Expressions or Manage Display Filters to add, remove, or edit filters.

Another way to choose a filter is to select the bookmark on the left side of the entry field.

You can also access previously used filters by selecting the down arrow on the right side of the entry field to display a history drop-down list.

You can also access previously used filters by selecting the down arrow on the right side of the entry field to display a history drop-down list.

Capture filters are applied as soon as you begin recording network traffic. To apply a display filter, select the right arrow on the right side of the entry field.

To apply a display filter, select the right arrow on the far right side of the entry field.

Wireshark Color Rules

While Wireshark's capture and display filters limit which packets are recorded or shown on the screen, its colorization function takes things a step further: It can distinguish between different packet types based on their individual hue. This quickly locates certain packets within a saved set by their row color in the packet list pane.

Wireshark coloring rules dialog opened in front of main Wireshark window

Wireshark comes with about 20 default coloring rules, each can be edited, disabled, or deleted. Select View > Coloring Rules for an overview of what each color means. You can also add your own color-based filters.

Select View > Coloring Rules for an overview of what each color means.

Select View > Colorize Packet List to toggle packet colorization on and off.

Statistics in Wireshark

Other useful metrics are available through the Statistics drop-down menu. These include size and timing information about the capture file, along with dozens of charts and graphs ranging in topic from packet conversation breakdowns to load distribution of HTTP requests.

Several other useful metrics are available via the Statistics drop-down menu found toward the top of the screen.

Display filters can be applied to many of these statistics via their interfaces, and the results can be exported to common file formats, including CSV, XML, and TXT.

Wireshark Advanced Features

Wireshark also supports advanced features, including the ability to write protocol dissectors in the Lua programming language.