نحوه استفاده از فرمان Netstat

مثالها، سوئیچها و موارد دیگر

دستور netstat یک فرمان Command Prompt است که برای نمایش اطلاعات بسیار دقیق درباره نحوه ارتباط کامپیوتر شما با سایر کامپیوترها یا دستگاه های شبکه مورد استفاده قرار می گیرد.

به طور خاص، فرمان netstat می تواند جزئیات مربوط به اتصالات شبکه منفرد، آمار کلی شبکه و کلی پروتکل و موارد دیگر را نشان دهد، که می تواند به رفع برخی از مسائل مربوط به شبکه کمک کند.

دسترسی به فرمان Netstat

فرمان netstat از اکثر نسخه های ویندوز شامل ویندوز 10 ، ویندوز 8 ، ویندوز 7 ، ویندوز ویستا ، ویندوز ایکس پی ، ویندوز سرور، و برخی از نسخه های قدیمی تر ویندوز نیز در فرمان Command Prompt در دسترس است.

توجه داشته باشید: در دسترس بودن برخی از سوئیچ های دستورالعمل netstat و سایر دستورات netstat، ممکن است از سیستم عامل به سیستم عامل متفاوت باشد.

Syntax فرمان Netstat

netstat [ -a ] [ -b ] [ -e ] [ -f ] [ -n ] [ -o ] [ -p protocol ] [ -r ] [ -s ] [ -t ] [ -x ] [ -y ] [ time_interval ] [ ]

نکته: نحوه خواندن فرمان Syntax را ببینید اگر مطمئن نیستید نحوه خواندن دستور syntax command netstat همانطور که در بالا نشان داده شده است.

دستورالعمل netstat را تنها برای نشان دادن یک لیست نسبتا ساده از تمام اتصالات TCP فعال انجام دهید که برای هر یک آدرس IP محلی (کامپیوتر شما)، آدرس IP خارجی (کامپیوتر یا دستگاه شبکه دیگر) و همراه با آنها را نشان می دهد شماره پورت، و همچنین وضعیت TCP.

-a = این سوئیچ اتصالات TCP فعال، اتصالات TCP با حالت گوش دادن و همچنین پورت های UDP که به آن گوش می دهند را نشان می دهد.

-b = این سوئیچ netstat بسیار شبیه به سو -o است که در زیر آمده است، اما به جای نشان دادن PID، نام فایل واقعی پروسه را نمایش می دهد. با استفاده از -b over -o ممکن است به نظر برسد که شما یک یا دو مرحله را صرفه جویی میکنید، اما با استفاده از آن، گاهی اوقات می توانید زمان لازم را برای netstat به طور کامل اجرا کنید.

-e = از این کلید با استفاده از دستور netstat برای نشان دادن آمار مربوط به اتصال شبکه خود استفاده کنید. این داده ها عبارتند از بایت ها، بسته های Unicast، بسته های غیر یکپارچه، اخراج ها، خطاها و پروتکل های ناشناخته دریافت شده و فرستاده شده از زمان اتصال ایجاد شده است.

-f = سوئیچ -f دستورات netstat را مجبور به نمایش نام دامنه کاملا واجد شرایط (FQDN) برای هر آدرس آی پی خارجی در صورت امکان.

-n = استفاده از کلید -n برای جلوگیری از netstat از تلاش برای تعیین نام های میزبان برای آدرس های IP خارجی. بسته به اتصالات شبکه فعلی شما، استفاده از این سوئیچ می تواند به طور قابل توجهی زمان لازم را برای netstat به طور کامل اجرا کند.

-o = یک گزینه دستی برای بسیاری از وظایف عیب یابی، سوئیچ -o نمایش شناسه فرآیند (PID) مرتبط با هر نمایش داده شده را نشان می دهد. برای اطلاعات بیشتر در مورد استفاده از netstat -o به مثال زیر مراجعه کنید.

-p = استفاده از پ-پ برای نشان دادن اتصالات یا آمار فقط برای یک پروتکل خاص. شما نمیتوانید بیش از یک پروتکل را در یک زمان تعریف کنید و همچنین میتوانید netstat را با -p بدون تعریف یک پروتکل اجرا کنید .

protocol = هنگام مشخص کردن یک پروتکل با گزینه -p ، می توانید از tcp ، udp ، tcpv6 یا udpv6 استفاده کنید . اگر شما با استفاده از -s برای مشاهده آمار توسط پروتکل، با استفاده از -s می توانید از icmp ، ip ، icmpv6 یا ipv6 علاوه بر چهار مورد اول که ذکر شد استفاده کنید.

-r = اجرای netstat با -r برای نشان دادن جدول مسیریابی IP. این همان است که با استفاده از دستور route برای اجرای مسیر چاپ شده است .

