بررسی و تحلیل مصرف ترافیک سرور

Calendar

انتشار:

1404/08/09
Update Calendar

به روز رسانی:

1404/08/09

هدف از این راهنما این است که بتوانیم میزان ترافیک شبکه در سرور لینوکسی را به‌صورت دقیق بررسی کنیم و بفهمیم چه سرویس‌ها یا پردازش‌هایی بیشترین مصرف پهنای‌باند را دارند. با این روش می‌توان عملکرد شبکه را بهینه و از مشکلات احتمالی جلوگیری کرد.

مرحله اول: مشاهده کلی ترافیک شبکه با nload

ابزار nload یکی از ساده‌ترین و کاربردی‌ترین ابزارهای مانیتورینگ شبکه در لینوکس است. این ابزار به‌صورت گرافیکی (در محیط متنی ترمینال) میزان ترافیک ورودی و خروجی را به‌صورت لحظه‌ای نمایش می‌دهد.

بعد از ورود به سرور از طریق SSH، می‌توانید از طریق ترمینال، ابزارهای بررسی ترافیک را نصب و اجرا کنید. برای نصب در اوبونتو و توزیع‌های مشابه، از دستور زیر استفاده کنید:

sudo apt install nload -y

در توزیع‌های CentOS، AlmaLinux و Rocky Linux هم می‌توانید دستور زیر را وارد کنید:

sudo yum install nload -y

پس از نصب، با اجرای دستور sudo nload برنامه اجرا می‌شود. در خروجی، دو بخش Incoming و Outgoing نمایش داده می‌شود که به‌ترتیب مربوط به ترافیک ورودی (دریافتی) و خروجی (ارسالی) هستند. نمودار پایین‌تر نیز تغییرات لحظه‌ای پهنای‌باند را نشان می‌دهد.

اگر سرور چند رابط شبکه دارد (مثلاً eth0 و eth1)، می‌توانید با کلید‌های جهت‌دار بین رابط‌ها جابه‌جا شوید و ترافیک هرکدام را جداگانه بررسی کنید.

(نمای اجرای nload و نمودارهای ترافیک ورودی و خروجی

مرحله دوم: تحلیل دقیق اتصالات فعال با iftop

ابزار iftop برای بررسی جزئی‌تر ترافیک و نمایش اتصالات فعال در شبکه به‌کار می‌رود. این ابزار نشان می‌دهد چه IPهایی به سرور شما متصل هستند و چه مقدار داده بین هر اتصال منتقل می‌شود.

برای نصب در اوبونتو از دستور زیر استفاده کنید:

sudo apt install iftop -y

در CentOS یا AlmaLinux دستور نصب به این شکل است:

sudo yum install iftop -y

با اجرای دستور sudo iftop محیطی باز می‌شود که در ستون سمت چپ، آدرس‌های IP مبدأ (سیستم‌هایی که به سرور شما متصل هستند) و در ستون سمت راست، IP مقصد (خروجی‌ها از سرور) را نشان می‌دهد. ستون‌های میانی مقدار داده ارسالی و دریافتی را به تفکیک و به‌صورت لحظه‌ای نمایش می‌دهند.

اگر فقط می‌خواهید ترافیک یک رابط خاص مثل eth0 را بررسی کنید، از دستور زیر استفاده کنید:

sudo iftop -i eth0

در بالای صفحه مجموع کل ارسال و دریافت داده‌ها در بازه‌های زمانی ۲، ۱۰ و ۴۰ ثانیه نمایش داده می‌شود. با فشار دادن کلید p می‌توانید نمایش پورت‌ها را فعال یا غیرفعال کنید تا جزئیات دقیق‌تری ببینید.

نمای خروجی iftop با ستون‌های IP و میزان ترافیک

مرحله سوم: شناسایی برنامه‌های پرمصرف با nethogs

در حالی که دو ابزار قبلی بیشتر روی ترافیک کلی و اتصالات تمرکز دارند، nethogs به شما نشان می‌دهد کدام فرآیند یا برنامه روی سرور بیشترین ترافیک را مصرف می‌کند. این ویژگی زمانی مفید است که بخواهید بفهمید کدام سرویس (مثل Nginx، MySQL یا SSH) ترافیک زیادی تولید کرده است.

برای نصب در اوبونتو و Debian دستور زیر را اجرا کنید:

sudo apt install nethogs -y

برای CentOS و AlmaLinux از دستور زیر استفاده کنید:

sudo yum install nethogs -y

و بعد از نصب، با اجرای دستور زیر ابزار را اجرا کنید:

sudo nethogs

پس از چند لحظه فهرستی از برنامه‌های فعال نمایش داده می‌شود. ستون Process مسیر دقیق اجرای هر برنامه را نشان می‌دهد، در حالی که ستون‌های Sent و Received میزان داده‌های ارسال و دریافت‌شده توسط هر برنامه را به‌صورت زنده نمایش می‌دهند. اگر نیاز داشتید ترافیک یک رابط خاص را ببینید، دستور زیر را اجرا کنید:

sudo nethogs eth0

این ابزار به‌صورت خودکار فرآیندهایی مانند مرورگرها، سرویس‌های وب یا حتی آپدیت خودکار سیستم را تشخیص می‌دهد و مقدار ترافیک هرکدام را جداگانه محاسبه می‌کند.

نمای خروجی nethogs با فهرست برنامه‌ها و میزان ترافیک

مرحله چهارم: مقایسه و جمع‌بندی اطلاعات

پس از اجرای ابزارها، می‌توانید نتایج به‌دست‌آمده را کنار هم قرار دهید تا دید دقیق‌تری از وضعیت شبکه پیدا کنید. با nload می‌توانید ترافیک کلی سرور را به‌صورت لحظه‌ای بررسی کنید. با iftop متوجه می‌شوید کدام IPها بیشترین ارتباط را با سرور دارند. و با nethogs مشخص می‌شود کدام برنامه‌ها یا سرویس‌ها ترافیک بالایی دارند.

ترکیب نتایج این سه ابزار به شما کمک می‌کند بفهمید آیا مصرف بالای ترافیک مربوط به کاربران واقعی است یا فرآیندهای غیرعادی. این موضوع برای جلوگیری از حملات DDoS، تنظیم محدودیت‌های شبکه یا بهینه‌سازی عملکرد سرویس‌ها بسیار مفید خواهد بود.


در نهایت با یادگیری استفاده از این ابزارها، شما می‌توانید ترافیک سرور خود را به‌صورت دقیق کنترل کنید و از بروز مشکلاتی مانند افزایش ناگهانی مصرف یا اتصال‌های مشکوک جلوگیری نمایید. این مهارت یکی از گام‌های اساسی در مدیریت حرفه‌ای سرورهای لینوکسی است.

آیا توانستیم چالش شما را حل کنیم؟