<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Wireless Security on NullByte Notes</title>
    <link>https://jhagan-cyber-blog.pages.dev/tools/wireless-security/</link>
    <description>Recent content in Wireless Security on NullByte Notes</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Fri, 05 Jun 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://jhagan-cyber-blog.pages.dev/tools/wireless-security/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>WIRESHARK - Complete Network Traffic Analysis Guide</title>
      <link>https://jhagan-cyber-blog.pages.dev/tools/wireless-security/wireshark/</link>
      <pubDate>Fri, 05 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://jhagan-cyber-blog.pages.dev/tools/wireless-security/wireshark/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Network Protocol Analyzer: Capture and inspect network packets in real-time&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id=&#34;table-of-contents&#34;&gt;Table of Contents&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&#34;#what-is-wireshark&#34;&gt;What is Wireshark?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#installation&#34;&gt;Installation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#basic-setup&#34;&gt;Basic Setup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#capturing-packets&#34;&gt;Capturing Packets&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#display-filters&#34;&gt;Display Filters&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#protocol-analysis&#34;&gt;Protocol Analysis&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#real-world-examples&#34;&gt;Real-World Examples&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#interview-questions&#34;&gt;Interview Questions&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id=&#34;what-is-wireshark&#34;&gt;What is Wireshark?&lt;/h2&gt;
&lt;p&gt;Wireshark is the most popular &lt;strong&gt;packet sniffer&lt;/strong&gt; and &lt;strong&gt;network analyzer&lt;/strong&gt;. It allows you to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Capture live network traffic&lt;/li&gt;
&lt;li&gt;See exactly what&amp;rsquo;s being transmitted on network&lt;/li&gt;
&lt;li&gt;Analyze protocols (HTTP, HTTPS, DNS, FTP, etc.)&lt;/li&gt;
&lt;li&gt;Extract files from network traffic&lt;/li&gt;
&lt;li&gt;Find credentials, passwords, API keys&lt;/li&gt;
&lt;li&gt;Troubleshoot network issues&lt;/li&gt;
&lt;li&gt;Identify security threats&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&#34;installation&#34;&gt;Installation&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Ubuntu/Debian&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt-get install wireshark
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Kali Linux&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt-get install wireshark
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# macOS&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;brew install wireshark
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Verify&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;wireshark --version
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Post-installation (Linux)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Add your user to wireshark group to avoid sudo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo usermod -aG wireshark $USER
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo chmod +x /usr/bin/dumpcap
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id=&#34;basic-setup&#34;&gt;Basic Setup&lt;/h2&gt;
&lt;h3 id=&#34;running-wireshark&#34;&gt;Running Wireshark&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# GUI mode (easiest)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;wireshark &amp;amp;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Capture from terminal (tshark)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tshark -i eth0
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Capture and save to file&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tshark -i eth0 -w capture.pcap
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;interface-selection&#34;&gt;Interface Selection&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Click the &lt;strong&gt;blue shark icon&lt;/strong&gt; to start capture&lt;/li&gt;
&lt;li&gt;Select network interface (eth0, wlan0, etc.)&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Start&lt;/strong&gt; to begin capturing packets&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&#34;capturing-packets&#34;&gt;Capturing Packets&lt;/h2&gt;
&lt;h3 id=&#34;basic-capture&#34;&gt;Basic Capture&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;1. Select interface (Wi-Fi or Ethernet)
2. Click shark icon to start
3. Generate traffic (browse web, etc.)
4. Click stop to end capture
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;capture-filters-before-capture-starts&#34;&gt;Capture Filters (Before capture starts)&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Only capture on port 80 (HTTP)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;port &lt;span style=&#34;color:#ae81ff&#34;&gt;80&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Only capture HTTP traffic&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tcp port &lt;span style=&#34;color:#ae81ff&#34;&gt;80&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Only capture to specific IP&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;host 192.168.1.100
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Only capture from specific subnet&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;net 192.168.1.0/24
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Exclude specific traffic&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;not port &lt;span style=&#34;color:#ae81ff&#34;&gt;22&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Multiple conditions (AND)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;host 192.168.1.100 and port &lt;span style=&#34;color:#ae81ff&#34;&gt;80&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Multiple conditions (OR)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;port &lt;span style=&#34;color:#ae81ff&#34;&gt;80&lt;/span&gt; or port &lt;span style=&#34;color:#ae81ff&#34;&gt;443&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id=&#34;display-filters-most-important&#34;&gt;Display Filters (Most Important!)&lt;/h2&gt;
&lt;h3 id=&#34;basic-filters&#34;&gt;Basic Filters&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;# Filter by protocol
http
https
dns
ftp
smtp
ssh
telnet
snmp

# Filter by port
tcp.port == 80
udp.port == 53

# Filter by IP address
ip.src == 192.168.1.100
ip.dst == 8.8.8.8
ip.addr == 192.168.1.100

# Filter by MAC address
eth.src == 00:11:22:33:44:55
eth.dst == aa:bb:cc:dd:ee:ff
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;intermediate-filters&#34;&gt;Intermediate Filters&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;# HTTP requests only
http.request

# HTTP responses only
http.response

# DNS queries
dns.qry.name

# DNS responses
dns.resp.name

# SSL/TLS handshake
ssl.handshake

# TCP connections
tcp.flags.syn == 1 (SYN packets)
tcp.flags.ack == 1 (ACK packets)
tcp.flags.fin == 1 (FIN packets)

# Filter by protocol AND port
tcp.port == 443 and ssl

# Exclude certain traffic
!dns and !arp
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;advanced-filters&#34;&gt;Advanced Filters&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;# Find packets with specific string in payload
tcp contains &amp;#34;password&amp;#34;
http contains &amp;#34;admin&amp;#34;

