آیا می خواهید میزان استفاده از شبکه را برای تمام فرآیندهای فعال فعلی در رایانه لینوکس خود مشاهده کنید؟ با این ابزارهای منبع باز آسان است.
دسترسی به اینترنت ضروری است، اما ممکن است تعجب کنید که کدام فرآیندهای لینوکس بیشتر از اتصال شما در رایانه شما استفاده می کنند. خوشبختانه، با برخی از ابزارهای معمول لینوکس، نظارت بر فرآیندهایی که از پهنای باند شما استفاده می کنند آسان است. در اینجا به برخی از آنها اشاره می کنیم:
1. توری ها
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
lsof نام هر دستوری با اتصالات باز اینترنت، PID، توصیفگر فایل، نوع اتصال اینترنت، اندازه، پروتکل و نام فایل رسمی اتصال را به شما نشان می دهد.
استفاده از گزینه های -i4 و -i6 به شما امکان می دهد اتصالات را با استفاده از IPv4 یا IPv6 مشاهده کنید.
به احتمال زیاد lsof را قبلا نصب کرده اید. نصب آن در توزیعهای اصلی لینوکس نیز آسان است، اگر اینطور نباشد.
در دبیان و اوبونتو تایپ کنید:
sudo apt install lsof
و در قوس:
sudo pacman -S lsof
در مورد خانواده توزیع کنندگان کلاه قرمزی:
sudo dnf install lsof
3. netstat
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، می توانید فرآیندهایی را که دارای اتصالات باز هستند، ردیابی کنید.
گاهی اوقات فرآیندها حتی با اتصالات نیز دچار مشکل می شوند. در لینوکس، شما به راحتی می توانید هر فرآیند سرکش را خاتمه دهید.