در مقاله قبلی از این بخش با دستورات ifconfig و route آشنا شدیم و چگونگی استخراج برخی اطلاعات ضروری از آنها را یاد گرفتیم. در ادامه مطلب با استفاده از دستور netstat اطلاعاتی در مورد اتصالات روی شبکه و Port های آنها بدست می آوریم.
دستور netstat ایزاری است برای لیست کردن همه اتصالات شبکه (Network Connections) روی یک سیستم. این دستور همه اتصالات TCP، UDP و Unix را در ترمینال لیست می کند. چه این اتصالات با یک پورت* به سیستم دیگری متصل باشند چه منتظر اتصال از یک سیستم راه دور باشند. مثلا یک مدیر شبکه با چک کردن اینکه پورت 80 باز است یا نه از وجود یک وب سرور (مانند apache) روی سیستم خود اطمینان حاصل می کند.
برای دیدن لیستی از تمام اتصالات روی سیستم کالی دستور netstat
را با گزینه -a
در ترمینال وارد می کنیم:
شکل زیر اتصالات روی سیستم من را نمایش می دهد:
*پورت یک سوکت نرم افزاری برای ارتباط سیستم های راه دور با برنامه های روی یک سیستم است. یک سوکت فیزیکی نیست یعنی وجود خارجی ندارد.
در ادامه چند مثال از موارد استفاده دستور netstat را لیست می کنیم*:
- اتصالات TCP را لیست کن.
- اتصالات UDP را لیست کن.
- غیر فعال کردن Reverse DNS Lookup برای سرعت بیشتر:
netstat بطور پیشفرض سعی می کند تا نام هاستی را که به آن متصل هستیم پیدا کند برای سرعت بیشتر می توانیم این امکان را غیر فعال کنیم.
- فقط اتصالات در حال گوش دادن (Listning Connections) را لیست کن:
- فقط اتصالات در حال گوش دادن TCP را لیست کن:
- فقط اتصالات در حال گوش دادن UDP را لیست کن:
- لیست شامل PID (نام فرایند استفاده کننده از اتصال) و UID (شماره کاربر استفاده کننده) باشد.
- نمایش آمار بسته های اطلاعات (Data Packets) ورودی و خروجی:
netstat می تواند اطلاعات آماری بسته های ورودی و خروجی از سیستم را در اختیار ما قرار دهد. در این دستور هم مانند بقیه می توانیم از گزینه های t یا u برای دیدن آمار اتصالات TCP یا UDP استفاده کنیم.
- اطلاعات مسیریابی را نمایش بده:
*همان خروجی دستور route را می دهد.
- رابط های کاربری روی سیستم را لسیت کن:
- اتصالات فعال (active connections) در حالت Established را نمایش بده:
برای دیدن همه گزینه های این دستور به صفحات man مراجعه کنید. (دستور:
man netstat
)