-s = گزینه -s می تواند با دستور netstat مورد استفاده قرار گیرد تا آمار دقیق را با پروتکل نشان دهد. شما می توانید آمار نشان داده شده به یک پروتکل خاص را با استفاده از گزینه -s و مشخص کردن آن پروتکل را محدود کنید ، اما هنگام استفاده از سوئیچ ها، از پروتکل -s استفاده کنید.

-t = از کلید -t برای نشان دادن حالت تخلیه دودکش TCP در حال حاضر به جای حالت TCP معمول نمایش داده شده استفاده کنید.

-x = از گزینه -x برای نشان دادن تمام شنوندگان NetworkDirect، اتصالات و نقاط پایانی مشترک استفاده کنید.

-y = برای نشان دادن اتصال اتصال TCP برای کلیه اتصالات می توان از کلید ¨ استفاده کرد. شما نمیتوانید با گزینه دیگری netstat استفاده کنید.

time_interval = این زمان، در ثانیه است که شما می خواهم دستور netstat به طور خودکار دوباره اجرا شود، توقف تنها زمانی که شما با استفاده از Ctrl-C برای پایان دادن به حلقه.

= استفاده از سوئیچ کمک برای نشان دادن جزئیات در مورد چندین گزینه فرمان netstat.

نکته: تمام اطلاعات netstat را در خط فرمان ساده تر کنید تا بتوانید با استفاده از یک اپراتور تغییر مسیر، آنچه را که روی صفحه نمایش به یک فایل متنی می بینید، نمایش می دهد. ببینید دستورالعمل های کامل چگونه فرماندهی خروجی به فایل را تغییر دهید.

نمونه های فرمان Netstat

netstat -f

در این مثال اول، netstat را اجرا می کنم تا تمام اتصالات TCP فعال را نشان دهد. با این حال، من می خواهم به جای یک آدرس IP ساده، رایانه هایی را که در فرم FQDN [ -f ] به آن متصل شده ام، ببینم.

در اینجا یک مثال از آنچه شما ممکن است ببینید:

اتصالات فعال پروتوی آدرس محلی آدرس خارجی دولت TCP 127.0.0.1:5357 VM-Windows-7: 49229 TIME_WAIT TCP 127.0.0.1:49225 VM-Windows-7: 12080 TIME_WAIT TCP 192.168.1.14:49194 75.125.212.75:http CLOSE_WAIT TCP 192.168 .1.14: 49196 a795sm.avast.com:http CLOSE_WAIT TCP 192.168.1.14:49197 a795sm.avast.com:http CLOSE_WAIT TCP 192.168.1.14:49230 TIM-PC: wsd TIME-WAIT TCP 192.168.1.14:49231 TIM-PC: icslap ESTABLISHED TCP 192.168.1.14:49232 TIM-PC: netbios-ssn TIME-WAIT TCP 192.168.1.14:49233 TIM-PC: netbios-ssn TIME_WAIT TCP [:: 1]: 2869 VM-Windows-7: 49226 TCP [= 1] : 49226 VM-Windows-7: icslap ESTABLISHED

همانطور که می بینید، در زمان اجرای Netstat، من 11 اتصال TCP فعال داشتم. پروتکل تنها (در ستون Proto ) لیست شده است TCP، که انتظار می رفت زیرا من استفاده نمی شود -a .

شما همچنین می توانید سه مجموعه آدرس های IP را در ستون آدرس محلی ببینید - آدرس IP واقعی من 192.168.1.14 و هر دو نسخه IPv4 و IPv6 آدرس حلقه من همراه با پورت هر اتصال استفاده می کند. ستون Foreign Address FQDN ( 75.125.212.75 به دلایلی حل نشده) همراه با آن پورت نیز لیست شده است.

در نهایت، ستون دولتی لیست وضعیت TCP این اتصال خاص است.

netstat-o

در این مثال، من میخواهم به طور معمول Netstat را اجرا کنم، بنابراین تنها ارتباطات TCP فعال را نشان می دهد، اما همچنین می خواهم که شناسه پردازش [ -o ] را برای هر اتصال ببینم، بنابراین می توانم تعیین کنم کدام برنامه در رایانه من هر کدام را آغاز کند.

در اینجا چیزی است که کامپیوتر من نمایش داده است:

اتصالات فعال پروتوی آدرس محلی آدرس خارجی دولت PID TCP 192.168.1.14:49194 75.125.212.75:http CLOSE_WAIT 2948 TCP 192.168.1.14:49196 a795sm: http CLOSE_WAIT 2948 TCP 192.168.1.14:49197 a795sm: http CLOSE_WAIT 2948

شما احتمالا ستون جدید PID را مشاهده کردید. در این مورد، PID ها یکسان هستند، به این معنی که همان برنامه در کامپیوتر من، این اتصالات را باز کرد.

