How to Create and Use Wireshark Configuration Profiles

Deepak Prasad
Tested on RHEL 10.2 (Coughlan)
Package Wireshark 4.4.2
Applies to Wireshark on Linux, Windows, or macOS
Privilege Normal user
Scope How to create and copy a Wireshark configuration profile, which analysis settings it keeps, how Wireshark 4.4 can select a profile with an Auto Switch Filter, and how to export a personal profile as a ZIP. A DNS troubleshooting profile is the worked example. Does not cover DNS server administration.
Related guides Wireshark tutorial
Wireshark IP filters cheat sheet
Install Wireshark on Ubuntu
Analyze HTTP response in Wireshark
Short on time?Beta Get the gist of this 15-minute read in seconds, then ask follow-up questions

A Wireshark configuration profile is a saved analysis workspace. It can store columns, display filters, coloring rules, protocol preferences, and Decode As mappings. It does not contain packet captures.

Instead of rebuilding columns, filters, and colors every time you troubleshoot a different protocol, you can keep each setup in its own profile. This guide builds a DNS troubleshooting profile as a practical example, but the same steps work for TCP, TLS, HTTP, VoIP, WLAN, or any other analysis workflow.


Key takeaways

  • Create a profile from Edit → Configuration Profiles. Use + for a new profile or Copy when you want to keep the selected profile's existing settings.
  • A Wireshark profile saves your analysis workspace, not packets. It can keep custom columns, display filters, filter buttons, coloring rules, protocol preferences, Decode As settings, and other profile-specific configuration.
  • Changes belong to the active profile. Switch profiles from the status bar when you need a different troubleshooting layout.
  • Personal profiles can be exported as ZIP files and imported on another workstation. Default and global profiles are not exported.
  • Wireshark 4.4 and later can choose a profile automatically when its Auto Switch Filter matches one of the packets Wireshark checks while opening a capture.
  • Choose auto-switch filters carefully. Broad filters such as ip or tcp match too many captures, and only the first matching profile is selected.

What does a Wireshark configuration profile save?

Every Wireshark window is always using some profile, even if you never created one. Out of the box that profile is called Default. Look at the bottom-right corner of the main window: the status bar shows Profile: Default. When you change a column or add a coloring rule, Wireshark saves that change into whichever profile is named there.

To see all profiles, open Edit → Configuration Profiles (Shift+Ctrl+A on Linux and Windows, Shift+Cmd+A on macOS). The dialog lists every profile Wireshark can switch to.

Think of a profile as a set of glasses for the same packets. The capture file does not change. Switching profiles only changes which columns you see, which rows get colored, and which shortcuts are on the toolbar.

Wireshark keeps these with a profile:

  • Preferences, including the packet-list columns
  • Saved capture filters (which packets to record) and display filters (which recorded packets to show)
  • Display-filter macros, which are short names for long filter expressions
  • Filter buttons on the toolbar
  • Coloring rules, which paint matching rows in the packet list
  • Disabled protocols and Decode As mappings, which tell Wireshark how to interpret traffic on unusual ports
  • Some window layout choices, such as pane sizes

A profile stores many analysis and display settings, but not every Wireshark setting is profile-specific. Some files in your personal configuration directory are shared by every profile, and a profile never contains packet captures.

This guide customizes only the pieces most useful for the DNS example: columns, filter buttons, and coloring rules.


Create a Wireshark configuration profile

Open Edit → Configuration Profiles and click + at the bottom of the list. Wireshark adds a row named New profile with the name ready to edit. Type DNS Troubleshooting, press Enter, and click OK.

Wireshark Configuration Profiles dialog with a new personal profile named DNS Troubleshooting

Wireshark switches to the new profile as soon as you click OK, and the status bar now says Profile: DNS Troubleshooting. The Type column in the dialog says Personal, which means the profile belongs to your user account.

IMPORTANT
The + button creates a new profile that starts with Wireshark's standard settings. It is not a "save my current workspace as" button. If your current profile already has columns, colors, or filters you want to keep, select that profile and click Copy instead, then rename the copy.

From now on, anything you change while the status bar shows DNS Troubleshooting is saved into this profile. Default stays as it was.


