
Flows-first PCAP TUI (Fall-Dateien, wunderschönes UX). Do do do do.
Wireshark leicht gemacht (in Ihrem Terminal).
Babyshark ist eine PCAP-TUI, die Ihnen hilft, Folgendes zu beantworten:
Status: v0.3.0 (Alpha).
.pcap / .pcapng funktioniert ohne Wiresharktshark (Wireshark CLI)
Übersicht ist das „Start here“-Dashboard. Es fasst den Mitschnitt zusammen und schlägt vor, was als Nächstes zu tun ist.
tshark).So verwenden Sie es:
D, um zu Domains (hostname-zuerst) zu springen.W, um zu Was ist seltsam? (kuratierte Detektoren) zu springen.F (oder f), um zu Flows (roh) zu springen.
Domains gruppiert Verkehr nach Hostname, sodass Sie von Namen statt 5‑Tupeln starten können.
So verwenden Sie es:
s, um die Sortierung zu ändern.c, um einen aktiven Teilmengenfilter zu löschen.
Was ist seltsam? ist eine kuratierte Sammlung von Detektoren, die die Frage „Was sieht defekt/langsam aus?“ beantworten soll, ohne tiefgehende Wireshark-Kenntnisse zu erfordern.
So verwenden Sie es:
1–9 drücken, um per Sprung auszuwählen) und drücken Sie Enter.c, um einen aktiven Teilmengenfilter zu löschen.
Erweitern / Erklären (?) bietet einfache englische Erklärungen für das, was Sie gerade betrachten.
?, um Explain zu öffnen.Tipp: Drücken Sie h für Hilfe und g für Glossar.
Holen Sie sich eine Binärdatei von GitHub Releases:
git clone https://github.com/vignesh07/babyshark
cd babyshark/rust
cargo install --path . --force
babyshark --help
.pcap / .pcapng und durchsuchen Sie:
n / NDL/UL-Suffix in der Flow-Liste + download-heavy/upload-heavy/balanced in den Details (fällt auf A>B/B>A zurück, wenn die lokale Seite mehrdeutig ist)T):
Laden Sie eine vorgebaute Binärdatei herunter:
Voraussetzungen:
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 installieren (erforderlich für --live)tshark ist die offizielle Wireshark CLI.
# 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
Überprüfen:
tshark --version
tshark -D
Hinweis zu Berechtigungen: Live-Mitschnitt kann erhöhte Berechtigungen erfordern (sudo, dumpcap-Caps oder Mitglied der wireshark-Gruppe). Wenn babyshark eine Berechtigungsfehlermeldung ausgibt, befolgen Sie die ausgegebenen Hinweise.
babyshark in git aktualisiert, aber mein Befehl führt noch das alte Verhalten ausWenn Sie mit cargo install installiert haben, müssen Sie nach dem Pull neu installieren:
cd babyshark/rust
cargo install --path . --force
Versuchen Sie es mit sudo auszuführen:
sudo babyshark --live en0
Wenn das funktioniert, müssen Sie wahrscheinlich die Mitschnittsberechtigungen (dumpcap, wireshark-Gruppe usw.) auf Ihrem Betriebssystem konfigurieren.
ips=0 für allesDies passiert oft, wenn DNS-Antworten nicht sichtbar sind (DoH/DoT oder zwischengespeichert). Babyshark zeigt dennoch Beobachtete IPs (aus Flows) mithilfe von TLS-SNI/HTTP-Host-Hinweisen, wenn verfügbar.
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
Dies sind reine Textbeispiele dessen, was Sie in der TUI sehen werden. IPs/Domains sind anonymisiert.
PCAP Viewer
babyshark Übersicht flows:114 packets:4227 tcp:on udp:on q=—
Übersicht (D Domains, W seltsames, F Flows)
In einfachem Englisch
Pakete: 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 | letzte: Mitschnitt auf 'Wi‑Fi: en0'
pps: ▁▁▂▂▃▄▅▆▆▇▆▅▄▃▂▂▁ (max 1372/Eimer)
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)
Was soll ich anklicken?
• Domains (menschliche Ansicht) (Drücken Sie D)
• Seltsames (Fehlerbehebung) (Drücken Sie W)
• Flows (roh) (Drücken Sie F)
• Zeitachse (Gantt + Scatter) (Drücken Sie T)
↳ Erkannt: Hochlatenz-Flows (grob) (29 flows)
Domains (Enter zeigt Flows, s Sortierung (verb/bytes/fail), c löschen, Esc zurück)
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
Beobachtete IPs (aus Flows):
10.0.0.6
198.51.100.42
Tipp: Enter wendet einen Teilmengenfilter an (bevorzugt beobachtete IPs; DNS-IPs falls verfügbar).
Seltsames (Enter zeigt Flows, c löschen, Esc zurück)
❯ 1 Hochlatenz-Flows (grob) flows=42
2 Redselige Hosts (Burst-Verbindungen) flows=28
3 TCP-Zuverlässigkeitshinweise (Wiederholungen / Out-of-Order) flows=16
4 TCP-Reset (RST) flows=11
5 Veraltete TLS-Versionen (≤ 1.1) flows=3
6 Handshake nicht abgeschlossen flows=0
7 DNS-Fehler (NXDOMAIN/SERVFAIL) flows=0
Warum es wichtig ist
Hochlatenz-Flows (grob)
Wenn ein Flow viel Zeit in Anspruch nimmt und viele Pakete hat, kann dies auf Latenz,
Überlastung oder Wiederholungen hindeuten. Dies ist eine grobe Heuristik und hängt von korrekten Zeitstempeln ab.
Zeitachse: Gantt (Tab wechseln, ↑/↓ bewegen, Enter Pakete, Esc zurück)
█ Handshake █ TLS █ Daten █ Schließen █ 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 ● ██
Muster: 3 Verbindungen gleichzeitig geöffnet — wahrscheinlich ein Seitenaufruf
Muster: 2 DNS-Abfragen gingen 3 verschlüsselten Verbindungen zu passenden Hosts voraus
Details
TCP 10.0.0.6:57608 ↔ 198.51.100.42:443
Was passierte
1. Mit google.com verbunden (TCP-Handshake dauerte 12.5ms)
2. Verschlüsselung ausgehandelt (TLS 1.3)
3. 28.2KB in 89ms übertragen (40 Pakete)
4. Meist heruntergeladen (Server sendete mehr Daten)
5. Verbindung sauber geschlossen (FIN)
Die Zeitachse ist die visuelle Geschichte Ihres Mitschnitts. Sie zeigt, wann jede Verbindung gestartet wurde, welche Phasen sie durchlief (Handshake, TLS, Datenübertragung, Schließen) und wie sie sich überlappen.
Flows [LIVE en0] (63.8 pps) (Enter Pakete, / Filter, t/u umschalten, b Lesezeichen, E Export, o Übersicht) 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
Richtung: download-heavy
Handshake-RTT: 12.450ms
Server denken: 3.200ms
Datenübertragung: 89.100ms
TLS-Version: TLS 1.2
Lesezeichen: 1
Top-Level:
o ÜbersichtD DomainsW SeltsamesF FlowsT Zeitachse (Gantt + Scatter)h Hilfeg Glossarq BeendenIn Ansichten:
Enter Drill-down (Domains/seltsam → Flows, Flows → Pakete)Esc zurückc aktiven Teilmengenfilter löschen? ausgewählten Flow erklärenx Einführungshinweis schließen (Übersicht)Flows-Ansicht:
↑/↓ oder j/k bewegen/ Filtert / u TCP / UDP umschaltenb Flow mit Lesezeichen versehenE Bericht exportierenZeitachsenansicht:
Tab / Shift-Tab Gantt / Scatter wechseln↑/↓ oder j/k bewegenPgUp/PgDn SeiteEnter in Pakete bohrenPaketansicht:
f Stream folgenStreamansicht:
/ Suchen / N nächste / vorherige ÜbereinstimmungTab / Shift-Tab Streamrichtung durchlaufen↑/↓ scrollenWenn Sie Lesezeichen setzen/exportieren, schreibt babyshark neben die PCAP in ein verstecktes Verzeichnis:
.babyshark/case.json — Lesezeichen.babyshark/report.md — neuester Bericht (überschrieben).babyshark/report-YYYYMMDD-HHMMSS.md — versionierte Berichte--bpf-Mitschnittfilter-Durchleitung für den Live-ModusMIT © 2026 Vignesh Natarajan