<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Sandeep Ahluwalia</title>
    <description>The latest articles on DEV Community by Sandeep Ahluwalia (@eventhelix).</description>
    <link>https://dev.to/eventhelix</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4025556%2F1159e745-d525-47cd-a214-d922af2a5141.png</url>
      <title>DEV Community: Sandeep Ahluwalia</title>
      <link>https://dev.to/eventhelix</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/eventhelix"/>
    <language>en</language>
    <item>
      <title>Turn Wireshark PCAPs into sequence diagrams — and let an AI read them published</title>
      <dc:creator>Sandeep Ahluwalia</dc:creator>
      <pubDate>Tue, 14 Jul 2026 13:40:00 +0000</pubDate>
      <link>https://dev.to/eventhelix/turn-wireshark-pcaps-into-sequence-diagrams-and-let-an-ai-read-thempublished-290k</link>
      <guid>https://dev.to/eventhelix/turn-wireshark-pcaps-into-sequence-diagrams-and-let-an-ai-read-thempublished-290k</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbql2ldm985tg6yno94ji.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbql2ldm985tg6yno94ji.png" alt="VisualEther diagram (left) + Claude Code cross-layer analysis (right) of moto_edge_30_pro.pcap." width="800" height="505"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For years I built satellite networks with an LTE air interface. Every time I opened a capture in Wireshark, I did the same thing: scroll thousands of packets across MAC, RLC, PDCP, RRC, and S1AP — then redraw the call flow on a whiteboard so the rest of the team could follow it.&lt;/p&gt;

&lt;p&gt;Wireshark is unbeatable at showing you every packet. But it shows you a flat list, not the &lt;em&gt;conversation&lt;/em&gt; — who said what to whom, in what order. That sequence diagram lives in your head, and you rebuild it by hand every time.&lt;/p&gt;

&lt;p&gt;So I built &lt;strong&gt;VisualEther&lt;/strong&gt; to draw the conversation straight from the capture.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fo22plogrxjgqwvfgt3nj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fo22plogrxjgqwvfgt3nj.png" alt="A Wireshark capture rendered as a sequence diagram" width="800" height="610"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What it does
&lt;/h2&gt;

&lt;p&gt;VisualEther reads a PCAP/PCAPNG and renders it as a readable sequence diagram. It's built on &lt;code&gt;tshark&lt;/code&gt;, so anything Wireshark can dissect, it can diagram — 5G, LTE, IMS, SIP, BGP, and dozens of other protocols out of the box. Extraction is driven by an XML "field extraction template" (FXT) that maps protocol fields to messages and sessions.&lt;/p&gt;

&lt;h2&gt;
  
  
  The AI part: the context-budget problem
&lt;/h2&gt;

&lt;p&gt;Here's the wall I hit when I tried feeding captures to an LLM directly: a PCAP blows the context window before you finish pasting. Thousands of packets, dozens of fields per layer — megabytes of noise, and the model drowns.&lt;/p&gt;

&lt;p&gt;So VisualEther ships an &lt;strong&gt;MCP server&lt;/strong&gt;. Instead of raw packets, it extracts only the messages and fields that matter, so the agent reads &lt;em&gt;kilobytes&lt;/em&gt; of structured data, not megabytes of logs. It then runs an author → debug → verify loop and cites &lt;strong&gt;frame numbers&lt;/strong&gt; as evidence.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fovp953blirz0n8614o8l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fovp953blirz0n8614o8l.png" alt="Ask an AI agent why a session failed; it answers in plain English, citing frame numbers" width="800" height="578"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  A concrete example
&lt;/h2&gt;

&lt;p&gt;One worked case: an R16 gNB capture with the 5G user plane encrypted. With Claude Code driving the MCP server, VisualEther decrypted the PDCP (NEA2) down to the SIP REGISTER, then rebuilt the uplink BSR→grant→SDAP scheduling loop from PUSCH occupancy alone — because the grants were never in the capture. Every claim is anchored to a specific frame number. &lt;a href="https://www.eventhelix.com/visualether/case-studies/5g-nr-r16-mdt-mac-pdcp-decryption-scheduling-harq-ipsec-esp-analysis.html" rel="noopener noreferrer"&gt;Full walk-through.&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Triage and CI
&lt;/h2&gt;

&lt;p&gt;Beyond a single diagram, the browser-based Session Navigator groups every session in a capture by outcome — pass, fail, late, timeout — so broken flows surface first. And because it emits machine-readable output (NDJSON / Markdown / HTML), you can wire it into CI to generate a diagram for every capture, unattended.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgjlz72j7s0iuc3qn49cp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgjlz72j7s0iuc3qn49cp.png" alt="The Session Navigator groups sessions by outcome" width="800" height="612"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;VisualEther is a commercial tool with a free tier:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Community&lt;/strong&gt; (free, no license): PDF sequence diagrams, up to 10 pages / 10 entities.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Professional / Server&lt;/strong&gt; (45-day trial): MCP/AI analysis, session triage, larger diagrams.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Runs on Windows, Linux, and macOS (Apple Silicon), installable via winget / Homebrew / apt / dnf. Needs tshark 4.6+.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Free download: &lt;a href="https://www.eventhelix.com/visualether/download" rel="noopener noreferrer"&gt;https://www.eventhelix.com/visualether/download&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Live, interactive output (no install): &lt;a href="https://diagrams.eventhelix.com/visualether/5g-nr-radio/" rel="noopener noreferrer"&gt;https://diagrams.eventhelix.com/visualether/5g-nr-radio/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I'd love feedback from anyone who lives in Wireshark — especially on the FXT format and the MCP tool design. Ask me anything.&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>networking</category>
      <category>ai</category>
      <category>wireshark</category>
    </item>
  </channel>
</rss>