# Find non-standard HTTP ports
tcp.port == 8080 and http

# Find packets larger than 1MB
frame.len &amp;gt; 1000000

# Find packets in time range
frame.time &amp;gt;= &amp;#34;2024-01-01 00:00:00&amp;#34;

# Find HTTPS traffic
ssl or tls

# Find unencrypted credentials
http.authorization or ftp.user

# Combination filters
(ip.src == 192.168.1.100 or ip.src == 192.168.1.101) and tcp.port == 80
&lt;/code&gt;&lt;/pre&gt;&lt;hr&gt;
&lt;h2 id=&#34;protocol-analysis&#34;&gt;Protocol Analysis&lt;/h2&gt;
&lt;h3 id=&#34;http-analysis&#34;&gt;HTTP Analysis&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;1. Filter: http.request
2. Look for GET/POST requests
3. Check Request URI (URL being accessed)
4. Right-click → Follow → HTTP Stream
5. See plaintext request and response

# Important fields:
- http.host: Target domain
- http.user_agent: Browser/software
- http.request.method: GET/POST/PUT/DELETE
- http.request.uri: Path being accessed
- http.response.code: Status (200/404/500 etc.)
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;httpstls-analysis&#34;&gt;HTTPS/TLS Analysis&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;1. Filter: ssl or tls
2. Look for handshake packets
3. Check certificate information
4. Analyze cipher suites

# Can see:
- Server certificate
- Cipher suite used
- TLS version (1.0, 1.2, 1.3)
- But NOT the encrypted data itself
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;dns-analysis&#34;&gt;DNS Analysis&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;1. Filter: dns
2. Look for dns.qry.name (queries)
3. Look for dns.resp.name (responses)
4. See what domains target is accessing

# Example:
# Client queries: google.com
# Server responds: 142.250.185.46
# Now you know Google&amp;#39;s IP from this time
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;ftp-analysis&#34;&gt;FTP Analysis&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;1. Filter: ftp or ftp-data
2. Look for USER command
3. Look for PASS command (PASSWORD IN PLAINTEXT!)
4. Follow FTP stream to see credentials
5. See file transfers

# FTP is unencrypted - passwords visible!
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;smtp-email-analysis&#34;&gt;SMTP (Email) Analysis&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;1. Filter: smtp
2. See MAIL FROM: sender
3. See RCPT TO: recipient
4. See email headers and content

# Can extract:
- Sender email
- Recipient email
- Subject
- Full email body (if sent plaintext)
&lt;/code&gt;&lt;/pre&gt;&lt;hr&gt;
&lt;h2 id=&#34;real-world-scenarios&#34;&gt;Real-World Scenarios&lt;/h2&gt;
&lt;h3 id=&#34;scenario-1-find-web-credentials&#34;&gt;Scenario 1: Find Web Credentials&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;1. Start Wireshark
2. Use filter: http.user_agent
3. User accesses web application
4. Look for POST requests
5. Right-click POST → Follow → HTTP Stream
6. Can see username/password if sent as plaintext!

# Why this works:
HTTP has no encryption. Everything visible.
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;scenario-2-identify-dns-queries&#34;&gt;Scenario 2: Identify DNS Queries&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;1. Filter: dns
2. Set capture on home network
3. See what websites everyone accessed
4. Analyze dns.qry.name field

# Example output:
# Host queries: facebook.com, youtube.com, reddit.com
# Shows browsing habits even without seeing actual sites
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;scenario-3-extract-files-from-traffic&#34;&gt;Scenario 3: Extract Files from Traffic&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;1. Start capture on network
2. Someone downloads file
3. Filter by file protocol (http, ftp, smb)
4. Right-click stream → Export Objects → HTTP
5. Save the downloaded file from capture!

# Works for:
# Images, PDFs, executables, documents
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;scenario-4-detect-network-scanning&#34;&gt;Scenario 4: Detect Network Scanning&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;1. Wathcatcher looking for nmap scan
2. Filter: tcp.flags.syn
3. See multiple SYN packets to different ports
4. All from same source IP
5. Indicates network scan in progress
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;scenario-5-certificate-inspection&#34;&gt;Scenario 5: Certificate Inspection&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;1. Filter: ssl.handshake
2. User visits HTTPS website
3. Right-click packet → Wireshark → Follow → SSL
4. Expand SSL packet
5. See server certificate, issuer, expiry, public key
&lt;/code&gt;&lt;/pre&gt;&lt;hr&gt;
&lt;h2 id=&#34;advanced-features&#34;&gt;Advanced Features&lt;/h2&gt;
&lt;h3 id=&#34;coloring-rules&#34;&gt;Coloring Rules&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Right-click packet → Set Color → Choose color
Or: View → Coloring Rules

Color coding helps:
- Red: Errors, RST packets
- Green: Good traffic
- Orange: Warnings
- Blue: TCP
- Pink: UDP
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;statistics&#34;&gt;Statistics&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Menu → Statistics → Conversations
- See all IP pairs talking to each other
- See data volumes
- See packet counts

Menu → Statistics → Protocol Hierarchy
- See all protocols used
- See percentage breakdown
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;following-streams&#34;&gt;Following Streams&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Right-click packet → Follow → TCP Stream
- See complete conversation
- Both directions
- Plaintext (if no encryption)

Colors:
- Blue: Client → Server
- Red: Server → Client
&lt;/code&gt;&lt;/pre&gt;&lt;hr&gt;
&lt;h2 id=&#34;interview-questions--answers&#34;&gt;Interview Questions &amp;amp; Answers&lt;/h2&gt;
&lt;h3 id=&#34;q1-how-would-you-find-a-users-password-on-the-network&#34;&gt;Q1: How would you find a user&amp;rsquo;s password on the network?&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;A:&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