Build a DNS troubleshooting profile

Open a capture file with File → Open. Any capture that contains DNS lookups works. Type dns in the display filter bar above the packet list and press Enter so only DNS packets are shown while you set things up.

The screenshots show a short DNS exchange: a normal lookup, a slow lookup, and a lookup for a name that does not exist. Your own capture will have different names and times.

Add useful DNS columns

Every value Wireshark decodes has a field name, such as dns.id. You use field names in columns, filters, and coloring rules. To find one, click a line in the packet details pane (the middle pane). The status bar at the bottom shows the field name of the line you clicked.

Click a DNS response packet in the packet list, then expand Domain Name System in the packet details. Right-click each line below and choose Apply as Column. Wireshark adds a column to the right of the packet list:

Field Line in packet details What the column shows
dns.id Transaction ID A number shared by a query and its response, so you can pair them
dns.qry.name Name (under Queries) The name that was looked up
dns.flags.rcode Reply code (under Flags) Whether the lookup worked. No error (0) means it did. No such name (3), also called NXDOMAIN, means the name does not exist
dns.time Time How long the server took to answer, in seconds

After those four columns, a DNS exchange looks like this:

Wireshark packet list with DNS transaction ID, query name, reply code, and response time columns

Each lookup appears as two rows: the query going out and the response coming back, with the same Transaction ID. The query rows leave Reply code and Time empty because those fields only exist in the response.

Read the Time column as seconds. 0.012000000 is 12 ms, a quick answer. 0.820000000 is 820 ms, a noticeably slow one.

The column title Time is easy to confuse with the packet timestamp. Right-click the column header, choose Edit Column, and change the title to Response time. The values do not change.

Add reusable filter buttons

A display filter decides which captured packets the packet list shows. You type it in the display filter bar above the packet list and press Enter. The bar turns green when Wireshark understands the filter and red when it does not. The Wireshark IP filters cheat sheet has more examples of the same syntax.

A filter button saves a display filter you use often, so you click it instead of typing it again. To add one, click the + at the right end of the display filter bar. Fill in a Label (the text on the button) and a Filter, then click OK. The button appears on the toolbar and belongs to the active profile.

Add these three buttons:

Button Filter What it shows
Responses dns.flags.response == 1 DNS answers, not the queries
Errors dns.flags.rcode != 0 Answers whose reply code is anything other than No error
Slow dns.time > 0.5 Answers that took more than 0.5 seconds

The operators read like plain comparisons:

  • == means "equals"
  • != means "is not equal to"
  • > means "greater than"

dns.time is in seconds, so dns.time > 0.5 means slower than 0.5 seconds, which is 500 ms (not 0.5 ms). 500 ms is an example troubleshooting threshold, not an official definition of slow DNS. Pick a number that makes sense on your network.

Wireshark filter buttons for DNS errors and slow responses, with both matches visible

Pressing a button applies only that button's filter. The screenshot instead uses the combined filter dns.time > 0.5 || dns.flags.rcode != 0, where || means "or", so the slow response and the DNS error are visible together. Two rows remain: slow.example.com took 0.820 seconds, and missing.example.com came back with reply code No such name (3).

To show the full DNS list again, clear the display filter bar or type dns and press Enter.

Add coloring rules

Filter buttons hide the rows you are not interested in. Coloring rules do the opposite: every row stays visible, and the ones that need attention stand out while you scroll.

Open View → Coloring Rules and click + to add a rule. Type a name and a filter, then use the Foreground and Background buttons to pick colors. Add these two rules:

Name Filter Color it
DNS error dns.flags.rcode != 0 Red, for any reply that is not No error
Slow DNS dns.time > 0.5 Amber, for replies slower than the 0.5 second example

Wireshark checks rules from the top of the list down and uses the first one that matches. Drag DNS error above Slow DNS, so a reply that is both slow and failed is shown as an error. Keep the checkbox next to each rule ticked, then click OK.

Wireshark packet list with a slow DNS response colored amber and a No such name response colored red

The numbers in the No. column identify each row. Row 4 is amber because its response took 0.820 seconds. Row 6 is red because the reply code is No such name (3), even though that answer was fast (0.031 seconds). The row you have selected is drawn in the selection color instead, so click another row to see its coloring.


