Tuesday, September 30, 2025

Ultimate Guide: When and How to Use HAR Files, Fiddler, and Wireshark for Network Troubleshooting in 2025

How to Use Fiddler: A Complete Guide for Troubleshooting HTTP/HTTPS Traffic

What is Fiddler?

Fiddler is a free web debugging proxy tool that captures all HTTP and HTTPS traffic between your computer and the internet or servers. It helps you inspect, debug, and modify web requests and responses, making it a must-have tool for developers, testers, and network admins troubleshooting web applications and APIs.


When to Use Fiddler?

Use Fiddler when you want to:

  • Debug web applications: Find out why a webpage or web app isn’t loading properly or is slow.

  • Inspect API calls: View detailed REST API requests and responses, including headers, payloads, and status codes.

  • Troubleshoot SSL/TLS issues: Identify problems with HTTPS, certificates, redirects, or encryption.

  • Analyze authentication problems: Check cookies, tokens, OAuth headers for login or access failures.

  • Simulate network conditions: Slow down requests, block resources, or modify server responses to test app behavior.

  • Test error handling: Mock server errors to verify how your app responds.

  • Monitor or filter traffic: Focus on specific hosts, domains, or HTTP status codes.


How to Use Fiddler: Step-by-Step

1. Download and Install Fiddler

  • Go to the official Telerik site: https://www.telerik.com/fiddler

  • Download Fiddler Everywhere (cross-platform) or Fiddler Classic (Windows-only).

  • Follow the installer prompts to complete installation.


2. Launch Fiddler and Configure HTTPS Decryption

  • Open Fiddler.

  • Go to Tools > Options > HTTPS tab.

  • Enable Capture HTTPS CONNECTs.

  • Check Decrypt HTTPS traffic.

    Tutorial - How to use Fiddler to analyze HTTP Web Requests (Tips) |  ZappySys Blog

  • When prompted, install the Fiddler Root Certificate (this allows Fiddler to intercept and decrypt HTTPS traffic securely).

  • This enables capturing and inspecting encrypted web traffic.


3. Start Capturing Traffic

  • Fiddler starts capturing traffic automatically when launched.

  • If not capturing, click Start Capturing (or press F12).

    How to use Fiddler to analyze HTTP Web Requests – ZappySys Help Center

  • Open your web browser or application and reproduce the issue you want to debug.


4. Inspect Captured Traffic

  • Captured sessions appear in the Sessions list.

  • Click any session to view detailed info:

    • Inspectors tab: View Request and Response headers, bodies, cookies, JSON/XML content.

    • Statistics tab: View timing details like DNS lookup, server processing, and content download time.

    • Timeline tab: Visualize request/response timing and bottlenecks.

      User Interface Guide - Fiddler Classic


5. Filter Traffic

  • Use the Filters tab to narrow down visible traffic.

  • Filter by:

    • Host/domain name (e.g., api.example.com).

    • HTTP status codes (e.g., 400-599 for errors).

    • Content types (e.g., JSON, images).

    • Process names (e.g., chrome.exe).

  • Filtering reduces noise and helps focus on relevant traffic.


6. Modify and Replay Requests

  • Right-click a session → Replay > Reissue and Edit to resend a request.

  • Use Set Breakpoint to pause before sending requests or receiving responses:

    • Right-click → Set Breakpoint > Before Request or Before Response.

  • Edit headers, request body, or response content in the Inspectors pane.

  • Resume traffic by clicking Run to Completion.

  • Useful for testing changes without changing server code.

    Test Web Requests in Fiddler Composer - Replay existing REST API requests or send new one (Edit Header, Body, URL)


7. Use AutoResponder to Mock Responses

  • Go to AutoResponder tab.

  • Create rules to match requests (URL or headers).

  • Serve custom responses or error codes (e.g., simulate 500 Internal Server Error).

  • Great for testing client-side error handling or app behavior without server changes.Fiddler AutoResponder (Test Fake Response from local file - Rule match based on URL Pattern)


Common Scenarios with Fiddler and Examples

