Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
ptcpdump — محلل حزم قائم على eBPF يلتقط حركة مرور الشبكة مع تعليق بيانات وصفية تلقائي للعمليات والحاويات و pods Kubernetes، ويدعم التصفية المتوافقة مع tcpdump وإخراج PcapNG. | Kitploit
أدوات/GitHubGitHub/mozillazg/ptcpdump
التقاط وتحليل الحزمأمن الحاوياتالتحليل الديناميكي (عزل)تحليل الشبكة الجنائيالتحقيق الجنائي الرقميأمن الشبكاتالتحاليل الرقمية الجنائيةأمن السحابة
GitHubmozillazg/ptcpdump

ptcpdump

محلل حزم قائم على eBPF يلتقط حركة مرور الشبكة مع تعليق بيانات وصفية تلقائي للعمليات والحاويات و pods Kubernetes، ويدعم التصفية المتوافقة مع tcpdump وإخراج PcapNG.

1.3k6772منذ 4 أشهرتمت المراجعة من قبل Kitploit
عرض المستودع

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

ptcpdump

amd64-e2e arm64-e2e Release Coveralls English | 中文

ptcpdump هو محلل حزم متوافق مع tcpdump يعمل بتقنية eBPF، ويقوم تلقائيًا بتعليق الحزم ببيانات تعريف العملية/الحاوية/البود عندما يمكن اكتشافها. مستوحى من jschwinger233/skbdump.

قائمة المحتويات

  • الميزات
  • التثبيت
    • المتطلبات
  • الاستخدام
    • أوامر مثال
    • مخرجات مثال
    • التشغيل مع Docker
    • المحرك الخلفي
    • الخيارات
  • مقارنة مع tcpdump
  • التطوير
    • التبعيات
    • البناء
  • مشاريع ذات صلة
    • Flownix

الميزات

  • 🔍 التقاط حزم واعي بالعملية/الحاوية/البود.
  • 📦 التصفية حسب: --pid (العملية)، --pname (اسم العملية)، --container-id (الحاوية)، --pod-name (البود).
  • 🎯 خيارات متوافقة مع tcpdump (-i, -w, -c, -s, -n, -C, -W, -A, والمزيد).
  • 📜 يدعم صياغة pcap-filter(7) مثل tcpdump.
  • 🌳 مخرجات مشابهة لـ tcpdump + سياق العملية/الحاوية/البود.
  • 📑 وضع المفصل يعرض بيانات تعريف مفصلة للعمليات والحاويات/البودات.
  • 💾 تنسيق PcapNG مع بيانات تعريف مضمنة (جاهز لـ Wireshark).
  • 🌐 التقاط عبر مساحات الأسماء (--netns).
  • 🚀 تصفية BPF في مساحة النواة (عبء منخفض، يقلل استخدام وحدة المعالجة المركزية).
  • ⚡ تكامل مع بيئة تشغيل الحاويات (Docker, containerd).

التثبيت

يمكنك تنزيل الملف التنفيذي المرتبط بشكل ثابت لـ x86_64 و arm64 من صفحة الإصدارات.

المتطلبات

نواة لينكس >= 5.2 (مجمعة مع دعم BPF و BTF).

ptcpdump يتطلب اختياريًا debugfs. يجب تركيبه في /sys/kernel/debug. في حال كان المجلد فارغًا، يمكن تركيبه باستخدام:

mount -t debugfs none /sys/kernel/debug

تكوين النواة التالي مطلوب. البناء كوحدات نمطية ممكن أيضًا.

الخيارالمحرك الخلفيملاحظة
CONFIG_BPF=yكلاهمامطلوب
CONFIG_BPF_SYSCALL=yكلاهمامطلوب
CONFIG_DEBUG_INFO=yكلاهمامطلوب
CONFIG_DEBUG_INFO_BTF=yكلاهمامطلوب
CONFIG_KPROBES=yكلاهمامطلوب
CONFIG_KPROBE_EVENTS=yكلاهمامطلوب
CONFIG_TRACEPOINTS=yكلاهمامطلوب
CONFIG_PERF_EVENTS=yكلاهمامطلوب
CONFIG_NET=yكلاهمامطلوب
CONFIG_NET_SCHED=ytcمطلوب
CONFIG_NET_CLS_BPF=ytcمطلوب
CONFIG_NET_ACT_BPF=ytcمطلوب
CONFIG_NET_SCH_INGRESS=ytcمطلوب
CONFIG_CGROUPS=ycgroup-skbمطلوب
CONFIG_CGROUP_BPF=ycgroup-skbمطلوب
CONFIG_FILTER=ysocket-filterمطلوب
CONFIG_BPF_TRAMPOLINE=ytp-btfمطلوب
CONFIG_SECURITY=yكلاهمااختياري (موصى به)
CONFIG_BPF_TRAMPOLINE=yكلاهمااختياري (موصى به)
CONFIG_SOCK_CGROUP_DATA=yكلاهمااختياري (موصى به)
CONFIG_BPF_JIT=yكلاهمااختياري (موصى به)
CONFIG_CGROUP_BPF=ytc, tp-btf, socket-filterاختياري (موصى به)
CONFIG_CGROUPS=ytc, tp-btf, socket-filterاختياري (موصى به)

