دستور lsof

منتشر شده در دسته : بلاگ, دستورهای تست نفوذ

دستور lsof مخفف list open file ابزاری قدرتمند برای نمایش لیست فایل های باز بر روی سیستم عامل لینوکس می باشد. ابزار lsof نسخه ۴.۸۹ اطلاعات مرتبط با فایل های باز توسط پروسه ها را بر روی سیستم های یونیکس زیر نمایش می دهد :

  • کرنل لینوکس ۲.۱.۷۲ و بالاتر از آن
  • Apple Darwin 9 و Mac OS x 10
  • FreeBSD 8 , 9 , 10 , 11 برای سیستم های مبتنی بر AMD64
  • سولاریس ۹ و ۱۰ و ۱۱

دستور lsof

یک فایل باز می تواند هر فایل عادی باشد , مثلا یک دایرکتوری , یک فایل بلاک , یک فایل کاراکتر , یک کتابخانه , یک جریان یا حتی یک فایل شبکه.

ابزار lsof به جای نمایش فرمت بندی شده خروجی قابل تجزیه توسط دیگر برنامه ها را ایجاد می کند.

این ابزار دارای گزینه های وسیعی می باشد که شرح همه آنها خارج از حوصله این مطلب است در نتیجه به شرح موارد ضروری خواهیم پرداخت. به منظور نمایش لیست گزینه های موجود برای استفاده از دستور lsof دستور lsof -h را وارد کنسول کنید.

دستور lsof - نمایش فایل های باز - نمایش فایل های باز در لینوکس - ابزار lsof

گزینه های دستور lsof

  • گزینه i- فایل های IPV4 و IPV6 را نمایش می دهد.
  • گزینه n- موجب عدم نمایش اسامی میزبان می شود.
  • گزینه s- اندازه فایل را نمایش می دهد.
  • گزینه U- موجب انتخاب سوکت های یونیکس می شود.
  • گزینه N- فایل های NFS را انتخاب می کند.
  • گزینه P- موجب عدم نمایش اسامی پورت ها می شود.

در صورتیکه دستور lsof را به تنهایی و بدون هیچ گزینه ای وارد کنیم لیست عظیمی از فایل ها نمایش داده می شود که به هیچ وجه هدف ما نیست.

دستور lsof - نمایش فایل های باز - نمایش فایل های باز در لینوکس - ابزار lsof

ما قصد داریم فایل های شبکه از نوع IPV4 و IPV6 را نمایش دهیم. در لینوکس هر چیزی یک فایل محسوب می شود. یا به عبارت بهتر اینکه در لینوکس هر جریانی بایت می باشد. دستور lsof -i را وارد می کنیم :

دستور lsof - نمایش فایل های باز - نمایش فایل های باز در لینوکس - ابزار lsof

درک نتایج

ابتدا به شرح برخی ستون ها می پردازیم. ستون اول دستور مربوطه , ستون دوم شناسه پروسه در حال اجرا , ستون USER کاربر مرتبط با جریان باز , ستون FD توصیف گر فایل یا همان File Descripter

توصیف گر فایل معمولا یک عدد به همراه یک سمبل می باشد. عدد درج شده شماره توصیف گر فایل بوده که توسط پروسه استفاده می شود. سمبل شامل موارد زیر می باشد :

  • u فایل های باز با مجوز خواندن و نوشتن
  • r فایل های باز با مجوز خواندن
  • w فایل های باز با مجوز نوشتن

ستون TYPE نوع فایل و ستون NODE همان شماره اینود در سیستم فایل (inode number) می باشد.

برخی از مطالبی که گفتیم شاید کمی گیج کننده باشند ولی یک تست ساده . دستور service postgresql stop را وارد می کنیم و مجدد دستور را اجرا می کنیم. مشاهده می کنید که لیست بالایی از جریان های درحال اجرا دیگر نمایش داده نمی شوند. به این دلیل که سرویس postgresql را متوقف نمودیم و جریان های مرتبط با این سرویس که بر روی localhost در حال اجرا بودند متوقف شدند. این کار را می توانید برای دیگر سرویس های در حال اجرا نیز انجام دهید (ولی با احتیاط و اطلاع از عملکر سرویس)

دستور lsof - نمایش فایل های باز - نمایش فایل های باز در لینوکس - ابزار lsof

یک دیدگاه

خوشحال می شویم دیدگاههای خود را در میان بگذارید * فرصت پاسخگویی به سوالات در بلاگ وجود ندارد

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *