خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

نحوه نظارت بر استفاده از شبکه برای فرآیندها در لینوکس

آیا می خواهید میزان استفاده از شبکه را برای تمام فرآیندهای فعال فعلی در رایانه لینوکس خود مشاهده کنید؟ با این ابزارهای منبع باز آسان است.

دسترسی به اینترنت ضروری است، اما ممکن است تعجب کنید که کدام فرآیندهای لینوکس بیشتر از اتصال شما در رایانه شما استفاده می کنند. خوشبختانه، با برخی از ابزارهای معمول لینوکس، نظارت بر فرآیندهایی که از پهنای باند شما استفاده می کنند آسان است. در اینجا به برخی از آنها اشاره می کنیم:

1. توری ها

nethogs در ترمینال و انتقال در حال اجرا در لینوکس

nethogs برنامه ای است که برای اتصالات اینترنتی همان کاری را که htop یا top برای استفاده از CPU و حافظه انجام می دهد، انجام می دهد. این به شما یک عکس فوری از اینکه کدام فرآیندها به شبکه دسترسی دارند نشان می دهد.

مانند top، htop یا atop، nethogs یک برنامه تمام صفحه است که پس از چند ثانیه به روز می شود تا اتصالات شبکه فعلی را بر اساس فرآیندها به شما نشان دهد.

نصب توری ساده است. شما فقط از طریق مدیر بسته خود بروید.

به عنوان مثال، در دبیان و اوبونتو:

sudo apt install nethogs

و در آرچ لینوکس:

sudo pacman -S nethogs

درباره خانواده کلاه قرمزی:

sudo dnf install nethogs

برای اجرای nethog ها باید روت باشید:

sudo nethogs

می توان آن را طوری تنظیم کرد که بتوانید با استفاده از این دستور، nethogs را به عنوان یک کاربر معمولی اجرا کنید:

sudo setcap "cap_net_admin,cap_net_raw+pe" /path/to/nethogs

شما باید “/path/to/nethogs” را با نام مسیر مطلق nethogs جایگزین کنید. شما می توانید این را با دستور which پیدا کنید:

which nethogs

2. lsof

خروجی lsof -i در ترمینال لینوکس

در حالی که lsof ابزاری برای فهرست کردن فایل‌های باز است، می‌تواند اتصالات شبکه باز را نیز فهرست کند. گزینه -i اتصالات اینترنتی متصل به فرآیندهای در حال اجرا در سیستم را فهرست می کند. در لینوکس، همه چیز یک فایل است.

مطلب مرتبط:   نحوه نصب بسته های پایتون در Raspberry Pi OS Bookworm

برای مشاهده اتصالات اینترنتی فعلی، از این دستور استفاده کنید:

lsof -i

lsof نام هر دستوری با اتصالات باز اینترنت، PID، توصیفگر فایل، نوع اتصال اینترنت، اندازه، پروتکل و نام فایل رسمی اتصال را به شما نشان می دهد.

استفاده از گزینه های -i4 و -i6 به شما امکان می دهد اتصالات را با استفاده از IPv4 یا IPv6 مشاهده کنید.

به احتمال زیاد lsof را قبلا نصب کرده اید. نصب آن در توزیع‌های اصلی لینوکس نیز آسان است، اگر اینطور نباشد.

در دبیان و اوبونتو تایپ کنید:

sudo apt install lsof

و در قوس:

sudo pacman -S lsof

در مورد خانواده توزیع کنندگان کلاه قرمزی:

sudo dnf install lsof

3. netstat

خروجی netstat -p در ترمینال لینوکس

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

netstat بخشی از بسته net-tools است. شما می توانید آن را در اکثر توزیع های لینوکس با استفاده از مدیریت بسته پیش فرض نصب کنید.

به عنوان مثال، در دبیان یا اوبونتو:

sudo apt install net-tools

در آرچ لینوکس:

sudo pacman -S net-tools

برای نصب netstat در Fedora، CentOS و RHEL، اجرا کنید:

sudo dnf install net-tools

می توانید netstat را در خط فرمان اجرا کنید. به طور پیش فرض، اطلاعاتی مانند پروتکل، آدرس و وضعیت اتصال را به شما نشان می دهد، اما گزینه -p ستونی را اضافه می کند که شناسه فرآیند و نام فرمان را نشان می دهد.

netstat -p

هنگامی که آن را اجرا می کنید، netstat فقط تمام اتصالات شبکه را لیست می کند و سپس خارج می شود. با گزینه -c، می توانید لیستی از اتصالات به روز شده را مشاهده کنید:

netstat -pc

این شبیه به استفاده از یک برنامه صفحه گرا مانند nethogs است، اما مزیت انجام آن به این صورت این است که می توانید خروجی را به برنامه دیگری مانند grep یا پیجر برای بررسی آن وارد کنید:

netstat -p | grep 'systemd'

برای مشاهده تمام فرآیندهای با اتصالات شبکه در سیستم خود، ممکن است مجبور شوید netstat را به عنوان ریشه اجرا کنید:

sudo netstat

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

لینوکس، مانند بسیاری از سیستم‌عامل‌های مدرن، کاملاً به اینترنت متصل است. ردیابی اینکه کدام فرآیندها از پهنای باند شما استفاده می کنند ممکن است گاهی دشوار باشد. با ابزارهایی مانند nethogs، lsof و netstat، می توانید فرآیندهایی را که دارای اتصالات باز هستند، ردیابی کنید.

مطلب مرتبط:   Vim 9.0 بمب ویرایش لینوکس را با زبان اسکریپت جدید حذف می کند

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