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

موفق باشید

  • Share/Bookmark

آموزش Crontab

linux

چگونه یک فایل Crontab بسازیم

سلام

Cron چیست؟
Cron ابزاری (سرویسی؟) است که دستورات shell را به صورت دوره ای، بر اساس زمانبندی داده شده اجرا می کند. Cron بوسیله crontab گردانیده می شود. Crontab فایل پیکربندی ای است که جزییات دستورات و جدول زمانبندی در آن نگهداری می شود.

ساختن یک فایل crontab
برای ایجاد یک فایل crontab دستور زیر را در terminal وارد کنید:

crontab -e

با وارد کردن دستور بالا، ویرایشگر ترمینال (ویرایشگر پیش فرض در اوبونتو Nano است) به همراه یک بلوک جدید از فایل crontab (و یا crontab موجود، در صورتی که از قبل آن را داشته باشید) باز می شود.
در این مرحله شما باید قبل از بستن ویرایشگر، دستوراتی را که قصد اجرای آن ها را دارید، با توجه به syntax (دستور زبان؟ نحو؟) ای که در ادامه توضیح داده شده است وارد کنید.

بعد از بستن ویرایشگر، برای مشاهده تمام crontab های فعال، دستور زیر را در ترمینال وارد نمایید:

crontab -l

دستور زبان Crontab
فایل crontab شش field (فیلد؟) معین به ترتیب دقیقه، ساعت، روز ماه (۱ تا ۳۱)، ماه، روز هفته (۰ تا ۶) و دستوری(دستوراتی) که باید اجرا شوند. در زیر فرم کلی این دستور را می بینید:

* * * * * command to be executed
- - - - -
| | | | |
| | | | +----- day of week (0 - 6) (Sunday=0)
| | | +------- month (1 - 12)
| | +--------- day of month (1 - 31)
| +----------- hour (0 - 23)
+------------- min (0 - 59)

مثال های crontab
نوشتن فایل crontab ممکن است برای اولین بار کمی گیج کننده به نظر برسد. بنابراین در زیر تعدادی مثال به همرا توضیح ارائه شده است:

* * * * * <command>
#هر دقیقه اجرا می شوند - Runs every minute

30 * * * * <command>
#هر ۳۰ دقیقه اجرا می شوند - Runs at 30 minutes past the hour

45 6 * * * <command>
#هر روز ساعت ۶:۴۵ صبح اجرا می شوند - Runs at 6:45 am every day

45 18 * * * <command>
#هر روز صبح ساعت ۶:۴۵ بعد از ظهر اجرا می شوند - Runs at 6:45 pm every day

00 1 * * 0 <command>
#هر یکشنبه یاعت ۱ صبح(بامداد؟) اجرا می شوند - Runs at 1:00 am every Sunday

00 1 * * 7 <command>
#هر یکشنبه ساعت ۱ بامداد اجرا می شوند - Runs at 1:00 am every Sunday

00 1 * * Sun <command>
#هر یکشنبه ساعت ۱ بامداد اجرا می شوند - Runs at 1:00 am every Sunday

30 8 1 * * <command>
#اولین روز هر ماه ساعت ۸:۳۰ - Runs at 8:30 am on the first day of every month

00 0-23/2 02 07 * <command>
#Runs every other hour on the 2nd of July


(more…)

  • Share/Bookmark