۴ ابزار کاربردی برای شناسایی پردازشهای مصرفکننده پهنای باند در لینوکس
مدیریت و پایش ترافیک شبکه در سرورها و سیستمعاملهای مبتنی بر لینوکس یکی از حیاتیترین وظایف مدیران شبکه و سیستم است. کندی غیرمنتظره شبکه، مصرف غیرمعمول پهنای باند یا پر شدن ناگهانی سقف ترافیک ماهانه میتواند عملکرد سرویسها را با چالشهای جدی مواجه کند. در چنین شرایطی، شناسایی سریع پردازش یا برنامهای که بیشترین ترافیک شبکه را مصرف میکند اهمیت بالایی دارد.
خوشبختانه لینوکس ابزارهای قدرتمند و متنوعی در اختیار ما قرار میدهد تا ترافیک ورودی و خروجی شبکه را به تفکیک پردازشها و برنامهها تحلیل کنیم.
در این مطلب به معرفی و آموزش ۴ ابزار کاربردی و محبوب برای پایش مصرف پهنای باند شبکه در لینوکس میپردازیم و نحوه نصب و استفاده از آنها را به صورت گام به گام بررسی میکنیم.
چرا شناسایی پردازشهای پرمصرف پهنای باند اهمیت دارد؟
شبکه سرورهای لینوکس همواره در حال مبادله داده با کاربران و سایر سرویسها است. برنامههای مختلفی مانند وبسرورها، دیتابیسها، ابزارهای دانلود، سرویسهای بکاپ و حتی بدافزارها میتوانند حجم زیادی از پهنای باند شبکه را اشغال کنند. عدم آگاهی از میزان مصرف هر پردازش میتواند منجر به اختلال در ارائه خدمات شود.
با شناسایی پردازشهای مصرفکننده ترافیک، مدیران شبکه میتوانند برنامههای مخرب یا پرمصرف را تشخیص داده و نسبت به محدودسازی یا متوقف کردن آنها اقدام کنند. همچنین این کار به بهینهسازی تخصیص منابع سیستم و افزایش پایداری سرور کمک شایانی میکند.
۱. ابزار nethogs پایش ترافیک شبکه به تفکیک پردازش
ابزار nethogs یکی از کاربردیترین و محبوبترین ابزارهای خط فرمان در لینوکس برای مشاهده ترافیک شبکه به تفکیک هر پردازش است. بر خلاف ابزارهای سنتی که ترافیک را بر اساس پروتکل یا آدرس IP دستهبندی میکنند، nethogs پهنای باند را دقیقا بر اساس نام برنامه و شناسه پردازش (PID) گروهبندی میکند.
این ابزار به صورت زنده سرعت ارسال (TX) و دریافت (RX) داده را برای هر پردازش نشان میدهد، که این موضوع پیدا کردن برنامههای پرمصرف را بسیار ساده میسازد.
نصب ابزار nethogs در توزیعهای مختلف لینوکس
برای نصب nethogs در توزیعهای مبتنی بر دبیان و اوبونتو میتوانید از مدیریت پکیج apt استفاده کنید:
در توزیعهای مبتنی بر ردهت مانند RHEL، CentOS و Fedora ابتدا مخزن EPEL را فعال کرده و سپس برنامه را نصب کنید:
نحوه استفاده از nethogs
برای اجرای nethogs کافی است دستور را با دسترسی root و با مشخص کردن کارت شبکه مورد نظر اجرا کنید:
اگر نام کارت شبکه را مشخص نکنید، nethogs به صورت خودکار کارت شبکه اصلی سیستم را پایش خواهد کرد.
۲. ابزار iftop تحلیل زنده اتصالات و ترافیک شبکه
ابزار iftop مشابه دستور top در لینوکس عمل میکند، با این تفاوت که به جای پردازشهای CPU و رم، ترافیک شبکه را به صورت زنده نمایش میدهد. این ابزار لیستی از اتصالات فعال شبکه میان میزبان محلی و آدرسهای مقصد را به همراه میزان پهنای باند مصرفی نشان میدهد.
اگرچه iftop ترافیک را مستقیم بر اساس نام پردازش دستهبندی نمیکند، اما به دلیل نمایش دقیق پورتها و آدرسهای IP ارتباطی، ابزاری عالی برای پیدا کردن منشا ترافیک و ترکیب آن با دستورهای مدیریت پردازش مانند lsof یا netstat است.
نصب ابزار iftop
برای نصب iftop در سیستمعامل اوبونتو و دبیان دستور زیر را وارد کنید:
برای نصب در توزیعهای CentOS و RHEL از دستور زیر استفاده کنید:
نحوه اجرا و کلیدهای کاربردی iftop
برای اجرای برنامه روی یک کارت شبکه خاص از سوییچ i- استفاده میشود:
در محیط برنامه با فشردن کلید p میتوانید شماره پورتها را مشاهده کنید، که به شناسایی سرویس مربوطه کمک میکند.
۳. ابزار nload نمایش گرافیکی و لحظهای مصرف پهنای باند
ابزار nload یک برنامه متنی و گرافیکی ساده در محیط ترمینال است که میزان ترافیک ورودی و خروجی را به صورت نمودارهای بصری ASCII نمایش میدهد. این ابزار کل پهنای باند مصرفی، حداقل، حداکثر و میزان متوسط انتقال داده را به طور شفاف در اختیار شما قرار میدهد.
کاربرد اصلی nload در سنجش کلی ترافیک کارتهای شبکه و بررسی نوسانات مصرف پهنای باند در طول زمان است.
نصب ابزار nload
نصب nload در اوبونتو و دبیان به سادگی با دستور زیر انجام میشود:
نصب در توزیعهای مبتنی بر RedHat از طریق مخزن EPEL انجام میپذیرد:
نحوه کار با nload
با اجرای ساده دستور nload در ترمینال، وضعیت کارت شبکه اصلی نمایش داده میشود:
شما میتوانید با استفاده از کلیدهای فلش چپ و راست بین کارتهای شبکه مختلف سیستم جابهجا شوید.
۴. ابزار netstat یا ss به همراه lsof شناسایی دقیق پردازش متصل به شبکه
علاوه بر ابزارهای پایش زنده، ترکیب ابزارهای بومی لینوکس مانند ss یا netstat با ابزار lsof یکی از دقیقترین روشها برای یافتن شناسه پردازش (PID) و نام دقیق برنامهای است که از یک پورت یا اتصال شبکهای خاص استفاده میکند.
این روش نیازی به نصب برنامههای جانبی پیچیده ندارد و در تمامی سیستمعاملهای لینوکس به صورت پیشفرض یا با نصب پکیجهای پایه در دسترس است.
یافتن پورتهای فعال با دستور ss
با دستور زیر میتوانید تمام اتصالات فعال و پورتهای باز را همراه با شناسه پردازش مربوطه مشاهده کنید:
شناسایی برنامه با استفاده از lsof
اگر از طریق ابزارهایی مانند iftop یا ss متوجه شدید که یک پورت خاص ترافیک زیادی ایجاد کرده است، میتوانید با دستور lsof نام دقیق برنامه متصل به آن پورت را پیدا کنید:
خروجی این دستور نام دستور، شناسه پردازش (PID) و کاربری که آن را اجرا کرده است به طور کامل نشان میدهد.
جمعبندی
پایش پهنای باند و شناسایی پردازشهای پرمصرف یکی از مهارتهای کلیدی برای مدیریت بهینه سرورها و شبکههای لینوکسی است. ابزارهایی مانند nethogs و iftop به شما کمک میکنند تا در کوتاهترین زمان ممکن برنامههای پرمصرف را شناسایی کنید، در حالی که nload دیدی کلی از نوسانات ترافیک ارائه میدهد و ترکیب ss با lsof جزئیات دقیق پردازش را روشن میسازد.
استفاده منظم از این ابزارها به شما امکان میدهد تا پایداری شبکه را حفظ کرده، امنیت سیستم را ارتقا داده و از مصرف بیرویه منابع سرور جلوگیری کنید.