Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/microsoft/procdump-for-linux
التحليل الديناميكي (عزل)تحليل الذاكرة الجنائيمصممي الأخطاءتحليل البرمجيات الخبيثةالاستجابة للحوادث
GitHubmicrosoft/procdump-for-linux

ProcDump-for-Linux

نسخة لينكس من أداة ProcDump Sysinternals

عرض المستودع
3.1k326منذ يوم واحدتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

ProcDump Build Status

ProcDump هي إعادة تصور لأداة ProcDump الكلاسيكية من مجموعة أدوات Sysinternals لأنظمة Windows. توفر ProcDump طريقة مناسبة لمطوري Linux و Mac لإنشاء تفريغ أساسي (core dumps) لتطبيقاتهم بناءً على محفزات الأداء. ProcDump for Linux and Mac هي جزء من Sysinternals.

ProcDump قيد الاستخدام

التثبيت والاستخدام

المتطلبات

  • الحد الأدنى لنظام Linux:
    • Red Hat Enterprise Linux / CentOS 7
    • Fedora 29
    • Ubuntu 16.04 LTS
    • gdb >= 7.6.1
  • الحد الأدنى لنظام Mac OS: Sierra

تثبيت ProcDump

يرجى الاطلاع على تعليمات التثبيت هنا.

البناء

يرجى الاطلاع على تعليمات البناء هنا.

الاستخدام

تغيير جذري مع إصدار ProcDump 1.3 تم الآن محاذاة المفاتيح مع إصدار Windows من ProcDump. يرجى ملاحظة أن إصدار Mac يحتوي حالياً على مجموعة محدودة من المحفزات.

root@kitploit:~
Capture Usage:
   procdump [-n Count]
            [-s Seconds]
            [-c|-cl CPU_Usage]
            [-m|-ml Commit_Usage1[,Commit_Usage2...]]
            [-gcm [<GCGeneration>: | LOH: | POH:]Memory_Usage1[,Memory_Usage2...]]
            [-gcgen Generation]
            [-restrack [nodump]]
            [-sr Sample_Rate]
            [-tc Thread_Threshold]
            [-fc FileDescriptor_Threshold]
            [-sig Signal_Number1[,Signal_Number2...]]
            [-e]
            [-f Include_Filter,...]
            [-fx Exclude_Filter]
            [-mc Custom_Dump_Mask]
            [-pf Polling_Frequency]
            [-o]
            [-log syslog|stdout]
            {
             {{[-w] Process_Name | [-pgid] PID} [Dump_File | Dump_Folder]}
            }

Options:
   -n      عدد مرات التفريغ التي سيتم كتابتها قبل الخروج.
   -s      الثواني المتتالية قبل كتابة التفريغ (الافتراضي هو 10).
   -c      عتبة CPU التي يتم تجاوزها لإنشاء تفريغ للعملية.
   -cl     عتبة CPU التي يتم النزول تحتها لإنشاء تفريغ للعملية.
   -m      عتبة (عتبات) استهلاك الذاكرة (MB) التي يتم تجاوزها لإنشاء تفريغ.
   -ml     عتبة (عتبات) استهلاك الذاكرة (MB) التي يتم النزول تحتها لإنشاء تفريغ.
   -gcm    [.NET] عتبة (عتبات) ذاكرة GC (MB) التي يتم تجاوزها لإنشاء تفريغ للجيل أو الكومة المحددة (الافتراضي هو إجمالي استخدام ذاكرة .NET).
   -gcgen  [.NET] إنشاء تفريغ عند بدء وانتهاء جمع القمامة للجيل المحدد.
   -restrack تفعيل تتبع تسرب الذاكرة (عائلة دوال malloc). إذا استُخدم بدون محفزات أخرى، استخدم 't' لأخذ تقرير restrack يدوياً. عند استخدامه مع محفزات أخرى، يمكن استخدام الخيار 'nodump' لمنع توليد التفريغ وإنتاج تقارير restrack فقط.
   -sr     معدل العينة عند استخدام -restrack.
   -tc     عتبة عدد الخيوط التي يتم تجاوزها لإنشاء تفريغ للعملية.
   -fc     عتبة عدد واصفات الملفات التي يتم تجاوزها لإنشاء تفريغ للعملية.
   -sig    قائمة مفصولة بفواصل بأرقام الإشارات التي ينتج عنها تفريغ للعملية عند حدوث أي إشارة.
   -e      [.NET] إنشاء تفريغ عند مواجهة العملية لاستثناء.
   -f      تصفية (تضمين) على محتوى استثناءات .NET (مفصولة بفواصل). يتم دعم أحرف البدل (*).
   -fx     تصفية (استبعاد) على محتوى مكدسات الاستدعاء لـ -restrack. يتم دعم أحرف البدل (*).
   -mc     قناع تفريغ أساسي مخصص (بالنظام الست عشري) يشير إلى الذاكرة التي يجب تضمينها في التفريغ الأساسي. رجاءً راجع 'man core' (/proc/[pid]/coredump_filter) للاطلاع على الخيارات المتاحة.
   -pf     تردد الاقتراع.
   -o      الكتابة فوق ملف التفريغ الموجود.
   -log    كتابة تتبع موسع لـ ProcDump إلى تيار الإخراج المحدد (syslog أو stdout).
   -w      انتظار إطلاق العملية المحددة إذا لم تكن قيد التشغيل.
   -pgid   معرف العملية المحدد يشير إلى معرف مجموعة عمليات.