ScenarioWhat to DoExample
Webpage won’t load or slowCapture HTTP requests, check response timesFind a 3rd party script delaying page load
API returns 403 ForbiddenInspect headers, tokens, authentication infoVerify if OAuth token is missing or expired
SSL/TLS certificate errorsCapture HTTPS handshake, check certificate infoIdentify if the SSL certificate is invalid or expired
Debug JSON payload errorsView and edit JSON request/response bodiesFix malformed JSON being sent in POST requests
Test app behavior on errorsUse AutoResponder to simulate 500 or 404Check if app retries or shows error messages properly
Filter noisy trafficUse Filters to show requests to one API domainFocus only on calls to api.yourservice.com

Example: Debugging a Failing API Call

  1. Launch Fiddler and enable HTTPS decryption.

  2. In your app, perform the API call that’s failing.

  3. In Fiddler, locate the request to the API endpoint.

  4. Click it and check the Request Headers for missing or incorrect Authorization tokens.

  5. View the Response status code and body for error messages.

  6. Use the Timeline tab to check server response time.

  7. Modify the request header via breakpoint, add a valid token, and replay to confirm fix.


Best Practices

  • Always disable capturing when done to save resources.

  • Use filters early to avoid overwhelming traffic logs.

  • Export sessions via File > Save to share with teams.

  • Be careful with sensitive data — sanitize logs before sharing.

  • Use the latest version of Fiddler for improved HTTPS and protocol support.


Summary

Fiddler is a versatile and powerful tool for anyone working with web applications or APIs. From inspecting live traffic, debugging authentication, simulating network errors, to performance analysis — it covers almost every need in HTTP/HTTPS troubleshooting.


How to Use HAR Files: A Complete Guide for Troubleshooting Web Performance and Network Issues

What is a HAR File?

HAR stands for HTTP Archive. It is a JSON-formatted file that records a browser’s network activity during a web session. A HAR file captures all HTTP and HTTPS requests and responses, including headers, cookies, timings, payload sizes, and status codes.


When to Use HAR Files?

Use HAR files when you need to:

  • Diagnose slow webpage loading: Identify which resources are causing delays.

  • Analyze front-end performance: Understand request waterfalls, redirects, and failed resources.

  • Share network traffic details: Provide a snapshot of browser activity to developers or support teams without live access.

  • Debug client-side errors: Track failed API calls, missing files, or errors in third-party scripts.

  • Troubleshoot resource loading issues: See exactly which assets are blocked or missing.


How to Generate HAR Files: Step-by-Step

In Google Chrome

  1. Open Chrome and navigate to the page where you want to capture network activity.

  2. Press F12 or right-click the page and select Inspect to open Developer Tools.

  3. Go to the Network tab.

    Network > Export HAR file

  4. Check the Preserve log checkbox (optional, but useful to keep network data during page reloads or navigation).

  5. Reload the webpage or perform the action causing the issue.

  6. Once done, right-click anywhere in the list of network requests.

  7. Select Save all as HAR with content.

  8. Choose a location and save the .har file.

    Export HAR file


In Firefox

  1. Open Firefox and go to the page where you want to record.

  2. Press F12 to open Developer Tools.

  3. Click the Network tab.

  4. Reload the page or perform the needed actions.

  5. Click the gear icon ⚙️ in the Network tab, and select Save all as HAR.

  6. Save the .har file.


How to Analyze HAR Files

  • Open Chrome DevTools → Network tab → Click the Import HAR button (folder icon).

  • Load the HAR file.

  • View the Waterfall chart showing the timeline of each resource loading.

  • Filter by HTTP status codes to find errors (e.g., 404, 500).

  • Inspect request and response headers, cookies, and payload size.

  • Identify slow DNS lookups, long server response times, or stalled connections.


Common Scenarios and How HAR Files Help

ScenarioWhat to Look ForHow HAR Helps
Slow webpage loadingLong wait times, blocked requests, or slow DNSPinpoints exactly which resource or step causes delays
Missing or failed resources404 Not Found or 500 Internal Server ErrorShows which files failed to load and their impact
Excessive redirectsMultiple 3xx status codesDetects redirect loops or unnecessary redirects
Third-party scripts failingErrors or delays in scripts from external domainsIdentifies problematic third-party resources slowing page
API call failures4xx/5xx status codes and response payloadsHelps debug frontend API issues by analyzing failed requests

