بسم الله الرحمن الرحيم

أداة lsof أداة تستخدم في إظهار معلومات كل الملفات و الخدمات التي تعمل في النظام, والتي تسمى processes -باللغة العربية العمليات- بشكل دقيق ومفصل ومعرفة جميع تفاصيل العملية، مثل : مسارها، والملفات التابعة للعملية، وكل الاتصالات التي تنشئها العملية، وغيرها من المعلومات المهمة .

 مختبر الاختراق او المحقق الجنائي الرقمي  يجب عليه معرفة كل العمليات الجارية والتحقق منها بحثاً عن اي دليل أو اشتباه بوجود backdoor على النظام أو معرفة كل الملفات والخدمات التي تعمل في النظام .
لمعرفة أكثر عن العمليات :
http://www.linfo.org/process.html

من أهم الأشياء التي تقوم بها عند فحص جهاز ما، والتحقق إذا ما كان الجهاز مخترقا أو اشتباه بوجود ملفات ضارة .
1- فحص كل الاتصالات الخارجة والداخلة والتحقق منها .
2- فحص كل العمليات التي تعمل في النظام ومعلومات كل عملية للتأكد من عدم وجود عمليات ضارة، مثل: تروجان، أو كيلوجر .

أيضا من فوائد  التحري عن العمليات ومعرفة كل تفاصيلها، معرفة ماهي البرامج التي تعمل الاَن، وما هي العمليات المتسببة في إنهاك موارد الجهاز أو إهدار ترايفك الشبكة .

أداة lsof سوف نستخدمها في استخراج كل ما يخص العمليات في النظام .

عند تنفيذ الامر lsof في الترمنال سوف تظهر معلومات كل العمليات في أعمدة مرتبة الأعمدة واضحة من عناوينها، منها FD و  TYPE.

lsof
العمود FD : تمثل وصف لملف العملية، مثل: cwd ، txt ، mem , mmap ، NUMBER.
العمود TYPE : يوضح نوع الملف، مثل : REG ، DIR ، FIFO ، CHR.

cwd : المسار الذي يعمل علية الملف
txt : ملف نصي
mem : هو جزء من الذاكرة له علاقة بمسار أو ملف معين
mmap : خرائط الملفات الخاصة بالعملية في الذاكرة
NUMBER : تمثل وصفا لصلاحية الملف عند فتحه -مثلاً- للقراءة او الكتابة أو كليهما
REG : ملف عادي
DIR : مسار
FIFO : وصف أيهما أول الدخول أو الخروج
CHR : رمز أو وصف خاص

يستحسن استخدام الأداة في وضع الروت لكي تستطيع الأداة الوصول لجميع المسارات والصلاحيات .

بعض الأمثلة لأستخدام الاداة :
1- معرفة جميع العمليات في مسار معين:

lsof +D /var/www

من خلال الأمر السابق تم إظهار جميع العمليات التي لها علاقة بالمجلد www سواء من كتابة عليه، أو القراءة منه، او اذا كان الملف نفسه المسؤل عن انشاء العملية في المجلد www. أيضا نستطيع إظهار العمليات والملفات الخاصة بنقاط التوصيل mount point ، مثل: أقراص usb ،أو أقراص الهارد ديسك.على سبيل المثال: إذا قمت بفتح مستند نص txt أو أغنيه من قرص خارجي فلاش ديسك، فسوف تظهر لك العملية الخاصة بهذه الأغنية أو الملف النصي إذا طبقت الأمر على مسار الفلاش  ديسك .

2-إظهار جميع الملفات الخاصة بعملية معينة :

lsof -c gedit

في المثال السابق أردنا معرفة كل الملفات الخاصة بالعملية gedit والتي لها علاقة بالعملية قراءة كانت او كتابة.
عليك بفهم بأن النتيجة التي سوف تحصل عليها ليست هي الملف الذي تقوم بالتعديل عليه بواسطة محرر النصوص gedit فقط، ولكن سوف تُظهر لك كل شي يخص العملية من مسار البرنامج نفسة، ومسار المكتبات التي يستخدمها، ومسار الخطوط الخاصة به ومسار ملفات الكاش، والكثير من المعلومات بشكل مفصل جدا .

3- إظهار قائمة بالعمليات التي تم فتحها بواسطة مستخدم معين :

lsof -u ali

في المثال السابق سوف تظهر جميع العمليات التي قام المستخدم ali بها. أحيانا نريد ان تظهر العمليات لكل المستخدمين ماعدا مستخدم معين، الرمز ^ يعني ان يستثني المستخدم الفلاني مثال:

lsof -u ^ali

4- إظهار قائمة بالملفات الخاصة بعملية معينة بواسطة معلومية رقمها او هويتها :

lsof -p 1753

5- قتل العمليات الخاصة بمستخدم معين :

‘kill -9 ‘lsof -t -u

أيضا نستطيع استخدام الخيار -t في نواحي عديدة مثل قتل عمليات موجودة في مسار معين، مثال:

lsof -t /var/www

6- الجمع بين أكثر من خيار :

lsof -u ali -c init

7- عرض جميع الاتصالات في الشبكة :

 lsof -i

8- عرض الاتصالات لعملية محددة:
هذا المثال مهم جدا لمعرفة العمليات التي تقوم بإخراج معلومات إلى خارج الجهاز في حالة أردت التأكد من العملية انها ليست تروجان  .

lsof -i -a -p 234

حيث 234 هو هوية العملية أو رقمها :

أو

lsof -i -a -c ssh

9- عرض العمليات التي تتنصت على بورت معين :

lsof -i :25

10- عرض اتصالات tcp , udp أو أحدهم بشكل منفرد :

;lsof -i tcp; lsof -i udp

هذه كانت بعض الامثلة لأداة lsof وليست كلها ولكن احببت فقط التعريف بالأداة .