تتبع الموارد

يقوم المفتاح -restrack بتفعيل تتبع الموارد، مما يسمح بمراقبة والإبلاغ عن أي تخصيصات للموارد لم يتم تحريرها في وقت توليد التفريغ الأساسي. تُحفظ النتائج في ملف بامتداد '.restrack'. حالياً، يتم تتبع وظائف تخصيص/إلغاء تخصيص الموارد التالية:

التخصيص:

  • malloc
  • calloc
  • realloc
  • reallocarray
  • mmap

إلغاء التخصيص:

  • free
  • munmap

لا يقوم إصدار Mac حالياً بتنفيذ تتبع الموارد.

أمثلة

جميع الأمثلة التالية تستهدف عملية برقم تعريف (pid) == 1234

سيقوم ما يلي بإنشاء تفريغ أساسي فوراً.

root@kitploit:~
sudo procdump 1234

سيقوم ما يلي بإنشاء 3 تفريغات أساسية بفاصل زمني 10 ثوانٍ.

root@kitploit:~
sudo procdump -n 3 1234

سيقوم ما يلي بإنشاء 3 تفريغات أساسية بفاصل زمني 5 ثوانٍ.

root@kitploit:~
sudo procdump -n 3 -s 5 1234

سيقوم ما يلي بإنشاء تفريغ أساسي في كل مرة يصل فيها استخدام CPU للعملية إلى >= 65%، حتى 3 مرات، مع فاصل زمني لا يقل عن 10 ثوانٍ بين كل تفريغ.

root@kitploit:~
sudo procdump -c 65 -n 3 1234

سيقوم ما يلي بإنشاء تفريغ أساسي في كل مرة يصل فيها استخدام CPU للعملية إلى >= 65%، حتى 3 مرات، مع فاصل زمني لا يقل عن 5 ثوانٍ بين كل تفريغ.

root@kitploit:~
sudo procdump -c 65 -n 3 -s 5 1234

سيقوم ما يلي بإنشاء تفريغ أساسي عندما يكون استخدام CPU خارج النطاق [10,65].

root@kitploit:~
sudo procdump -cl 10 -c 65 1234

سيقوم ما يلي بإنشاء تفريغ أساسي عندما يكون استخدام CPU >= 65% أو استخدام الذاكرة >= 100 ميجابايت.

root@kitploit:~
sudo procdump -c 65 -m 100 1234

سيقوم ما يلي بإنشاء تفريغ أساسي عندما يكون استخدام الذاكرة >= 100 ميجابايت، يليه تفريغ آخر عندما يكون استخدام الذاكرة >= 200 ميجابايت.

root@kitploit:~
sudo procdump -m 100,200 1234

سيقوم ما يلي بإنشاء تقرير تسرب ذاكرة (بدون تفريغات) في كل مرة يضغط فيها المستخدم على 't':

root@kitploit:~
sudo procdump -restrack 1234

سيقوم ما يلي بإنشاء 3 تقارير تسرب ذاكرة (بدون تفريغات) بفاصل زمني 5 ثوانٍ:

root@kitploit:~
sudo procdump -n 3 -s 5 -restrack nodump 1234

سيقوم ما يلي بإنشاء تفريغ أساسي وتقرير تسرب ذاكرة عندما يكون استخدام الذاكرة >= 100 ميجابايت

root@kitploit:~
sudo procdump -m 100 -restrack 1234

سيقوم ما يلي بإنشاء تقرير تسرب ذاكرة (بدون تفريغات) عندما يكون استخدام الذاكرة >= 100 ميجابايت

root@kitploit:~
sudo procdump -m 100 -restrack nodump 1234

سيقوم ما يلي بإنشاء تفريغ أساسي وتقرير تسرب ذاكرة عندما يكون استخدام الذاكرة >= 100 ميجابايت عن طريق أخذ عينة من كل تخصيص ذاكرة عاشر.

root@kitploit:~
sudo procdump -m 100 -restrack -sr 10 1234

سيقوم ما يلي بإنشاء تفريغ أساسي وتقرير تسرب ذاكرة عندما يكون استخدام الذاكرة >= 100 ميجابايت واستبعاد أي مكدسات استدعاء تحتوي على إطارات تحتوي على السلسلة "cache" فيها