Example: Troubleshooting a Slow Checkout Page

  1. Open Developer Tools → Network tab.

  2. Enable Preserve log to keep requests while moving between pages.

  3. Perform actions on the checkout page.

  4. Save the HAR file after checkout completes or issue reproduces.

  5. Load the HAR in Chrome DevTools or send it to the development team.

  6. Review the waterfall to find slow-loading assets or failed API calls causing delays.


Best Practices for HAR Files

  • Always enable "Preserve log" if you want to capture across page reloads or navigation.

  • Limit HAR capture duration to reduce file size.

  • Avoid sharing sensitive info — HAR files may contain personal data or auth tokens.

  • Use HAR files as a snapshot, useful for offline analysis or when remote debugging isn’t possible.

  • Combine HAR file analysis with other tools like Fiddler or Wireshark for deeper troubleshooting.


Summary

HAR files are an excellent way to capture and share detailed browser network activity, especially useful for frontend performance troubleshooting and debugging client-side web issues. They provide a quick, portable snapshot that anyone on your team can analyze without requiring live access.

__________________

Wireshark: A Complete Guide for Network Packet Capture and Troubleshooting

What is Wireshark?

Wireshark is a powerful, open-source network protocol analyzer that captures and inspects network traffic at a very detailed packet level. Unlike tools that focus only on HTTP or application-layer traffic, Wireshark lets you see all network packets flowing through your network interface — including TCP/IP, DNS, DHCP, SSL/TLS, VoIP, and many more protocols.


When to Use Wireshark?

Use Wireshark when you need to:

  • Diagnose low-level network issues like packet loss, retransmissions, or latency.

  • Analyze non-HTTP protocols such as DNS, DHCP, TCP handshakes, or VoIP.

  • Investigate security issues by spotting unusual or suspicious network traffic.

  • Troubleshoot network connectivity problems or performance bottlenecks.

  • Understand detailed packet flows for complex troubleshooting or network audits.


How to Set Up and Use Wireshark

Step 1: Download and Install Wireshark

  • Go to wireshark.org and download the latest stable version.

  • During installation on Windows, also install Npcap (required for packet capture).

  • Launch Wireshark with administrator or root privileges for full network capture.

Step 2: Select the Network Interface to Capture

  • When Wireshark opens, it displays a list of available network interfaces (Wi-Fi, Ethernet, VPN, etc.).

  • Choose the interface through which your traffic flows (e.g., Wi-Fi for wireless connections).

  • Click the Start Capture (shark fin icon) to begin capturing live packets.

    How to create a Wireshark capture – Network Optix

Step 3: Reproduce the Issue

  • While Wireshark is capturing, perform the network action or reproduce the connectivity/performance problem you want to diagnose.

Step 4: Stop the Capture

  • Click the red Stop button once you have enough data.


Wireshark Filters: Focus on What Matters

Wireshark captures all network traffic on the interface, which can be overwhelming. Filters help you narrow down to relevant packets.

To display packets using the HTTP protocol you can enter the following filter in the Display Filter Toolbar:

Screenshot showing wireshark http traffic protocol filter

To display all the HTTP traffic you need to use the following protocol and port display filter:

Screenshot showing wireshark http traffic tcp dstport 80
Now you’ll see all the packets related to your browsing of any HTTP sites you browsed while capturing.

Filtering HTTP Traffic to and from Specific IP Address in Wireshark

If you want to filter for all HTTP traffic exchanged with a specific you can use the “and” operator. If, for example, you wanted to see all HTTP traffic related to a site at xxjsj you could use the following filter:

tcp.port == 80 and ip.addr == 65.208.228.223


Screenshot showing wireshark http traffic tcp dstport 80 and ip addr

Notice only packets with 65.208.228.223 in either the source or destination columns is shown. You can also use the OR or || operators to create an “either this or that” filter.

tcp.port == 80 || ip.addr == 65.208.228.223

Wireshark HTTP Method Filter

