Case study · Traffic Analysis
Network Fault Localization in a Complex Business System
An ops engineer troubleshooting a complex business system re-diagnoses a chronic network ailment on a cloud platform serving tens of millions of users — the organization’s 10G isolation gateway once nearly froze as internal-external traffic amplified almost 10x, and repeated packet captures back then never produced direct evidence of a loop. He hands the paths of 3 captures to AVL Code, and about 15 minutes later holds a root-cause localization report in both HTML and Markdown.
Target: 3 pcap captures (524MB / 629MB / 1,074MB, about 2.2GB total)· Platform: a Windows working directory· Constraint: no extra tools to install or configure· Model: Landi N2.5· Deliverable: network_fault_report.html + .md (plus an anonymized delivery version)
Session replays & reports are original records in Simplified Chinese · Built with AVL Code + the Landi model
Overview
- 01
Parse the two intranet captures — localize the burst flows and the DNS full non-response
You hand AVL Code the two captures under the flow2 directory. It pushes through sandbox limits and a sub-agent timeout, and finally delivers the first five-point fault analysis report.
- 02
Review the stalls — harden the four-step method for large pcaps
You ask whether the long task time means something went wrong, and get a list of 4 real stalls plus a four-step analysis path that no longer gets stuck.
- 03
Cross-validate the external capture — confirm the root-cause chain and produce the dual-format report
You add the third capture, the external port mirror; the intranet and internet views corroborate each other, and the final report is generated in both HTML visualization and Markdown.
- 04
Topology fix and anonymization — a report ready to archive
You supply the real topology document to correct three misjudgments, then have the report switched to a landscape layout and IPs anonymized, saved separately as an externally shareable delivery version.
Task for AVL Code
The flow2 folder in the working directory contains two traffic capture files; analyze these two files and analyze in detail the possible network fault causes Prerequisites: Requires the 3 pcaps under the flow2 directory and 拓扑描述.md; the environment is AVL Code with the built-in sec.pcap_* security analysis tools (sandbox limit: sec.* tools only read relative paths under samples/). All IPs in this article reuse the already-anonymized "first-octet.x.x.x" form from the session export
Reproduction materials at the end of this article Try it yourself ↓
Parsing the Two Internal Captures
Two 500 MB+ pcaps first have to clear the sandbox and tool limits:
The flow2 folder under the working directory contains two pcap files. Analyze them and explain in detail the possible causes of the network failurecopy/cmd/powershell/mklink all blocked by the sandbox → switches to Python to copy into samples/
→ sec.pcap_info (top_n=50) · sec.pcap_extract per protocol layer
→ Locates the burst traffic and DNS failing wholesale (Query Refused)
→ Sub-agent timeout self-heals → the first five-point fault analysis reportBottleneck Retrospective
You ask whether the long runtime means something went wrong — and get a bottleneck list plus a fixed path:
The task took too long — did something go wrong?4 real bottlenecks listed one by one
→ Fixes the four-step big-pcap method: Python-copy into samples/ → pcap_info → pcap_extract with capped counts → skip stream_list and summarize directlyExternal-Capture Cross-Validation
With the third, external-port-mirror capture added, the internal and external views corroborate each other:
Here is the third capture from the external port mirror — cross-validate internal and external views.Internal and external views corroborate → the root-cause chain is confirmed
→ Generates the final report in two formats: network_fault_report.html (visual) + .mdTopology Correction and Anonymization
The last step before delivery: correct against the real topology, then anonymize:
Correct the report against the real topology document, switch it to landscape layout, anonymize the IPs, and save a deliverable copy.Fixes three misjudgments
→ Switches the report to landscape layout
→ Anonymizes IPs (keeping the "first-octet.x.x.x" form) → saves a separate external deliverableTry it yourself
In an AVL Code environment with the same built-in sec.pcap_* security tools, reproduce this case’s large-pcap analysis with the four-step method hardened in the session:
python -c "shutil.copy('<working directory>/flow2/<capture>.pcap', 'samples/<capture>.pcap')" sec.pcap_info(path='<capture>.pcap', top_n=50) sec.pcap_extract(path='<capture>.pcap', aspects=<HTTP/DNS/TLS etc.>, limit_per_aspect=50) - Step 1: use Python to copy the large pcap into samples/ (copy/cmd/powershell/mklink/fsutil are all blocked by the sandbox; Python was verified to work).
- Step 2: pull the pcap basics directly in the main session (top_n=50 verified stable, results in 1–2 seconds).
- Step 3: extract protocol-level information by aspects, capping the items per aspect to avoid timeouts.
- Step 4: skip sec.pcap_stream_list (large files tend to time out) and summarize directly from the data already gathered, outputting flow2/network_fault_report.html and flow2/network_fault_report.md.
- Limitations: "the conclusions match the on-site observations from 5 years earlier, with near-10x amplification across the 10G isolation gateway" is recorded only in the case’s existing archive (the overview in src/lib/cases/index.ts) — no second independent source appears in the session or the report; "about 15 minutes end to end" likewise comes only from the case archive, with no timing records in the session. The actual tool-call returns of the sub-agent stage are not expanded in the session export; the process description follows the narrative text preserved in the export.
Next question: With the report in hand, the natural next step is back on the device side: check the intranet DNS server’s recursive-forwarding configuration to clear the Query Refused, and verify the routing and VLAN layout for iSCSI/Oracle traffic on the external switch.
