۱۳۸۹/۰۱/۱۵

آشنایی با دستور netstat

سلام :)

netstat خلاصه network statistics، ابزاری خط فرمانی می باشد که به منظور نمایش اطلاعات متنوع در زمینه شبکه مانند اتصالات، جدول routing (جداول هدایت کردن بسته‌ها ) و... را در اختیار قرار می دهد.
این ابزار برای پیدا کردن مشکلات در شبکه و برآوردگر حجم اطلاعات رد و بدل شده در شبکه به عنوان یک اندازه‌گیر عملکرد استفاده می شود.

در زیر مواردی را از استفاده از این دستور مشاهده می فرمایید:

نمایش اطلاعات پورت ها


نمایش تمامی پورت ها

# netstat -a | more


نمایش تمامی پورت های tcp

# netstat -at


نمایش پورت های udp

# netstat -au


نمایش سوکت (Socket) هایی که در وضعیت Listen هستند


لیست پورت هایی که در وضعیت listen هستند

# netstat -l


لیست پورت های tcp که در وضعیت listen هستند

# netstat -lt


لیست پورت های udp که در وضعیت listen هستند

# netstat -lu


لیست پورت های UNIX که در وضعیت listen هستند

# netstat -lx


نمایش آمار برای هر پروتکل


نمایش آمار برای تمامی پورت ها

# netstat -s


نمایش آمار برای پورت های TCP

# netstat -st


نمایش آمار برای پورت های UDP

# netstat -su


نمایش PID و نام برنامه با استفاده از پارامتر -p


پارامتر -p را می تواند با هر یک از موارد بالا ترکیب کرد. این دستور PID و نام برنامه مربوطه را در خروجی netstat چاپ می کند.
# netstat -pt


عدم نمایش نام هاست


برای نمایش آی پی هاست به جای نام آن می توانید از پارامتر -n استفاده نمایید. در صورت استفاده از این پارامتر، سرعت چاپ خروجی دستور netstat به طور محسوسی افزایش می یابد.
# netstat -ptn


نمایش ادامه دار خروجی


در صورت استفاده از پارامتر -c در کنار سایر پارامتر های netstat، بعد از اجرا و چاپ نتایج، از دستور خارج نمی شود و هر چند ثانیه یک بار دستور را دوباره اجرا کرده و خروجی را چاپ می کند. برای خروج Ctrl+c را بزنید.
# netstat -c


نمایش اطلاعات kernel routing


# netstat -r


یافتن برنامه یا پورت با ترکیب با grep


به عنوان مثال برای یافتن ssh های فعال از دستور زیر استفاده می کنیم:
# netstat -ap | grep ssh


و همچنین برای یافتن اطلاعات یک پورت از دستور زیر استفاده می نمایید:
# netstat -an | grep ':80'


نمایش interface های موجود


برای نمایش خلاصه اطلاعات interface های موجود از پارامتر -i استفاده نمایید:
# netstat -i


همچنین برای نمایش اطلاعات بیشتر به ازای هر interface از پارامتر e به همراه i استفاده کنید:
# netstat -ie


منابع
نت‌استات (ویکی پدیای فارسی)


NetStat Official website
Netstat (wikipedia)
UNIX / Linux: 10 Netstat Command Examples


موفق باشید