If you want to dig into your HTTP traffic you can filter for things like GET, PUT, POST, DELETE, HEAD, OPTIONS, CONNECT, and TRACE. To filter for these methods use the following filter syntax:


http.request.method == requestmethod

For example, if you wanted to filter for just the GET requests, enter the following filter in the Display Filter toolbar:

http.request.method == “GET”

Screenshot showing wireshark http traffic request method get filter


Now you’re left with all of the GET requests for assets from the website.

Viewing HTTP Packet Information in Wireshark

Working with the GET Method Filter displayed above, click on a packet in the Packet List Pane and then look at the information in the Packet Details Pane. Expand the Hypertext Transfer Protocol detail:

Screenshot showing wireshark http traffic hypertext information


To filter for a specific response, such as a HTTP 200 (OK), HTTP 301 (Moved Permanently), or HTTP 404 (Not Found) use the following display filter:

http.response.code == 200

Screenshot showing wireshark http traffic response filter 200


Change 200 to another code to search for that code. Here is a list of HTTP Status Codes.

Follow the Full HTTP Stream to Match Get Requests with Responses


A very handy feature of Wireshark is the ability to view streams in a human readable format from beginning to end. To this, pick a HTTP protocol packet such as the packet containing the 200 response that we saw earlier and right click on it. Click on Follow -> HTTP Stream.

Screenshot showing wireshark http traffic follow http stream menu


You’ll now be presented with a window that shows the entire stream including the GET (red) and HTTP/1.1 200 OK (Blue)

Screenshot showing wireshark http traffic follow http stream


As you can see, there is a lot to HTTP traffic and just filtering for the HTTP protocol doesn’t cut it.





Common Display Filters with Examples

FilterPurposeExample Use Case
ip.addr == 192.168.1.10Show all packets to or from a specific IPFocus on traffic involving a particular client or server
tcp.port == 443Show traffic on TCP port 443 (HTTPS)Analyze HTTPS sessions
dnsDisplay only DNS protocol packetsTroubleshoot DNS lookup failures
tcp.analysis.retransmissionShow TCP retransmissions (packet loss)Identify network packet loss causing slow connections
icmpDisplay ICMP packets (ping, traceroute)Check connectivity using ping or traceroute requests
bootpShow DHCP traffic (BOOTP protocol)Diagnose IP address assignment issues
tls.handshakeDisplay TLS/SSL handshake messagesDebug SSL/TLS connection failures
httpShow HTTP trafficInspect web page requests and responses

How to Apply Filters

  • In the top filter bar, type your filter expression (e.g., ip.addr == 10.0.0.5).

  • Press Enter to apply the filter.

  • Combine filters using logical operators (andor), e.g., ip.addr == 10.0.0.5 and tcp.port == 80.


How to Analyze Captured Packets

  • Packet List Pane: Shows each captured packet in summary form.

  • Packet Details Pane: Displays detailed protocol info and headers for the selected packet.

  • Packet Bytes Pane: Shows raw packet data in hex and ASCII.

Useful Analysis Tips

  • Right-click a packet and select Follow → TCP Stream to view the full conversation.

  • Use Statistics menu for protocol hierarchy, endpoint conversations, IO graphs, and flow diagrams.

  • Export specific packets for sharing via File → Export Specified Packets.


Common Troubleshooting Scenarios with Wireshark

ScenarioWhat to Look ForWireshark Insight
Packet loss causing slow appTCP retransmissions, duplicate ACKsConfirm network issues causing delays
DNS resolution failuresDNS queries and responses, errorsPinpoint DNS server or configuration problems
DHCP issuesDHCP Discover, Offer, Request, Ack messagesDetect IP address assignment failures
SSL/TLS handshake failureTLS handshake messages, alert messagesDiagnose certificate or negotiation issues
Unusual network activityUnknown ports, suspicious protocolsSpot potential malware or security threats

Example: Diagnosing Packet Loss on a Video Stream

  1. Start Wireshark capture on your active network interface.

  2. Play the video stream to generate traffic.

  3. Stop capture after the issue appears.

  4. Apply filter: tcp.analysis.retransmission to see retransmitted packets.

  5. Inspect timing and sequence numbers to understand packet loss and delays.


