

In the lengthy description section, you will find the “ expr relop expr” text near the bottom especially helpful for decoding cryptic capture filter expressions.

PCAP-FILTER, packet capture filter syntax from Wireshark.Good luck writing your Wireshark capture filters! More Reading Making sense of the capture filter syntax can be daunting, but walking through an example item by item helps bring clarity.įor a more in-depth understanding of the concepts I touched on here, read through the links below. But once in a while, a capture filter seems like a cleaner way to go. Most of the time, I use Wireshark to capture all packets and examine what I need using a display filter. That packet would be captured, because the result is not equal to 0x0. If the ToS byte is 00000000, what would the result of the AND operation be? Let’s think through a couple of examples. We want the value of the DSCP field specifically to be anything but zero, and we wrote an bitwise AND comparison to test for it. Now that we know what we’re looking at, we tell the capture filter what we want that value to be or not be. Then we tell it an offset of 1 so that it will start one byte in, i.e. Therefore, we use the protocol type “ip” to tell the capture filter where to start. How do we tell the capture filter to look at the ToS byte? We know that the ToS byte is the second byte in the IP header.

To do it, we’re telling the capture filter to keep only those IPv4 packets that, when the ToS byte is AND’ed with 11111100, gets back something other than zero. We want to capture IPv4 packets with a non-zero value in the DSCP field. Now, let’s condense that breakdown into plain English. “0x0” is a hex value that translates, as you probably expect, into binary 00000000.What two values are we testing to be equal to each other? The first value is the result of the “ip & 0xfc” operation. “=” – a comparison operator that means “is equal to”.Therefore, setting the final two bits to 0 in the comparison value means the result for those last 2 bits will always be 0. Remember that AND only returns 1 when both values compared are 1s. 0xfc is helpful here in that it’s masking out the ECN bits (the last two bits in the ToS byte) since we don’t care about them. That means we’re using bitwise AND to compare the 8 bits in ip with the 8 bits 11111100. Using a calculator or online conversion tool, you’ll find that hex 0xfc is equal to binary 11111100. For our purposes, we need to know what this value is in binary to make sense of it. In this case, we’ll be comparing the contents of the ToS byte (ip) with the hex value of 0xfc. In other words, you only get back a 1 when both binary values being compared are 1s. When comparing 2 binary numbers with AND, you should know that 0 AND 0 returns 0, 0 AND 1 returns 0, 1 AND 0 returns 0, and 1 AND 1 returns 1.
WIRESHARK DESTINATION IP FILTER CODE
The ToS byte includes 6 bits for the differentiated services code point per RFC2474 and 2 bits for explicit congestion notification, per RFC3168. If you check out RFC791, the second byte of the IP packet is the Type of Service (ToS) byte. Instead, we’ve selected ip, referring to the second byte (offset of 1). If we’d had ip, we’d be interested in the first byte (no offset). Here, we’ve identified the protocol as IP, with an offset of 1. In the PCAP filter language, the bit in brackets defines which part of the protocol you’re interested in.