يمكنك استخدام zgrep $OPTION /proc/config.gz للتحقق من تمكين الخيار.

🔝

الاستخدام

أوامر مثال

التصفية مثل tcpdump:

sudo ptcpdump -i eth0 tcp
sudo ptcpdump -i eth0 -A -s 0 -n -v tcp and port 80 and host 10.10.1.1
sudo ptcpdump -i any -s 0 -n -v -C 100MB -W 3 -w test.pcapng 'tcp and port 80 and host 10.10.1.1'
sudo ptcpdump -i eth0 'tcp[tcpflags] & (tcp-syn|tcp-fin) != 0'

واجهات متعددة:

sudo ptcpdump -i eth0 -i lo

التصفية حسب العملية أو المستخدم:

sudo ptcpdump -i any --pid 1234 --pid 233 -f
sudo ptcpdump -i any --pname curl
sudo ptcpdump -i any --uid 1000

الالتقاط حسب العملية عبر تشغيل البرنامج المستهدف:

sudo ptcpdump -i any -- curl ubuntu.com

التصفية حسب الحاوية أو البود:

sudo ptcpdump -i any --container-id 36f0310403b1
sudo ptcpdump -i any --container-name test
sudo ptcpdump -i any --pod-name test.default

حفظ البيانات بتنسيق PcapNG:

sudo ptcpdump -i any -w demo.pcapng
sudo ptcpdump -i any -w - port 80 | tcpdump -n -r -
sudo ptcpdump -i any -w - port 80 | tshark -r -

التقاط الواجهات في مساحات أسماء شبكة أخرى:

sudo ptcpdump -i lo --netns /run/netns/foo --netns /run/netns/bar
sudo ptcpdump -i any --netns /run/netns/foobar
sudo ptcpdump -i any --netns /proc/26/ns/net

🔝

مخرجات مثال

الافتراضي:

09:32:09.718892 vethee2a302f wget.3553008 In IP 10.244.0.2.33426 > 139.178.84.217.80: Flags [S], seq 4113492822, win 64240, length 0, ParentProc [python3.834381], Container [test], Pod [test.default]
09:32:09.718941 eth0 wget.3553008 Out IP 172.19.0.2.33426 > 139.178.84.217.80: Flags [S], seq 4113492822, win 64240, length 0, ParentProc [python3.834381], Container [test], Pod [test.default]

مع -q:

09:32:09.718892 vethee2a302f wget.3553008 In IP 10.244.0.2.33426 > 139.178.84.217.80: tcp 0, ParentProc [python3.834381], Container [test], Pod [test.default]
09:32:09.718941 eth0 wget.3553008 Out IP 172.19.0.2.33426 > 139.178.84.217.80: tcp 0, ParentProc [python3.834381], Container [test], Pod [test.default]

مع -v:

13:44:41.529003 eth0 In IP (tos 0x4, ttl 45, id 45428, offset 0, flags [DF], proto TCP (6), length 52)
    139.178.84.217.443 > 172.19.0.2.42606: Flags [.], cksum 0x5284, seq 3173118145, ack 1385712707, win 118, options [nop,nop,TS val 134560683 ecr 1627716996], length 0
    Process (pid 553587, cmd /usr/bin/wget, args wget kernel.org)
    User (uid 1000)
    ParentProc (pid 553296, cmd /bin/sh, args sh)
    Container (name test, id d9028334568bf75a5a084963a8f98f78c56bba7f45f823b3780a135b71b91e95, image docker.io/library/alpine:3.18, labels {"io.cri-containerd.kind":"container","io.kubernetes.container.name":"test","io.kubernetes.pod.name":"test","io.kubernetes.pod.namespace":"default","io.kubernetes.pod.uid":"9e4bc54b-de48-4b1c-8b9e-54709f67ed0c"})
    Pod (name test, namespace default, UID 9e4bc54b-de48-4b1c-8b9e-54709f67ed0c, labels {"run":"test"}, annotations {"kubernetes.io/config.seen":"2024-07-21T12:41:00.460249620Z","kubernetes.io/config.source":"api"})

استخدام --context لتحديد السياق المراد تضمينه في المخرجات:

تنزيل الأداة