برای تعیین اینکه کدام برنامه توسط PID 2948 در رایانه من نشان داده شده است، تمام کارهایی که باید انجام دهم، باز کردن Task Manager است ، بر روی زبانه Processes کلیک کرده و نام تصویری که در کنار PID ذکر شده است را در ستون PID جستجو کنید. . 1

با استفاده از دستور netstat با گزینه -o می توانید هنگام ردیابی برنامه ای که از سهم پهنای باند شما بیش از حد بزرگ استفاده می کند بسیار مفید باشد. همچنین می تواند محل مقصد را پیدا کند که در آن نوعی از نرم افزارهای مخرب و یا حتی یک قطعه نرم افزار غیر قانونی ممکن است اطلاعات را بدون اجازه شما ارسال کنند.

توجه: در حالی که این و مثال قبلی هر دو در یک کامپیوتر اجرا می شوند و فقط یک دقیقه از یکدیگر، می توانید ببینید که لیست اتصالات TCP فعال بطور قابل توجهی متفاوت است. این به این علت است که رایانه شما به طور مداوم به شبکه های مختلف و از طریق اینترنت متصل شده و از دستگاه های مختلف جدا شده است.

netstat -s -p tcp -f

در این مثال سوم، من می خواهم آمار دقیق پروتکل [ -s ] را ببینم اما نه همه آنها، فقط آمار TCP [ -p tcp ]. من همچنین می خواهم آدرس های خارجی نمایش داده شده در قالب FQDN [ -f ] باشد.

این همان چیزی است که دستور netstat، همانطور که در بالا نشان داده شد، بر روی کامپیوتر من تولید می شود:

TCP آمار برای IPv4 فعال باز می شود = 77 منفعل باز می شود = 21 تلاش های اتصال شکست خورده = 2 بازنشانی اتصالات = 25 اتصالات کنونی = 5 بخش دریافت شده = 7313 بخش ارسال شده = 4824 بخش بازپخش شده = 5 اتصال فعال آدرس پروتکل آدرس داخلی آدرس خارجه TCP 127.0.0.1: 2869 VM-Windows-7: 49235 TIME_WAIT TCP 127.0.0.1:2869 VM-Windows-7: 49238 TCP 127.0.0.1:49238 نصب شده VM-Windows-7: icslap ESTABLISHED TCP 192.168.1.14:49194 75.125.212.75:http CLOSE_WAIT TCP 192.168.1.14:49196 a795sm.avast.com:http CLOSE_WAIT TCP 192.168.1.14:49197 a795sm.avast.com:http CLOSE_WAIT

همانطور که می بینید، آمارهای مختلفی برای پروتکل TCP نمایش داده می شود، همانطور که همه اتصالات TCP فعال در آن زمان است.

netstat-e-t 5

در این مثال نهایی، من دستور command netstat را برای نمایش برخی از آمار اولیه رابط شبکه [ -e ] اجرا کردم و می خواستم این آمار هر بار پنج ثانیه [ -t 5 ] در پنجره فرمان به طور مرتب به روز شود.

در اینجا چیزی است که بر روی صفحه نمایش تولید شده است:

آمار رابط دریافت شده ارسال شده توسط Bytes 22132338 1846834 بسته های Unicast 19113 9869 بسته های غیر یکپارچه 0 0 اخطار ها 0 0 خطاها 0 0 پروتکل های نامعلوم 0 آمار رابط دریافت شده دریافت شده Bytes 22134630 1846834 بسته های Unicast 19128 9869 بسته های غیر یکپارچه 0 0 اخطار ها 0 0 خطاها 0 0 نامعلوم پروتکل ها 0 ^ C

قطعات گوناگون اطلاعاتی که شما می توانید در اینجا مشاهده کنید و در کد زیر نحوه بالا توضیح داده شود نمایش داده می شود.

من فقط اجازه می دهم دستور netstat به طور خودکار یک زمان اضافی را اجرا می کند، همانطور که می توانید با دو جدول در نتیجه ببینید. توجه داشته باشید ^ C در پایین، نشان می دهد که من از دستور abort Ctrl-C استفاده کردم تا توقف دوباره اجرای دستور.

دستورات مربوط به Netstat

فرمان netstat اغلب با سایر فرمانهای Command Prompt مرتبط با شبکه مثل nslookup، ping ، tracert ، ipconfig و دیگر موارد استفاده می شود.

[1] ممکن است مجبور شوید به صورت دستی ستون PID را به Task Manager اضافه کنید. با انتخاب گزینه "PID (Process Identifier)" از View -> Select Columns در Task Manager میتوانید این کار را انجام دهید. اگر PID مورد نظر شما در فهرست ذکر نشده باشد، ممکن است لازم باشد روی «نمایش فرایندهای همه کاربران» در برگه Processes کلیک کنید.