
Flows-first PCAP TUI (ملفات القضايا, واجهة مستخدم رائعة). دو دو دو دو.
Wireshark أصبح سهلاً (في الطرفية الخاصة بك).
Babyshark هي واجهة مستخدم نصية لملفات PCAP تساعدك على الإجابة على:
الحالة: v0.3.0 (ألفا).
.pcap / .pcapng دون اتصال يعمل بدون Wiresharktshark (واجهة سطر أوامر Wireshark)
نظرة عامة هي لوحة المعلومات "ابدأ من هنا". تلخص الالتقاط وتقترح ما يجب فعله بعد ذلك.
tshark).كيفية استخدامه:
D للانتقال إلى النطاقات (أسماء المضيفين أولاً).W للانتقال إلى ما هو غريب؟ (كاشفات منسقة).F (أو f) للانتقال إلى التدفقات (خام).
النطاقات تجمع حركة المرور حسب اسم المضيف بحيث يمكنك البدء من الأسماء بدلاً من الخماسيات (5‑tuples).
كيفية استخدامه:
s لتغيير وضع الفرز.c لمسح مرشح مجموعة فرعية نشط.
ما هو غريب؟ هي مجموعة منظمة من الكاشفات تهدف إلى الإجابة عن "ما الذي يبدو معطلاً/بطيئاً؟" دون الحاجة إلى معرفة عميقة بـ Wireshark.
كيفية استخدامه:
1–9 للقفز إلى الاختيار) واضغط Enter.c لمسح مرشح مجموعة فرعية نشط.
توسيع / شرح (?) يعطي سياقاً باللغة الإنجليزية المبسطة لما تنظر إليه.
? لفتح الشرح.نصيحة: اضغط h للمساعدة و g للمسرد.
احصل على ملف ثنائي من إصدارات GitHub:
git clone https://github.com/vignesh07/babyshark
cd babyshark/rust
cargo install --path . --force
babyshark --help
.pcap / .pcapng وتصفح:
n / NDL/UL في قائمة التدفقات + تحميل-ثقيل/رفع-ثقيل/متوازن في التفاصيل (تراجع إلى A>B/B>A عندما يكون الجانب المحلي غامضاً)T):
تحميل ملف ثنائي مُجهز:
المتطلبات الأساسية:
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 (مطلوب للوضع --live)tshark هو واجهة سطر أوامر 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
التحقق:
tshark --version
tshark -D
ملاحظة حول الصلاحيات: الالتقاط المباشر قد يتطلب صلاحيات مرتفعة (sudo، صلاحيات dumpcap، أو أن تكون ضمن مجموعة wireshark). إذا طبع babyshark خطأ في الصلاحيات، اتبع الإرشادات التي يخرجها.
babyshark تم تحديثه في git لكن أمري لا يزال يعمل بالسلوك القديمإذا قمت بالتثبيت باستخدام cargo install، فأنت بحاجة لإعادة التثبيت بعد السحب:
cd babyshark/rust
cargo install --path . --force
حاول التشغيل باستخدام sudo:
sudo babyshark --live en0
إذا نجح ذلك، فربما تحتاج إلى تكوين صلاحيات الالتقاط (dumpcap، مجموعة wireshark، إلخ) على نظام التشغيل الخاص بك.
ips=0 لكل شيءيحدث هذا غالباً عندما لا تكون إجابات DNS مرئية (DoH/DoT أو مخزنة مؤقتاً). سيعرض Babyshark عناوين IP المرصودة (من التدفقات) باستخدام تلميحات TLS SNI / HTTP Host عندما تكون متاحة.
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
هذه أمثلة نصية فقط لما ستراه في واجهة TUI. عناوين IP/النطاقات تم إخفاؤها.
PCAP Viewer
babyshark نظرة عامة تدفقات:114 حزمة:4227 tcp:تشغيل udp:تشغيل q=—
نظرة عامة (D نطاقات، W غريب، F تدفقات)
بالإنجليزية المبسطة
الحزم: 4227 التدفقات: 114 المتحدث الأعلى: 10.0.0.6 (2711.9KB) المتحدث الأعلى (حزم): 10.0.0.6 (4046 حزمة)
مباشر: 88ث ح/ث~14.6 تم إسقاط~0 | الأخير: الالتقاط على 'Wi‑Fi: en0'
ح/ث: ▁▁▂▂▃▄▅▆▆▇▆▅▄▃▂▂▁ (الحد الأقصى 1372/مجموعة)
أعلى تدفق (بايت): UDP 10.0.0.6:57315 ↔ 203.0.113.123:443 (1359.3KB)
أعلى تدفق (حزم): UDP 10.0.0.6:57315 ↔ 203.0.113.123:443 (1284 حزمة)
ماذا يجب أن تنقر؟
• النطاقات (عرض بشري) (اضغط D)
• الأشياء الغريبة (استكشاف الأخطاء) (اضغط W)
• التدفقات (خام) (اضغط F)
• الخط الزمني (Gantt + Scatter) (اضغط T)
↳ تم الكشف: تدفقات عالية الكمون (تقريبي) (29 تدفق)
النطاقات (Enter يعرض التدفقات، s فرز (اتصالات/بايت/فشل)، c مسح، Esc رجوع)
1 wikipedia.com اتصالات=9 بايت=21.0KB استعلام=9 استجابة=6 فشل=0 ips=2
❯ 2 chat.openai.com اتصالات=5 بايت=28.2KB استعلام=5 استجابة=3 فشل=0 ips=2
تفاصيل النطاق
chat.openai.com
الاستعلامات=5 الاستجابات=3 الإخفاقات=0
عناوين IP المرصودة (من التدفقات):
10.0.0.6
198.51.100.42
نصيحة: Enter يطبق مرشح مجموعة فرعية (يفضل عناوين IP المرصودة؛ عناوين IP لـ DNS إذا كانت متاحة).
الأشياء الغريبة (Enter يعرض التدفقات، c مسح، Esc رجوع)
❯ 1 تدفقات عالية الكمون (تقريبي) تدفقات=42
2 مضيفون ثرثارون (اتصالات متدفقة) تدفقات=28
3 تلميحات موثوقية TCP (إعادة إرسال / خارج الترتيب) تدفقات=16
4 إعادة تعيين TCP (RST) تدفقات=11
5 إصدارات TLS مهملة (≤ 1.1) تدفقات=3
6 المصافحة لم تكتمل تدفقات=0
7 فشل DNS (NXDOMAIN/SERVFAIL) تدفقات=0
لماذا يهم
تدفقات عالية الكمون (تقريبي)
إذا استغرق التدفق وقتاً طويلاً وكان به الكثير من الحزم، فقد يشير ذلك إلى الكمون،
الازدحام، أو إعادة المحاولة. هذا استدلال تقريبي ويعتمد على الطوابع الزمنية الصحيحة.
الخط الزمني: Gantt (Tab تبديل، ↑/↓ تحريك، Enter حزم، Esc رجوع)
█ مصافحة █ TLS █ بيانات █ إغلاق █ 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 ● ██
النمط: 3 اتصالات فتحت في وقت واحد — على الأرجح تحميل صفحة
النمط: بحثين DNS سبقا 3 اتصالات مشفرة بمضيفين متطابقين
التفاصيل
TCP 10.0.0.6:57608 ↔ 198.51.100.42:443
ما حدث
1. الاتصال بـ google.com (استغرقت مصافحة TCP 12.5ms)
2. التفاوض على التشفير (TLS 1.3)
3. نقل 28.2KB في 89ms (40 حزمة)
4. في الغالب تحميل (أرسل الخادم المزيد من البيانات)
5. تم إغلاق الاتصال بشكل نظيف (FIN)
الخط الزمني هو القصة البصرية للالتقاط الخاص بك. يظهر متى بدأ كل اتصال، وما هي المراحل التي مر بها (مصافحة، TLS، نقل البيانات، إغلاق)، وكيف تتداخل.
التدفقات [مباشر en0] (63.8 ح/ث) (Enter حزم، / تصفية، t/u تبديل، b إشارة مرجعية، E تصدير، o نظرة عامة) مجموعة فرعية=نطاق:chat.openai.com
● 1 UDP 510 10.0.0.6:59175 ↔ 203.0.113.123:443 تحميل
❯● 2 TCP 32 10.0.0.6:57608 ↔ 198.51.100.42:443 تحميل
التفاصيل
TCP 10.0.0.6:57608 ↔ 198.51.100.42:443
A→B: 14 حزمة / 1386 بايت
B→A: 26 حزمة / 26307 بايت
الاتجاه: تحميل-ثقيل
زمن الذهاب والإياب للمصافحة: 12.450ms
وقت تفكير الخادم: 3.200ms
مدة نقل البيانات: 89.100ms
إصدار TLS: TLS 1.2
الإشارات المرجعية: 1
المستوى الأعلى:
o نظرة عامةD نطاقاتW أشياء غريبةF تدفقاتT خط زمني (Gantt + Scatter)h مساعدةg مسردq خروجفي العروض:
Enter تعمق (نطاقات/غريب ← تدفقات، تدفقات ← حزم)Esc رجوعc مسح مرشح مجموعة فرعية نشط? شرح التدفق المحددx تجاهل تلميح الإعداد (نظرة عامة)عرض التدفقات:
↑/↓ أو j/k تحريك/ تصفيةt / u تبديل TCP / UDPb إشارة مرجعية للتدفقE تصدير تقريرعرض الخط الزمني:
Tab / Shift-Tab التبديل بين Gantt / Scatter↑/↓ أو j/k تحريكPgUp/PgDn صفحةEnter تعمق إلى الحزمعرض الحزم:
f تتبع الدفقعرض الدفق:
/ بحثn / N التالي / السابق للمطابقةTab / Shift-Tab تدوير اتجاه الدفق↑/↓ تمريرعند وضع إشارة مرجعية/تصدير، يكتب babyshark بجوار ملف PCAP في دليل مخفي:
.babyshark/case.json — الإشارات المرجعية.babyshark/report.md — أحدث تقرير (يتم استبداله).babyshark/report-YYYYMMDD-HHMMSS.md — تقارير بإصدارات--bpf للوضع المباشرMIT © 2026 Vignesh Natarajan