آموزش کار با دستور netstat

دستور اجرایی این ابزار همان Netstat است که پس از وارد کردن آن در محیط Cmd اطلاعاتی از قبیل ، آدرس IP به همراه پورتهای ارتباطی بین سیستم شما و سیستم دیگر ، وضعیت پورتها و … را به نمایش میگذارد.
حال دستور را ما وارد کرده و اطلاعاتی از قبیل زیر به نمایش در آمده که توضیح آن به شرح زیر میباشد.
پس از وارد کردن دستور به صورت پیشفرض شما چهار ستون اصلی را خواهید دید که به شرح زیر می باشند.
Proto : پروتکل ارتباطی بین سیستم شما و سیستم مقصد را نمایش میدهد.
Local Address : آدرس IP فعلی شما که درگیر ارتباط با سیستم دیگر میباشد در این ستون نمایش داده میشود.
Foreign Address : آدرس و پورت ارتباطی سیستم مقصد با شما در این ستون نمایش داده خواهد شد.
State : وضعیت ارتباط در این بخش به نمایش درخواهد آمد که نشانگر عملیات فعلی آن پورت میباشد.
وضعیت و یا همان State حالتهای مختلفی دارد که در ادامه به شرح آن میپردازیم.
نکته : ارتباط در شبکه همیشه به صورت سرویس گیرنده و سرویس دهنده برقرار میشود و در توضیحات پایین ما این کلمات را به عنوان سرور و کلاینت معرفی کردهایم ؛ اما صرفاً توضیحات ما مربوط به یک سرور فیزیکی نیست و به معنای سرویس دهنده میباشد.
انواع وضعیت ( State ) در دستور Netstat
CLOSED : هنگامی که سرور یک سیگنال ACK از کلاینت دریافت کرده و اتصال به صورت کامل بسته میشود ، این وضعیت به نمایش در خواهد آمد.
CLOSED_WAIT : هنگامی که از سمت کلاینت مبنی بر پایان دادن به ارتباط یک سیگنال FIN ارسال میشود وضعیت به حالت CLOSED_WAIT در خواهد آمد.
ESTABLISHED : هنگامی که سیگنال SYN از سمت کلاینت به سرور ارسال شده و ارتباط به صورت کامل برقرار میشود وضعیت ESTABLISHED خواهد شد.
FIN_WAIT_1 : در این وضعیت ارتباط برقرار است و سیگنالی مبنی بر بسته شدن ارتباط دریافت نشده است.
FIN_WAIT_2 : پس از مدتی که ارتباط در سرور از سمت کلاینت در انتظار بسته شدن میباشد و همچنان سیگنال FIN دریافت نشده است این وضعیت نمایش داده میشود.
LAST_ACK : هنگامی که سرور در حال ارسال سیگنال FIN خود به سمت کلاینت میباشد این وضعیت نماینگر خواهد شد
LISTENING : در این وضعیت ، سرور آماده دریافت و برقراری ارتباط با کلاینت است.
SYN_RECEIVED : در این حالت سرور تنها سیگنال SYN را از طرف کلاینت دریافت کرده است.
SYN_SEND : در این وضعیت کلاینت درخواست برای باز کردن و فعال شدن ارتباط داده است.
TIME_WAIT : این وضعیت در هنگامی نمایش داده میشود که ارتباط بین کلاینت و سرور شناخته شده ولی ارتباط به صورت کامل برقرار نشده است.
وضعیتهایی که در بالا خدمت شما توضیح دادیم ، کلیه وضعیتهایی بود که ممکن است شما در هنگام وارد کردن دستور Netstat ببینید. اما شما بیشتر با سه الی چهار وضعیت برخورد خواهید کرد و مابقی حالات به سرعت رد شده و مربوط به سرور نیز میباشد.
مثالی برای درک بهتر کاربرد دستور Netstat
به طور مثال پس از وارد کردن این دستور در صورتی که دیدید از یک IP خاص در بخش Foreign بر روی یک پورت بی ربط ارتباطی برقرار است ، شما متوجه خواهید شد که اطلاعاتی از سیستم شما در حال جابهجا شدن میباشد که ممکن است با کمی تحقیق متوجه تروجان و یا بدافزار شوید.
به عنوان مثال تروجانی با نام sub7 از پورت 27374 استفاده میکند و اگر در بخش Foreign Address یک آدرس بیگانه و ناشناس با پورت ذکر شده به شما متصل شده و وضعیت در حال listening است بدانید این تروجان در حال فعالیت بر روی سیستم شما میباشد.
حال پس از توضیحاتی که خدمت شما ارائه دادیم در ادامه به آموزش پارامترهای کاربردی این دستور پرداخته تا آموزش دستور netstat را به صورت کامل فراگیرید.
پارامترهای دستور Netstat
a- : تمامی ارتباطهای شبکه سیستم خود را به صورت کامل دریافت خواهید کرد.
b- : نمایش نام برنامههایی که به صورت باینری در حال ارتباط هستند ؛ تمامی برنامههای ویندوز در هنگام اتصال به اینترنت در این بخش نمایش داده خواهد شد.
e- : نمایش وضعیت اینترفیس شبکه و میزان پکتهایی که ارسال و دریافت شدند.
f- : نام کامل دامنه ( FQDN ) آدرسهای خارجی که به سیستم شما متصل هستند.
n- : لیستی از تمام ارتباطات فعال TCP که در حال حاضر برقرار میباشد.
o- : نمایش تمام ارتباطات فعال TCP به همراه شماره پردازش ( PID ) ، که توسط آن میتوانید پردازش را توسط Task Manager ببندید.
p- : با استفاده از این دستور میتوانید ارتباطات یک پروتکل خاص را بررسی کنید ؛ این دستور پروتکلهای TCP ، UDP ، TCPv6 ، UDPv6 ، ICMP و ICMPv6 را پشتیبانی میکند. این پارامتر میتوانید همراه پارامتر s- استفاده شود تا خروجی بهتری بگیرید.
r- : این دستور جدول Route ویندوز شما را نمایش میدهد. ( این دستور همانند route print عمل میکند )
s- : پارامتر s یک آمار کلی از پروتکلها به همراه وضعیت ارتباط و دادههای رد و بدل شده نمایش میدهد. این دستور همراه با پارمتر p میتواند فیلتر خوبی برای نمایش وضعیت یک پروتکل و ارتباط خاص باشد.
t- : توسط این پارامتر شما تمامی اتصالهای فعال با پروتکل TCP که به بیرون از سیستم شما زده شده را ببینید.
v- : فعالیت هرگونه ارتباط را به شما نمایش میدهد.
?- : نمایش Help دستور Netstat
Interval : این پارامتر دستوری نیست و تنها کافی است پس از وارد کردن دستور و پارامترها عددی را وارد کنید تا به ثانیه دستور تکرار شود.
پارامترهای دستور Netstat در این قسمت به پایان رسیده و حال برای استفاده از آن و نحوه کارایی آنها ، نظر شما را به مثالهای زیر جلب مینماییم.
ساختار و مثال دستور Netstat
ساختار دستور Netstat
netstat –parameter1 –parameter2 proto [interval]
ساختار دستور netstat به شکلی است که شما پس از وارد کردن دستور اصلی پارامترها را میتوانید به صورت پشت سرهم و یا جداگانه وارد کنید.
به طور مثال هر دو دستور زیر یک عمل را انجام میدهند.
netstat -an یا netstat -a -n
مثالهای کاربردی دستور Netstat
مثال 1:
netstat –an
با وارد کردن دستور بالا ، لیستی از تمامی ارتباطات TCP و UDP برای شما به نمایش در میآید.
مثال 2:
netstat -b 5 >> C:\connections.txt
با وارد کردن دستور بالا ، ارتباطات فعال مربوط به اپلیکیشنها هر 5 ثانیه در فایل connection.txt ذخیره میشود.
مثال 3:
Netstat –aop tcp
دستور بالا لیستی از ارتباط های برقرار شده با پروتکل TCP را به همراه PID هر پردازش نمایش خواهد داد.
مثال 4:
netstat -an 10 | findstr :80
دستور بالا یک دستور ترکیبی است که با وارد شدن آن هر 10 ثانیه ، لیستی از ارتباطهای که با پروتکل 80 برقرار شده را نمایش میدهد.