{"id":120,"date":"2025-06-17T00:20:00","date_gmt":"2025-06-17T00:20:00","guid":{"rendered":"https:\/\/epbrtcybersecurityportfolio.xyz\/?p=120"},"modified":"2025-06-17T00:20:37","modified_gmt":"2025-06-17T00:20:37","slug":"wireshark-display-filters","status":"publish","type":"post","link":"https:\/\/epbrtcybersecurityportfolio.xyz\/?p=120","title":{"rendered":"Wireshark Display Filters"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">Wireshark Display Filters Lab \u2013 Overview and Setup<\/h3>\n\n\n\n<p>This lab focused on becoming more familiar with using <strong>Wireshark display filters<\/strong> to isolate specific types of traffic.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Exercise 1 \u2013 Filtering DNS Queries for a Specific Domain<\/h3>\n\n\n\n<p><strong>Task:<\/strong> Find the packet record number(s) where a DNS query name contains the string <strong>glenhighland<\/strong>.<\/p>\n\n\n\n<p>There are many ways to solve this. One way is to filter the packets in Wireshark for DNS query name using the filter &#8216;dns.qry.name&#8217; and then looking for the glenhighland string in the filtered packets using the Edit\/Find Packet menu. Packets 101 and 102 contains this string. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"249\" src=\"https:\/\/epbrtcybersecurityportfolio.xyz\/wp-content\/uploads\/2025\/06\/image-39-1024x249.png\" alt=\"\" class=\"wp-image-122\" srcset=\"https:\/\/epbrtcybersecurityportfolio.xyz\/wp-content\/uploads\/2025\/06\/image-39-1024x249.png 1024w, https:\/\/epbrtcybersecurityportfolio.xyz\/wp-content\/uploads\/2025\/06\/image-39-300x73.png 300w, https:\/\/epbrtcybersecurityportfolio.xyz\/wp-content\/uploads\/2025\/06\/image-39-768x187.png 768w, https:\/\/epbrtcybersecurityportfolio.xyz\/wp-content\/uploads\/2025\/06\/image-39-1536x373.png 1536w, https:\/\/epbrtcybersecurityportfolio.xyz\/wp-content\/uploads\/2025\/06\/image-39.png 1577w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Exercise 2 \u2013 Finding ARP Request Records<\/h3>\n\n\n\n<p><strong>Task:<\/strong> Find all ARP request records. How many are there, and what filter did you use?<\/p>\n\n\n\n<p>To complete this task, I used a Wireshark <strong>display filter<\/strong> that isolates ARP request packets specifically. First, I reviewed the structure of an ARP packet by looking at one in the packet list which Wireshark identified as a request under the <strong>Address Resolution Protocol<\/strong> section. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"443\" src=\"https:\/\/epbrtcybersecurityportfolio.xyz\/wp-content\/uploads\/2025\/06\/image-40-1024x443.png\" alt=\"\" class=\"wp-image-125\" srcset=\"https:\/\/epbrtcybersecurityportfolio.xyz\/wp-content\/uploads\/2025\/06\/image-40-1024x443.png 1024w, https:\/\/epbrtcybersecurityportfolio.xyz\/wp-content\/uploads\/2025\/06\/image-40-300x130.png 300w, https:\/\/epbrtcybersecurityportfolio.xyz\/wp-content\/uploads\/2025\/06\/image-40-768x332.png 768w, https:\/\/epbrtcybersecurityportfolio.xyz\/wp-content\/uploads\/2025\/06\/image-40.png 1453w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>I then right clicked on the Opcode line and applied this same filter to the packet list. <\/p>\n\n\n\n<p>The arp.opcode==1 gets applied, and 16 packets get displayed (it is shown at the bottom right corner of the wireshark screen).<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"580\" src=\"https:\/\/epbrtcybersecurityportfolio.xyz\/wp-content\/uploads\/2025\/06\/image-42-1024x580.png\" alt=\"\" class=\"wp-image-128\" srcset=\"https:\/\/epbrtcybersecurityportfolio.xyz\/wp-content\/uploads\/2025\/06\/image-42-1024x580.png 1024w, https:\/\/epbrtcybersecurityportfolio.xyz\/wp-content\/uploads\/2025\/06\/image-42-300x170.png 300w, https:\/\/epbrtcybersecurityportfolio.xyz\/wp-content\/uploads\/2025\/06\/image-42-768x435.png 768w, https:\/\/epbrtcybersecurityportfolio.xyz\/wp-content\/uploads\/2025\/06\/image-42.png 1353w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Exercise 3 \u2013 Identifying ICMP Echo Replies with Undersized IP Payloads<\/h3>\n\n\n\n<p><strong>Task:<\/strong> Find the record numbers of any ICMP echo reply (type 0) frames that required zero-padding due to being smaller than the minimum acceptable Ethernet II length.<\/p>\n\n\n\n<p>To solve this, I first recalled that the <strong>minimum Ethernet II frame size<\/strong> is <strong>64 bytes<\/strong>, and that the <strong>Ethernet header (14 bytes)<\/strong> plus <strong>trailer (4 bytes)<\/strong> leave at least <strong>46 bytes<\/strong> required for the IP payload. Therefore, any IP datagram smaller than 46 bytes would be <strong>too short<\/strong> and must be <strong>padded<\/strong> to meet Ethernet\u2019s minimum.<\/p>\n\n\n\n<p>I used the <strong>Wireshark Display Filter Expression<\/strong> dialog to build a <strong>compound filter<\/strong> that would identify:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>ICMP echo replies (type 0)<\/li>\n\n\n\n<li>IP datagrams with a <strong>Total Length &lt; 46<\/strong><\/li>\n<\/ul>\n\n\n\n<p>To do this:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>I opened <strong>Analyze > Display Filter Expression<\/strong><\/li>\n\n\n\n<li>Selected the field <strong>ip.len<\/strong><\/li>\n\n\n\n<li>Chose the <strong>less than<\/strong> (<code>&lt;<\/code>) relation<\/li>\n\n\n\n<li>Entered the value <code>46<\/code><\/li>\n\n\n\n<li>Added <strong>icmp.type == 0<\/strong> to narrow it to echo replies<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"119\" src=\"https:\/\/epbrtcybersecurityportfolio.xyz\/wp-content\/uploads\/2025\/06\/image-43-1024x119.png\" alt=\"\" class=\"wp-image-131\" srcset=\"https:\/\/epbrtcybersecurityportfolio.xyz\/wp-content\/uploads\/2025\/06\/image-43-1024x119.png 1024w, https:\/\/epbrtcybersecurityportfolio.xyz\/wp-content\/uploads\/2025\/06\/image-43-300x35.png 300w, https:\/\/epbrtcybersecurityportfolio.xyz\/wp-content\/uploads\/2025\/06\/image-43-768x89.png 768w, https:\/\/epbrtcybersecurityportfolio.xyz\/wp-content\/uploads\/2025\/06\/image-43-1536x179.png 1536w, https:\/\/epbrtcybersecurityportfolio.xyz\/wp-content\/uploads\/2025\/06\/image-43.png 1572w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>We identified 3 packets using these combined filters.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Exercise 4 \u2013 Isolating and Exporting DNS over UDP Traffic<\/h3>\n\n\n\n<p><strong>Task:<\/strong> Find all records where the <strong>UDP protocol<\/strong> is carrying <strong>DNS traffic<\/strong>. How many are there? Save those packets to a new file named <strong>dns.pcapng<\/strong>.<\/p>\n\n\n\n<p>To complete this, I used this display filter in Wireshark:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"488\" src=\"https:\/\/epbrtcybersecurityportfolio.xyz\/wp-content\/uploads\/2025\/06\/image-44-1024x488.png\" alt=\"\" class=\"wp-image-133\" srcset=\"https:\/\/epbrtcybersecurityportfolio.xyz\/wp-content\/uploads\/2025\/06\/image-44-1024x488.png 1024w, https:\/\/epbrtcybersecurityportfolio.xyz\/wp-content\/uploads\/2025\/06\/image-44-300x143.png 300w, https:\/\/epbrtcybersecurityportfolio.xyz\/wp-content\/uploads\/2025\/06\/image-44-768x366.png 768w, https:\/\/epbrtcybersecurityportfolio.xyz\/wp-content\/uploads\/2025\/06\/image-44-1536x733.png 1536w, https:\/\/epbrtcybersecurityportfolio.xyz\/wp-content\/uploads\/2025\/06\/image-44.png 1566w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>This filter shows all packets where DNS communication is occurring over UDP (14 packets are displayed). <\/p>\n\n\n\n<p>Once filtered, I saved the displayed packets to a new capture file:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Went to <strong>File > Export Specified Packets<\/strong>.<\/li>\n\n\n\n<li>Entered the filename: <code>dns.pcapng<\/code>.<\/li>\n\n\n\n<li>Selected <strong>All packets<\/strong> and <strong>Displayed<\/strong> (to export only the filtered results).<\/li>\n\n\n\n<li>Clicked <strong>Save<\/strong>.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"648\" src=\"https:\/\/epbrtcybersecurityportfolio.xyz\/wp-content\/uploads\/2025\/06\/image-45-1024x648.png\" alt=\"\" class=\"wp-image-134\" srcset=\"https:\/\/epbrtcybersecurityportfolio.xyz\/wp-content\/uploads\/2025\/06\/image-45-1024x648.png 1024w, https:\/\/epbrtcybersecurityportfolio.xyz\/wp-content\/uploads\/2025\/06\/image-45-300x190.png 300w, https:\/\/epbrtcybersecurityportfolio.xyz\/wp-content\/uploads\/2025\/06\/image-45-768x486.png 768w, https:\/\/epbrtcybersecurityportfolio.xyz\/wp-content\/uploads\/2025\/06\/image-45.png 1227w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Wireshark Display Filters Lab \u2013 Overview and Setup This lab focused on becoming more familiar with using Wireshark display filters to isolate specific types of traffic. Exercise 1 \u2013 Filtering DNS Queries for a Specific Domain Task: Find the packet record number(s) where a DNS query name contains the string glenhighland. There are many ways [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[6],"class_list":["post-120","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-wireshark"],"_links":{"self":[{"href":"https:\/\/epbrtcybersecurityportfolio.xyz\/index.php?rest_route=\/wp\/v2\/posts\/120","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/epbrtcybersecurityportfolio.xyz\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/epbrtcybersecurityportfolio.xyz\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/epbrtcybersecurityportfolio.xyz\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/epbrtcybersecurityportfolio.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=120"}],"version-history":[{"count":5,"href":"https:\/\/epbrtcybersecurityportfolio.xyz\/index.php?rest_route=\/wp\/v2\/posts\/120\/revisions"}],"predecessor-version":[{"id":135,"href":"https:\/\/epbrtcybersecurityportfolio.xyz\/index.php?rest_route=\/wp\/v2\/posts\/120\/revisions\/135"}],"wp:attachment":[{"href":"https:\/\/epbrtcybersecurityportfolio.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=120"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/epbrtcybersecurityportfolio.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=120"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/epbrtcybersecurityportfolio.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=120"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}