شناسایی و مانیتورینگ برنامه های متصل به شبکه در لینوکس
پیگیری و شناسایی برنامه ها و پروسه هایی که به شبکه متصل می شوند، یکی از پایه ای ترین و مهم ترین اقدامات در مدیریت و امن سازی سرورها است. در این آموزش به بررسی روش ها و ابزارهای استاندارد پرداخته میشود تا به سادگی بتوان تشخیص داد کدام پروسه با چه آدرسی در ارتباط است، کدام پورت ها باز هستند و چه برنامه هایی پهنای باند مصرف می کنند.
ابزارهای پرکاربرد
1. ss
با این دستور می توان اتصالات شبکه و برنامه هایی که از آنها استفاده می کنند را مشاهده نمود:
ss -tunap
t- : نمایش TCP
u- : نمایش UDP
n- : نمایش آدرس و پورت به صورت عددی
a- : نمایش همه اتصالات
p- : نمایش نام برنامه و PID
یک نمونه خروجی می تواند به شکل زیر باشد:
ESTAB 0 0 192.0.2.10:443 203.0.113.5:52344 users:(("nginx",pid=1234,fd=12))
یعنی برنامه nginx با PID=1234 روی پورت 443 به آدرس 203.0.113.5 وصل شده است.
2- lsof
از این دستور میتوان برای مشاهده فایل ها و سوکت های باز توسط برنامه ها استفاده نمود:
lsof -i -P -n
3- nethogs
برای نمایش مصرف اینترنت توسط هر برنامه:
sudo nethogs
در خروجی مشخص می شود هر پروسه چه مقدار دانلود/آپلود دارد.
4. iftop
برای نمایش مصرف اینترنت بین سرور و آدرس های دیگر:
sudo iftop -i eth0
نکته: قبل از اجرا، اطمینان حاصل کنید که نام کارت شبکه (eth0) با کارت شبکه واقعی سیستم شما مطابقت دارد. در صورت عدم مطابقت، نام کارت شبکه صحیح را با دستور ip link show یا ifconfig پیدا کرده و جایگزین نمایید.
5. tcpdump
اگر نیاز به بررسی دقیق بسته ها باشد، می توان از tcpdump استفاده کرد.
مثلاً برای دیدن ترافیک DNS:
sudo tcpdump -i eth0 port 53
پس از آپشن i- می بایست مطابق با توضیحاتی که بالاتر ارائه شد، نام کارت شبکه خود را وارد نمایید.
جهت ذخیره ترافیک در فایل برای بررسی در Wireshark:
sudo tcpdump -i eth0 -w /tmp/capture.pcap
توجه داشته باشید که برخی از دستورات فوق ممکن است به طور پیش فرض در توزیع لینوکس شما موجود نباشند و برای استفاده از آن ها لازم است ابتدا نصب شوند.
جمع بندی
با ss و lsof می توان متوجه شد چه برنامه هایی به اینترنت متصل هستند.
با nethogs و iftop می توان مصرف پهنای باند را مشاهده کرد.
با tcpdump می توان جزئیات بسته ها را بررسی نمود.
در صورت مشاهده رفتار مشکوک، ابتدا بررسی لازم را انجام داده و سپس با استفاده از فایروال یا متوقف کردن سرویس مربوطه، اقدامات لازم برای جلوگیری از دسترسی غیرمجاز را انجام دهید.