Automatically switch Wireshark profiles

Switching profiles by hand is fine, but you can also let Wireshark pick the profile for you. Wireshark 4.4 added an Auto Switch Filter column to Edit → Configuration Profiles for this. Check Help → About Wireshark if you are not sure which version you have; older versions do not show the column.

How Auto Switch Filter works

An Auto Switch Filter is a display filter attached to a profile. In the Configuration Profiles dialog, click the Auto Switch Filter cell on the DNS Troubleshooting row, type dns, and click OK.

Wireshark Configuration Profiles dialog with Auto Switch Filter dns on the DNS Troubleshooting profile and packet limit 1000

The next time you open a capture, Wireshark checks the first packets of the file against each profile's Auto Switch Filter. If DNS packets are among them, it activates DNS Troubleshooting, and the status bar shows that name.

The filter only chooses the profile. It does not hide packets. After the switch, every packet is still listed until you apply a display filter yourself.

If you pick a profile yourself from the status bar, Wireshark stops switching automatically until you open a different capture file. That keeps it from undoing your choice.

Packet limit

Wireshark does not read the whole file before choosing, because that would slow down opening large captures. The Auto switch packet limit box under the list sets how many packets from the start of the file it checks:

  • The default in Wireshark 4.4.2 is 1000 packets.
  • A matching packet that appears after that limit does not trigger the switch.
  • Setting the limit to 0 turns automatic switching off.

First matching profile wins

Only one profile can be active. If several Auto Switch Filters match the same capture, for example dns on one profile, udp on another, and ip on a third, Wireshark activates the first matching profile and ignores the rest. Avoid giving many common protocols their own broad auto-switch rule, or the profile you get becomes hard to predict.

Avoid broad triggers

tcp and ip are poor Auto Switch Filters. Almost every ordinary capture contains them, so Wireshark would jump to that profile nearly every time you open a file.

dns works for this example, but it is not a filter to copy onto every profile. Most captures include at least one DNS lookup, so this rule can put you in DNS Troubleshooting more often than you wanted. If you only want the profile when something went wrong, use a narrower filter such as dns.flags.rcode != 0, which matches only when a DNS error appears within the packet limit.


Switch between profiles

Click the Profile: name in the bottom-right corner of the status bar and choose another profile from the menu. Wireshark reloads that profile's columns, buttons, and colors right away. The open capture stays loaded, so you can look at the same packets through a different layout.

Choose Default when you want the standard layout back, and DNS Troubleshooting when you want the DNS columns and buttons again. To build a second profile, for example for TCP, repeat the + or Copy step, then change columns and colors while the new profile is active.

TShark is the command-line version of Wireshark. It can use the same profiles with the -C option. Put the profile name in quotes because it contains a space:

bash
tshark -C "DNS Troubleshooting" -r capture.pcapng

TShark prints one line per packet with the DNS Troubleshooting columns. Replace capture.pcapng with the path to your own capture file.


Export and import a Wireshark profile

Exporting is how you back up a profile or share it with a colleague. The result is an ordinary ZIP file that holds the profile's settings files.

Open Edit → Configuration Profiles. Select DNS Troubleshooting, then use the buttons along the bottom. Export saves the selected personal profile. Import brings a profile in from a ZIP or a folder.

Wireshark Configuration Profiles dialog with DNS Troubleshooting selected and the Import and Export buttons

Click Export and choose where to save the ZIP. Only personal profiles can be exported, so Global profiles and Default are skipped.

To import on another computer:

  1. Copy the ZIP to that computer.
  2. Open Edit → Configuration Profiles and click Import.
  3. Choose the option to import from a ZIP file and select the file.
  4. Click OK, then pick the imported profile from the status bar.

Wireshark skips a profile whose name already exists on that computer, so it never overwrites one silently. A profile named Default in the ZIP is skipped too.

A finished copy of the profile from this page is dns-troubleshooting-profile.zip. Import it, open a capture of your own that contains DNS, and you should see the Transaction ID, Name, Reply code, and Time columns plus the three filter buttons. The ZIP holds settings only. It does not contain packets.