Final Tips

  • Always run Wireshark with proper permissions to capture all traffic.

  • Use filters early to reduce noise and focus on the issue.

  • Avoid capturing unnecessarily long sessions to minimize file sizes.

  • Remember Wireshark captures sensitive data — handle capture files securely.

  • Combine Wireshark insights with application-level logs or browser tools for holistic troubleshooting.

How to Troubleshoot Connectivity Issues Between Client and Server (Application to Database/Cloud)

 Connectivity problems between clients and servers can occur at various points — in the network, application, database, or cloud infrastructure. Proper troubleshooting involves a structured approach to isolate and fix the root cause.


Step 1: Understand the Problem Scope

Before diving in, gather the following information:

  • Which client and server are involved?

  • Is the issue affecting all users or specific clients?

  • When did the problem start?

  • Any recent changes in network, application, or infrastructure?

  • Error messages or logs from client/server?

  • What services or ports are used (e.g., HTTP, TCP, database ports)?


Step 2: Check Basic Network Connectivity

a) Ping Test

  • Use ping command to verify if the server is reachable.

ping <server-ip-or-hostname>
  • If ping fails:

    • Check network cables, Wi-Fi, or VPN.

    • Confirm server is powered on and connected.

    • Firewall or security group may block ICMP packets (ping). If so, move to next step.

b) Traceroute

  • Use tracert (Windows) or traceroute (Linux/macOS) to trace the path packets take to the server.

tracert <server-ip-or-hostname>
  • Look for where the connection times out — it indicates possible network bottleneck or firewall drop.

c) Port Check

  • Use telnet or Test-NetConnection (PowerShell) to check if the specific port is open.

telnet <server-ip> <port>

Or PowerShell:

Test-NetConnection -ComputerName <server-ip> -Port <port>
  • If port is closed, firewall or server service may be down.


Step 3: Validate DNS Resolution

  • Check if the client resolves the server hostname correctly.

nslookup <server-hostname>
  • Incorrect IP means DNS misconfiguration; update DNS records or hosts file.


Step 4: Review Firewall and Security Settings

  • On client and server, check if firewalls (Windows Firewall, iptables, security groups in cloud) allow traffic on required ports.

  • For cloud environments (AWS, Azure, GCP), verify security groups, network ACLs, and virtual firewalls allow inbound/outbound connections.

  • Disable firewall temporarily (if safe) to isolate issue.


Step 5: Check Application Configuration

  • Verify application config files or environment variables for:

    • Correct server IP/hostname.

    • Correct port number.

    • Proper credentials (if authentication required).

    • SSL/TLS certificates if secure connection needed.


Step 6: Inspect Server and Application Logs

  • On server, check logs for connection attempts and errors.

  • For databases:

    • MySQL logs (error.log, slow query log)

    • SQL Server logs (SQL Server Management Studio → Logs)

    • PostgreSQL logs (postgresql.conf log settings)

  • For cloud services, check monitoring dashboards and logs (CloudWatch, Azure Monitor).


Step 7: Test Database Connectivity Separately

  • Use database clients/tools to connect directly:

# MySQL example mysql -h <server-ip> -u <username> -p # SQL Server example (using sqlcmd) sqlcmd -S <server-ip> -U <username> -P <password> # PostgreSQL example psql -h <server-ip> -U <username> -d <dbname>
  • If connection fails here, problem is likely on DB or network.


Step 8: Check for Resource Bottlenecks

  • High CPU, memory, or disk I/O on server can cause timeouts or connection failures.

  • Use monitoring tools:

    • Windows: Task Manager, Performance Monitor

    • Linux: top, htop, iostat

    • Cloud: Native monitoring dashboards


Step 9: Verify Cloud Service Status and Configurations

  • For cloud-hosted servers or databases, check cloud provider status pages (AWS Health Dashboard, Azure Status).

  • Review cloud configurations:

    • VPC/Subnet routing

    • NAT Gateways

    • Load balancers and health checks

    • Service endpoint policies


Step 10: Restart Services and Devices

  • Restart application services, database services, or servers if needed.

  • Restart network devices like routers, switches if possible.