root@kitploit:~
sudo procdump -m 100 -restrack -fx *cache* 1234

سيقوم ما يلي بإنشاء تفريغ أساسي عندما يكون إجمالي استخدام ذاكرة .NET >= 100 ميجابايت، يليه تفريغ آخر عندما يكون استخدام الذاكرة >= 200 ميجابايت.

root@kitploit:~
sudo procdump -gcm 100,200 1234

سيقوم ما يلي بإنشاء تفريغ أساسي عندما يكون استخدام ذاكرة .NET للجيل 1 >= 1 ميجابايت، يليه تفريغ آخر عندما يكون استخدام الذاكرة >= 2 ميجابايت.

root@kitploit:~
sudo procdump -gcm 1:1,2 1234

سيقوم ما يلي بإنشاء تفريغ أساسي عندما يكون استخدام ذاكرة كومة الكائنات الكبيرة (Large Object Heap) في .NET >= 100 ميجابايت، يليه تفريغ آخر عندما يكون استخدام الذاكرة >= 200 ميجابايت.

root@kitploit:~
sudo procdump -gcm LOH:100,200 1234

سيقوم ما يلي بإنشاء تفريغ أساسي في بداية ونهاية جمع القمامة للجيل 1 في .NET.

root@kitploit:~
sudo procdump -gcgen 1

سيقوم ما يلي بإنشاء تفريغ أساسي في الدليل /tmp فوراً.

root@kitploit:~
sudo procdump 1234 /tmp

سيقوم ما يلي بإنشاء تفريغ أساسي في الدليل الحالي باسم dump_0.1234. إذا تم استخدام -n، سيتم تسمية الملفات dump_0.1234, dump_1.1234 وهكذا.

root@kitploit:~
sudo procdump 1234 dump

سيقوم ما يلي بإنشاء تفريغ أساسي عند حدوث SIGSEGV.

root@kitploit:~
sudo procdump -sig 11 1234

سيقوم ما يلي بإنشاء تفريغ أساسي عند حدوث SIGSEGV حيث يحتوي التفريغ الأساسي على الخرائط الخاصة المجهولة (anonymous private mappings) فقط.

root@kitploit:~
sudo procdump -mc 1 -sig 11 1234

سيقوم ما يلي بإنشاء تفريغ أساسي عندما يرمي تطبيق .NET الهدف استثناء System.InvalidOperationException

root@kitploit:~
sudo procdump -e -f System.InvalidOperationException 1234

يدعم مرشح التضمين المطابقة الجزئية وأحرف البدل، لذا فإن ما يلي سينشئ تفريغاً أساسياً أيضاً لاستثناء System.InvalidOperationException

root@kitploit:~
sudo procdump -e -f InvalidOperation 1234

أو

root@kitploit:~
sudo procdump -e -f "*Invali*Operation*" 1234

يمكن استخدام جميع الخيارات أيضاً مع -w، لانتظار أي عملية بالاسم المعطى.

ينتظر ما يلي عملية باسم my_application وينشئ تفريغاً أساسياً فور العثور عليها.

root@kitploit:~
sudo procdump -w my_application

القيود الحالية

  • حالياً يعمل فقط على نواة Linux الإصدار 3.5+ أو macOS Sierra+.
  • لا يتمتع بالتماثل الكامل للميزات مع إصدار Windows من ProcDump، وبالتحديد وظيفة البقاء نشطاً (stay alive) وعدادات الأداء المخصصة

الملاحظات

  • اطرح سؤالاً على StackOverflow (وسم بـ ProcDumpForLinux)
  • اطلب ميزة جديدة على GitHub
  • صوّت لطلبات الميزات الشائعة
  • أبلغ عن خطأ في GitHub Issues

المساهمة

إذا كنت مهتماً بإصلاح المشكلات والمساهمة مباشرة في قاعدة الكود، يرجى الاطلاع على وثيقة كيفية المساهمة، والتي تغطي ما يلي:

  • كيفية البناء والتشغيل من المصدر
  • سير العمل التطويري، بما في ذلك تصحيح الأخطاء وتشغيل الاختبارات
  • إرشادات الترميز
  • تقديم طلبات السحب (pull requests)

يرجى أيضاً الاطلاع على مدونة قواعد السلوك الخاصة بنا.

الترخيص

Copyright (c) Microsoft Corporation. جميع الحقوق محفوظة.

مرخص بموجب رخصة MIT.

ProcDump for Linux:

  • يستنسخ ويجمع ويُربط بشكل ثابت مع libbpf (https://github.com/libbpf/libbpf)
  • ينسخ كود حل الرموز من BCC (https://github.com/iovisor/bcc)
  • يستخدم eBPF
تنزيل الأداة