سبد خرید شما خالی است.
مدیریت پروسه ها در لینوکس
شاید بتوان گفت بررسی و مدیریت پروسه ها در لینوکس یکی از مهمترین مهارتی است که هر هکر و متخصصی باید بداند. در لینوکس یک پروسه، یک برنامه در حال اجرا در حافظه است.
معمولا سیستم شما بهطور همزمان صدها پروسه را اجرا میکند. لینوکسیها از پروسههای سیستم به عنوان دیمونها (demons) یا شیاطین نام میبرند، زیرا تقریبا در انتهای نام پروسهها کلمه «d» وجود دارد. مانند httpd، که پروسه سرویس http هست.
قبل از مطالعه این قسمت، مطمئن شوید که قسمتهای قبلی سری آموزش لینوکس برای هکرهای اخلاقی را خوانده اید.
ابزار HTOP
HTOP ابزاری برای نمایش پروسه های باز سیستم است، البته به طور پیش فرض شما در لینوکس با دستور top میتوانید پروسس های سیستم را ببینید ولی ابزار HTOP این پروسس ها رو با جزییات بیشتری به شما نمایش میدهد. این ابزار برترین ابزار به منظور مدیریت process ها در لینوکس می باشد که با دستور زیر نصب میتوانید آن را نصب کنید.
sudo apt install htop -y
htop
این ابزار لیست برنامه های شما را نشان می دهد و شما میتواند با کلید f9 برنامه مورد نظرتان را متوقف کنید.
1- مشاهده کنید چه پروسههایی اجرا میشوند
ما میتوانیم تمام پروسههای موجود در سیستم را با دستور زیر ببینیم:
ps aux
این سوئیچها تمام پروسهها (a)، کاربر (u) و پروسههایی که با ترمینال (x) مرتبط نیستند را لیست میکند. این مجموعه سوئیچ موردعلاقه من برای استفاده از دستور ps است زیرا من را قادر به دیدن کاربری میکند که پروسهای را اجرا کرده و مقدار زیادی از منابع را استفاده میکند.
توجه داشته باشید که هر پروسه لیست شده موارد زیر را نشان میدهد.
- user – کاربر
- PID (process identifier) – شماره پروسه
- %CPU
- %MEM – حافظه
اگر ما فقط میخواستیم همه پروسهها را با اطلاعات کمتری ببینیم، میتوانیم تایپ کنیم:
ps -A
شما میتوانید تمام پروسههای در حال اجرا را ببینید، اما بدون اطلاعاتی مانند درصد CPU و درصد حافظه. توجه داشته باشید که airbase-ng با PID 3368 ذکرشده است و آخرین پروسه، دستور ps است.
شماره پروسه یا PID ها برای کار در لینوکس حیاتی هستند، زیرا شما اغلب برای مدیریت پروسهها نیاز به PID دارید. همانطور که در برخی از آموزشهای Metasploit من دیده میشود که اغلب PID در هک کردن سیستمهای هدف دارای اهمیت میشود.
همچنین با استفاده از دستور به همراه grep و نام پروسه، میتوانید پروسه موردنظر را پیدا کنید.
ps -A | grep firefox
2- دستور Top
دستور top نیز همانند دستور ps است، با این تفاوت که top تنها پروسههایی که بیشترین منابع را در آن زمان استفاده میکند نشان میدهد.
top
همانطور که میبینید، پروسهها به ترتیب مقداری که از منابع سیستم استفاده میکنند لیست میشوند و لیست بهطور مداوم در حال تغییر است زیرا مصرف پروسهها از منابع بیشتر یا کمتر میشود.
3- توقف پروسهها
در مدیریت پروسه ها در لینوکس گاهی اوقات ما باید پروسهها را متوقف کنیم. دستوری که ما استفاده میکنیم kill هست. این دستور خصوصاً زمانی مهم میشود که پروسهای همچنان به اجرا و استفاده از منابع سیستم ادامه دهد حتی بعد از تلاش برای متوقف کردنش. این پروسهها اغلب به عنوان “زامبی” شناخته میشوند.
بهسادگی میتوانیم با تایپ کردن kill به همراه PID پروسه، آن را متوقف کنیم. بنابراین برای پروسه airbase-ng میتوانم بهسادگی تایپ کنم:
kill 3368
میتوانیم در تصویر بالا ببینیم که پروسه airbase-ng دیگر اجرا نمیشود.
انواع مختلفی از “kill” وجود دارد. kill پیشفرض (دستور kill بدون هیچ سوئیچی) که اجازه میدهد پروسه بهآرامی متوقف شود.
گاهی اوقات پروسهها همچنان حتی زمانی که از دستور kill پیشفرض استفاده شود، متوقف نمیشوند. در این مورد ما باید جدیتر شویم و از توقف قطعی برای انجام کار استفاده کنیم. برای این کار از سوئیچ kill -9 استفاده میکنیم.
kill درواقع یک سیگنال را به پروسه میفرستد. kill -l تمام سیگنالهای موجود را نشان میدهد. شما خواهید دید که سیگنال 9 نیز SIGKILL نامیده میشود. بنابراین، این دو دستور معادل هم هستند:
kill -9 PID
kill -SIGKILL PID
علاوه بر kill شما همچنین میتوانید از دستورات pgrep و pkill برای به سرعت پیدا کردن pid و یا متوقف کردن یک پروسه استفاده کنید. برای مثال، فرض کنید که telegram در پسزمینه در حال اجرا است، شما میتوانید با pgrep telegram برای به دست آوردن pid آن یا pkill telegram برای توقف آن استفاده کنید.
pkill و pgrep ممکن است در سیستمهای روتر، دستگاههای IoT یا تلفنهای Android موجود نباشند.
یکی دیگر از ابزار جالب pstree است که خروجی را مثل یک درخت نشان میدهد که چه پروسهای چه چیزی را ایجاد میکند.
4- تغییر اولویت پروسه
هر پروسهای در لینوکس دارای شماره اولویت است. همانطور که احتمالاً حدس زدهاید، این شماره اولویت هست که تعیین میکند کدام پروسه بیشترین اهمیت از لحاظ استفاده از منابع سیستم را دارد. رنج شمارههای اولویت از 0 تا 127 هست که 0 بالاترین اولویت و 127 کمترین هست.
به عنوان کاربر root یا مدیر سیستم، ما نمیتوانیم اولویت یک پروسه را تعیین کنیم، این کار هسته است، اما ما میتوانیم به هسته اشارهکنیم که ما میخواهیم یک پروسه با اولویت بالاتری اجرا شود. این کار را از طریق دستور nice انجام میدهیم. مقدار nice از -20 تا +19 هست که مقادیر پایینتر نشاندهنده اولویت بالاتر هستند.
ما میتوانیم به ترتیب با استفاده از دستور nice، سوئیچ -n، مقدار nice و سپس دستوری که میخواهیم اجرا کنیم، یک مقدار nice را برای پروسهها را تعیین کنیم. بنابراین، اگر بخواهیم پروسه airbase-ng را از آموزش Evil Twin با بالاترین اولویت اجرا کنیم، میتوانیم تایپ کنیم:
nice -n -20 airbase-ng -a AC:C1:EE:4E:F4:31 --essid "Redmi" -c 11 wlan0mon
بعدها، اگر ما احساس کردیم که میخواهیم اولویت دستور airbase-ng را کم کنیم، میتوانیم آن را renice کنیم. بهسادگی با تایپ دستور renice، سطح اولویت و PID پروسه این کار انجام میشود، مانند:
renice 15 3368
ما میتوانیم ببینیم که با renice کردن airbase-ng اولویت آن را از -20 (بالاترین) به 15 (نسبتاً کم) کاهش داده میشود.
5- یک پروسه را در پسزمینه قرار دهید
احتمالاً در بعضی از آموزشهای هک متوجه شدهاید که هنگام اجرای دستورات در شل، آن پروسه کنترل شل را دربرمی گیرد تا زمانی که تکمیل شود. اگر این یک پروسه مداوم باشد، مانند airbase-ng، ترمینال را تا زمانی که ما آن را متوقف کنیم، مشغول میکند و تا آن زمان، ما نمیتوانیم از این شل استفاده کنیم.
اگر ما بخواهیم از این شل استفاده کنیم، میتوانیم این پروسه را به پسزمینه بفرستیم و سپس دوباره کنترل شل را به دست بگیریم. برای اجرای یک دستور در پسزمینه (background)، ما فقط باید دستور را با & تمام کنیم. بنابراین، برای اجرای airbase-ng در پسزمینه، ما بهسادگی تایپ میکنیم:
airbase-ng -a AC:C1:EE:4E:F4:31 --essid "Redmi" -c 11 wlan0mon &
اگر بخواهیم کاری که به پسزمینه فرستادیم را به پیشزمینه (foreground) بیاوریم، بهسادگی fg را تایپ میکنیم. برای فرستادن پروسههای پیشزمینه به پسزمینه، ما میتوانیم Control+Z را بزنیم تا آن را متوقف کنیم و سپس با استفاده از دستور bg با PID آن را به پسزمینه بفرستیم.
امیدوارم این آموزش به شما در مدیریت پروسه ها در لینوکس کمک کند. مطمئن شوید که قسمتهای قبلی سری آموزش لینوکس برای هکرهای اخلاقی را نگاه کردید و اگر سؤالی دارید، در نظرات زیر بپرسید.
دانلود PDF مقالهAlso in آموزش رایگان لینوکس
ترتیبی که برای خواندن مقالات" آموزش رایگان لینوکس "به شما پیشنهاد میکنیم:
- نصب کالی لینوکس در VMware
- نصب کالی لینوکس در کنار ویندوز 10
- فعال کردن حساب کاربر root در کالی لینوکس 2020
- ساختار دایرکتوری ها در لینوکس
- ساخت فایل و دایرکتوری در لینوکس
- مدیریت دایرکتوری و فایل ها در لینوکس
- پیدا کردن فایل ها در لینوکس
- نصب برنامه در لینوکس
- دستورات شبکه در لینوکس
- سطح دسترسی در لینوکس
- مدیریت پروسه ها در لینوکس
- مدیریت متغیرهای محیطی در لینوکس
- مشاهده فایل در لینوکس
- راه اندازی وب سرور Apache در لینوکس
- ماژولهای قابل لود کرنل لینوکس
دیدگاهها (0)