Bonus Tips

  • Use Wireshark or tcpdump for deep packet capture and analysis.

  • Check for recent updates or patches that might have affected connectivity.

  • Engage your network or cloud admin team for complex network or infrastructure issues.

This structured approach should help your readers methodically diagnose and resolve client-server connectivity problems — whether on-prem, cloud, or hybrid environments.

How to Fix High CPU Usage Issues in Windows: Step-by-Step Guide

 High CPU usage on a Windows machine can cause slowdowns, system freezes, and decreased productivity. This guide walks you through identifying the cause of high CPU usage and resolving it effectively.


What Causes High CPU Usage?

  • Running too many applications at once

  • Background processes consuming resources

  • Malware or viruses

  • Software bugs or corrupted system files

  • Driver issues or hardware problems

  • Windows Update or system services misbehaving


Step 1: Open Task Manager to Identify the Culprit

Tool: Windows Task Manager (built-in)

  1. Press Ctrl + Shift + Esc to open Task Manager directly.

  2. Click on the Processes tab.

  3. Click on the CPU column header to sort processes by CPU usage (highest at the top).

  4. Identify which process(es) is/are consuming the most CPU.

What to look for:

  • Any process consistently using more than 50% CPU.

  • Unknown or suspicious processes (might indicate malware).

  • System processes like "System Interrupts" unusually high (could be hardware or driver-related).


Step 2: End or Restart Problematic Processes

If you find a non-critical app or process hogging CPU:

  1. Select the process.

  2. Click End Task to stop it.

  3. Observe if CPU usage drops.

Note: Do not end essential system processes unless you are sure.


Step 3: Scan for Malware

Tool: Windows Defender or third-party antivirus

  1. Open Windows Security by searching in the Start menu.

  2. Navigate to Virus & threat protection.

  3. Click Quick scan or Full scan for a thorough check.

  4. Remove any detected threats.


Step 4: Disable Startup Programs

Too many apps launching at startup can cause CPU spikes.

  1. Open Task Manager → Startup tab.

  2. Disable unnecessary programs by right-clicking → Disable.

  3. Restart your computer.


Step 5: Update Windows and Drivers

Outdated system files or drivers can cause high CPU.

  1. Go to Settings → Update & Security → Windows Update → Check for updates.

  2. Install all pending updates.

  3. Visit your PC manufacturer’s website or use Device Manager to update drivers:

    • Press Windows + X → select Device Manager.

    • Expand device categories, right-click each device → Update driver.


Step 6: Use Resource Monitor for Deeper Analysis

Tool: Resource Monitor (built-in)

  1. Press Windows + R, type resmon, and press Enter.

  2. In the CPU tab, check processes and associated services.

  3. Look for processes causing unusual CPU spikes.


Step 7: Check for Windows System File Corruption

Tool: System File Checker (SFC)

  1. Open Command Prompt as Administrator:

    • Press Windows + X, select Command Prompt (Admin) or Windows Terminal (Admin).

  2. Run the command:

    sfc /scannow
  3. Wait for the scan to complete and follow any instructions.


Step 8: Adjust Power Settings for Performance

Sometimes power saving mode limits CPU performance causing erratic behavior.

  1. Open Control Panel → Power Options.

  2. Select High performance or Balanced plan.

  3. Click Change plan settings → Change advanced power settings.

  4. Under Processor power management, ensure minimum and maximum CPU state is set appropriately (e.g., 5% minimum, 100% maximum).


Step 9: Reset or Reinstall Windows (Last Resort)

If all else fails, consider resetting or reinstalling Windows.

  1. Go to Settings → Update & Security → Recovery.

  2. Under Reset this PC, choose to Keep my files or Remove everything.

  3. Follow prompts to reinstall Windows.


Additional Tools to Diagnose High CPU Usage

  • Process Explorer (Sysinternals): Advanced Task Manager alternative for detailed process analysis. Download here

  • LatencyMon: Checks if drivers or processes are causing latency issues affecting CPU. Download here

  • Windows Performance Toolkit (WPT): For advanced users to trace CPU usage with Windows Performance Recorder and Analyzer. Download from Microsoft