۱۳۸۹/۰۱/۱۵

آشنایی با دستور 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


موفق باشید

۱۴ نظر:

  1. پست بسیار مفیدی نوشتی. ممنون!
    به نظر من اگر کامندهایی که توی لینوکس استفاده می‌شه، چه ساده‌ها و چه پیچیده‌هاش، اگر توی وبلاگ‌ها به فارسی توضیح داده بشه و بعدا اون‌ها رو سرجمع کنیم و چیزی مثل یک دفترچه راهنمای فارسی درست بکنیم، خیلی خوب می‌شه!
    امیدوارم موفق باشید.

    پاسخحذف
  2. درود٬ دستور netstat را من در ویکی‌پدیا فارسی چند وقت پیش به صورت خیلی ناقصی شروع کردم. از شما خواهش می کنم که مطلب من را در آنجا کامل کنید. خیلی ممنون.

    پاسخحذف
  3. [...] This post was mentioned on Twitter by hot_blog. hot_blog said: مداد آی تی: آشنایی با دستور netstat: سلام netstat خلاصه network statistics، ابزاری خط فرمانی می باشد که به منظور... http://bit.ly/9jmlIf [...]

    پاسخحذف
  4. سلام

    خیلی خوبه اگه کسی پیدا بشه و مطالب پراکنده لینوکس به فارسی رو به صورت کتاب در بیاره.
    زحمتش زیاده ولی مونگاریش بیشتر. شاید اگه فرصت کنم خودم دست به کار بشم.

    پاسخحذف
  5. نکته اینکه man page یک دستور رو برداریم از روش پست وبلاگ درست کنیم چیه؟!!

    پاسخحذف
  6. سلام no-name!
    معرفی هر دستور حتی با یک پاراگراف می تونه یک مطلب برای بلاگ باشه. بعضی از دستورات و مطالب لازمه که خیلی توضیح داده بشن ولی بعضی هاش رو کافیه فقط معرفی کنیم.
    در ضمن به نظر میاد شما فقط همین یک مطلب این وبلاگ رو دیدن، چون اگه مطالب قبلی رو دیده بودین خیلی زود قضاوت نمی کردید.
    موفق باشید

    پاسخحذف
  7. نه! قضاوتی در کار نبود و من مثلا
    "اتصال به اینترنت از خط فرمان لینوکس"
    رو دیده بودم که خیلی مطلب خوبی بود.

    پاسخحذف
  8. سلام. موضوع خوبیه ولی با وجود x-netstat فکر کنم بهتر باشه اونو یاد بگیریم، اونو می‌تونید آموزش بدید؟ من اومدم باهاش کار کنم یه ایرورهای مسخره‌ای داد

    پاسخحذف
  9. آقا بسیار ممنون من دارم اوبونتو درس می دم هر ترم به یه سوالی بر می خورم وبلاگ شما تا حالا چندین بار به دردم خورده بسیار ممنونم آقا این دستور نت استاته خروجیش تموم نمی شه چه کنم؟
    بعدش یه سوال دیگه تو ویرژوال ماشین نمیشه محیط ایکس رو ریست کرد درسته؟
    آخه کلیدا تداخل دارن
    من نمی دونم چرا یکی از اوبونتوهام قات می زنه و مجبورم ریست کنم در حالیکه تو کلاس میگم اوبونتو هنگ نمی کنه!!!!!!!!!!!!!

    پاسخحذف
  10. سلام،

    خوشحالم که مطالب وبلاگم براتون مفید بوده.
    برای قطع کردن دستور در لینوکس می تونید از ترکیب Ctrl+C یا حرف q استفاده کنین. این بستگی به نرم افزار جاری که در اون هستین داره. برای نت استت از ترکیب Ctrl+C استفاده کنین.
    برای ریستارت کردن ایکس هم می تونین از دستور زیر استفاده کنین:
    sudo restart lightdm
    یا
    sudo restart gdm
    یا
    sudo restart kdm

    بستگی داره که از چه محیطی در اوبونتو استفاده می کنین.

    پاسخحذف
  11. سلام ممنونم که پاسخ دادید. من روی ویرژوال ماشین اوبونتو دارم با محیط گرافیکی گنوم.می دونم مشکل اصلی ویرژوال هست اما وقتی هنگ می کنه هیچ دستوری و هیچ حرکتی نمی شه انجام داد. متاسفانه واسه امتحان زبانش رو به فارسی تغییر دادم حالا واسه برگردوندنش مدام هنگ می کنه.

    پاسخحذف
  12. سلام خسته نباشید
    باز هم وبلاگ شما به من خیلی کمک کرد ممنون
    با آرزوی موفقیت روز افزون

    پاسخحذف