Personal vs global profiles

Profile Meaning
Personal Saved in your user configuration. You can edit, delete, and export it
Global Installed with Wireshark for every user. You can use it, but not delete or export it
Default Your normal starting profile. Deleting it resets it instead of removing it

Wireshark ships a few global profiles as ready-made starting points. On this Wireshark 4.4.2 install they are Bluetooth, Classic, and No Reassembly. The Type column in the Configuration Profiles dialog tells you which kind each profile is.

If you want to customize a global profile, select it and use Copy to create your own personal version. Your changes go into the copy, and the original stays available.


Where Wireshark stores configuration profiles

You rarely need to open these folders yourself, because Import and Export handle copying. They help when you want to back up every profile at once or check that a profile really exists.

The paths differ between Linux, Windows, and macOS. To see the exact folders your copy of Wireshark uses, open Help → About Wireshark and select the Folders tab. Personal configuration is the folder for your own settings. Global configuration is the folder that ships with Wireshark. On Linux, tshark -G folders prints the same list in a terminal.

On the RHEL 10.2 system used for this guide, the personal configuration directory is ~/.config/wireshark (~ is your home directory), and each personal profile is a subdirectory under profiles:

text
~/.config/wireshark/profiles/DNS Troubleshooting/

You do not need to edit these files by hand, because the dialogs write them for you. On the Wireshark 4.4.2 system used for this guide, the DNS Troubleshooting folder contains these files:

File What it stores
preferences Columns and other preferences
dfilter_buttons Responses, Errors, and Slow buttons
dfilters Named display filters
colorfilters DNS error and Slow DNS coloring rules
profile_settings The Auto Switch Filter (auto_switch_filter: dns)

On this RHEL 10.2 install, global profiles are under /usr/share/wireshark/profiles/.


Summary

A configuration profile is a saved analysis workspace: columns, filters, coloring rules, and similar display settings. It is not a capture file, and it does not hold every Wireshark setting. The status bar always shows which profile is active, and every change you make goes into that profile. Use + when you want a fresh profile, and Copy when you want to keep the columns and colors you already have.

The DNS example adds four columns (Transaction ID, Name, Reply code, and Time), three filter buttons (Responses, Errors, and Slow), and two coloring rules. dns.time is measured in seconds, so dns.time > 0.5 means slower than half a second, or 500 ms. That threshold is only an example, so adjust it for your network.

Wireshark 4.4 can load a profile on its own when its Auto Switch Filter matches one of the first packets in a file, and only the first matching profile is used. Keep those filters narrow and leave out tcp and ip. When the profile works the way you like, export it to a ZIP to back it up or use it on another computer.


References


Frequently Asked Questions

Does creating a new Wireshark profile copy my current settings?

No. The + button starts a separate profile. If you want to preserve the settings from an existing profile, select it and use Copy, then customize the copied profile.

Does a Wireshark profile contain packets?

No. A profile stores display and analysis settings. Packet captures stay in the files you open with File → Open.

Where are Wireshark profiles stored?

Open Help → About Wireshark and select the Folders tab to see the directories Wireshark is actually using. Personal profiles live under the profiles directory of the personal configuration folder.

Why did Wireshark not switch to my profile?

The Auto Switch Filter has to match a packet inside the auto-switch packet limit, counted from the start of the file. The default limit in Wireshark 4.4.2 is 1000, and 0 disables switching. Choosing a profile from the status bar also turns automatic switching off until you open a different file. If several profiles match, Wireshark uses only the first one.

Can I export the Default profile or a global profile?

No. Export skips Default and every global profile. Copy a global profile first if you want a personal version you can export.

Finished reading?Beta Get the key takeaways in seconds, then ask follow-up questions
Celal Dogan

Senior Network Engineer

Proficient in System Administration, Python, Computer Network, Network Engineering, PHP, Web Testing, Penetration Testing, Wireshark, RADIUS, Cisco Router, TCP/IP, Kali Linux, OSPF, NPS, and Multiprotocol BGP.

  • Computer Networking
  • Network Engineering
  • Wireshark
  • Penetration Testing