
TUI PCAP basata sui flussi (file dei casi, UX meravigliosa). Do do do do.
Wireshark reso facile (nel tuo terminale).
Babyshark è una TUI PCAP che ti aiuta a rispondere:
Stato: v0.3.0 (alpha).
.pcap / .pcapng funziona senza Wiresharktshark (CLI di Wireshark)
Overview è la dashboard 'inizia qui'. Riassume la cattura e suggerisce cosa fare dopo.
tshark).Come usarlo:
D per saltare a Domini (nomi host prima).W per saltare a Cosa c'è di strano? (rivelatori selezionati).F (o f) per saltare a Flussi (grezzi).
Domini raggruppa il traffico per nome host così puoi iniziare dai nomi invece che dalle 5‑tuple.
Come usarlo:
s per cambiare la modalità di ordinamento.c per cancellare un filtro sottoinsieme attivo.
Cosa c'è di strano? è un insieme selezionato di rivelatori pensato per rispondere 'cosa sembra rotto/lento?' senza bisogno di una profonda conoscenza di Wireshark.
Come usarlo:
1–9 per saltare alla selezione) e premi Invio.c per cancellare un filtro sottoinsieme attivo.
Espandi / Spiega (?) fornisce contesto in lingua chiara per ciò che stai guardando.
? per aprire Spiega.Suggerimento: premi h per aiuto e g per glossario.
Grab a binary from GitHub Releases:
git clone https://github.com/vignesh07/babyshark
cd babyshark/rust
cargo install --path . --force
babyshark --help
.pcap / .pcapng e naviga:
n / NDL/UL nella lista dei flussi + download-heavy/upload-heavy/balanced nei dettagli (ricade su A>B/B>A quando il lato locale è ambiguo)T):
Scarica un binario precompilato:
Prerequisiti:
tsharkgit clone https://github.com/vignesh07/babyshark
cd babyshark/rust
cargo install --path . --force
babyshark --help
cargo install --git https://github.com/vignesh07/babyshark --bin babyshark
tshark (required for --live)tshark è la CLI ufficiale di Wireshark.
# macOS (Homebrew)
brew install wireshark
Debian/Ubuntu:
sudo apt-get update
sudo apt-get install -y tshark
Fedora:
sudo dnf install -y wireshark-cli
Arch:
sudo pacman -S wireshark-cli
Verify:
tshark --version
tshark -D
Nota sui permessi: la cattura live potrebbe richiedere permessi elevati (sudo, dumpcap caps, o essere nel gruppo wireshark). Se babyshark stampa un errore di permesso, segui le indicazioni che mostra.
babyshark updated in git but my command still runs old behaviorSe hai installato con cargo install, devi reinstallare dopo il pull:
cd babyshark/rust
cargo install --path . --force
Prova a eseguire con sudo:
sudo babyshark --live en0
Se funziona, probabilmente devi configurare i permessi di cattura (dumpcap, gruppo wireshark, ecc.) sul tuo sistema operativo.
ips=0 for everythingQuesto accade spesso quando le risposte DNS non sono visibili (DoH/DoT o memorizzate nella cache). Babyshark mostrerà comunque IP osservati (dai flussi) usando suggerimenti TLS SNI / HTTP Host quando disponibili.
babyshark --pcap ./capture.pcap
babyshark --list-ifaces
babyshark --live en0
babyshark --live en0 --dfilter "tcp.port==443"
babyshark --live en0 --write-pcap /tmp/live.pcapng
Questi sono esempi solo testo di ciò che vedrai nella TUI. IP/domini sono anonimizzati.
PCAP Viewer
babyshark Overview flows:114 packets:4227 tcp:on udp:on q=—
Overview (D domains, W weird, F flows)
In plain English
Packets: 4227 Flows: 114 Top talker: 10.0.0.6 (2711.9KB) Top talker (pkts): 10.0.0.6 (4046 pkts)
Live: 88s pps~14.6 dropped~0 | last: Capturing on 'Wi‑Fi: en0'
pps: ▁▁▂▂▃▄▅▆▆▇▆▅▄▃▂▂▁ (max 1372/bucket)
Top flow (bytes): UDP 10.0.0.6:57315 ↔ 203.0.113.123:443 (1359.3KB)
Top flow (pkts): UDP 10.0.0.6:57315 ↔ 203.0.113.123:443 (1284 pkts)
What should I click?
• Domains (human view) (press D)
• Weird stuff (troubleshoot) (press W)
• Flows (raw) (press F)
• Timeline (Gantt + Scatter) (press T)
↳ Detected: High-latency flows (rough) (29 flows)
Domains (Enter show flows, s sort (conn/bytes/fail), c clear, Esc back)
1 wikipedia.com conn=9 bytes=21.0KB q=9 r=6 fail=0 ips=2
❯ 2 chat.openai.com conn=5 bytes=28.2KB q=5 r=3 fail=0 ips=2
Domain details
chat.openai.com
queries=5 responses=3 failures=0
Observed IPs (from flows):
10.0.0.6
198.51.100.42
Tip: Enter applies a subset filter (prefers observed IPs; DNS IPs if available).
Weird stuff (Enter show flows, c clear, Esc back)
❯ 1 High-latency flows (rough) flows=42
2 Chatty hosts (burst connections) flows=28
3 TCP reliability hints (retransmits / out-of-order) flows=16
4 TCP resets (RST) flows=11
5 Deprecated TLS versions (≤ 1.1) flows=3
6 Handshake not completed flows=0
7 DNS failures (NXDOMAIN/SERVFAIL) flows=0
Why it matters
High-latency flows (rough)
If a flow takes a long time and has lots of packets, it can indicate latency,
congestion, or retries. This is a rough heuristic and depends on correct timestamps.
Timeline: Gantt (Tab switch, ↑/↓ move, Enter packets, Esc back)
█ handshake █ TLS █ data █ close █ UDP
09:31:02 09:31:10 09:31:18 09:31:26
google.com (HTTPS) ● ██████████████████████████████████
chat.openai.com (HT… ● ████████████████
wikipedia.org (HTTPS) ● ██████████████████████████
DNS 10.0.0.1:53 ● ██
Pattern: 3 connections opened simultaneously — likely a page load
Pattern: 2 DNS lookups preceded 3 encrypted connections to matching hosts
Details
TCP 10.0.0.6:57608 ↔ 198.51.100.42:443
What happened
1. Connected to google.com (TCP handshake took 12.5ms)
2. Negotiated encryption (TLS 1.3)
3. Transferred 28.2KB in 89ms (40 packets)
4. Mostly downloading (server sent more data)
5. Connection closed cleanly (FIN)
Flows [LIVE en0] (63.8 pps) (Enter packets, / filter, t/u toggles, b bookmark, E export, o overview) subset=domain:chat.openai.com
● 1 UDP 510 10.0.0.6:59175 ↔ 203.0.113.123:443 DL
❯● 2 TCP 32 10.0.0.6:57608 ↔ 198.51.100.42:443 DL
Details
TCP 10.0.0.6:57608 ↔ 198.51.100.42:443
A→B: 14 pkts / 1386 bytes
B→A: 26 pkts / 26307 bytes
Direction: download-heavy
Handshake RTT: 12.450ms
Server think: 3.200ms
Data transfer: 89.100ms
TLS version: TLS 1.2
bookmarks: 1
Top-level:
o overviewD domainsW weird stuffF flowsT timeline (Gantt + Scatter)h helpg glossaryq quitNelle viste:
Invio approfondisci (domini/stranezze → flussi, flussi → pacchetti)Esc indietroc cancella filtro sottoinsieme attivo? spiega flusso selezionatox ignora suggerimento iniziale (Overview)Vista Flussi:
↑/↓ o j/k muovi/ filtrat / u attiva/disattiva TCP / UDPb segnalibro flussoE esporta reportVista Timeline:
Tab / Shift-Tab cambia Gantt / Scatter↑/↓ o j/k muoviPgUp/PgDn paginaInvio approfondisci in PacchettiVista Pacchetti:
f segui streamVista Stream:
/ cercan / N successivo / precedente corrispondenzaTab / Shift-Tab cicla direzione stream↑/↓ scorriQuando metti segnalibro/esporti, babyshark scrive accanto al PCAP in una directory nascosta:
.babyshark/case.json — bookmarks.babyshark/report.md — latest report (overwritten).babyshark/report-YYYYMMDD-HHMMSS.md — versioned reports--bpf capture filter pass-through for live modeMIT © 2026 Vignesh Natarajan