The mechanisms for defining and saving capture filters and display filters are almost identical. So both will be described here, differences between these two will be marked as such. Warning!
You must use Save to save your filters permanently. Ok or Apply will not save the filters, so they will be lost when you close Wireshark.
Figure 6.8. The "Capture Filters" and "Display Filters" dialog boxes
This button adds a new filter to the list of filters. The currently entered values from Filter name and Filter string will be used. If any of these fields are empty, it will be set to "new".
This button deletes the selected filter. It will be greyed out, if no filter is selected.
You can select a filter from this list (which will fill in the filter name and filter string in the fields down at the bottom of the dialog box).
You can change the name of the currently selected filter here.
The filter name will only be used in this dialog to identify the filter for your convenience, it will not be used elsewhere. You can add multiple filters with the same name, but this is not very useful.
You can change the filter string of the currently selected filter here. Display Filter only: the string will be syntax checked while you are typing.
Close this dialog. This will discard unsaved settings.
6.5. The "Filter Expression" dialog box
When you are accustomed to Wireshark’s filtering system and know what labels you wish to use in your filters it can be very quick to simply type a filter string. However if you are new to Wireshark or are working with a slightly unfamiliar protocol it can be very confusing to try to figure out what to type. The Filter Expression dialog box helps with this.
The "Filter Expression" dialog box is an excellent way to learn how to write Wireshark display filter strings.
Figure 6.7. The "Filter Expression" dialog box
When you first bring up the Filter Expression dialog box you are shown a tree list of field names, organized by protocol, and a box for selecting a relation.
Select a protocol field from the protocol field tree. Every protocol with filterable fields is listed at the top level. (You can search for a particular protocol entry by entering the first few letters of the protocol name). By clicking on the "+" next to a protocol name you can get a list of the field names available for filtering for that protocol.
Select a relation from the list of available relation. The is present is a unary relation which is true if the selected field is present in a packet. All other listed relations are binary relations which require additional data (e.g. a Value to match) to complete.
When you select a field from the field name list and select a binary relation (such as the equality relation ==) you will be given the opportunity to enter a value, and possibly some range information.
You may enter an appropriate value in the Value text box. The Value will also indicate the type of value for the field name you have selected (like character string).
Some of the protocol fields have predefined values available, much like enum’s in C. If the selected protocol field has such values defined, you can choose one of them here.
XXX – add an explanation here!
When you have built a satisfactory expression click OK and a filter string will be built for you.
You can leave the Add Expression… dialog box without any effect by clicking the Cancel button.