شما برای مطالعه این مقاله فقط 6 دقیقه وقت نیاز دارید

test-net-connectioni-in-powershell

دستور Test-NetConnection در پاورشل [تست اتصال به شبکه]

4.7/5 - (3 امتیاز)

در دنیایی که روز به روز نقش ارتباطات پررنگ تر می شود، غیرممکن است که نقش اتصالات شبکه ای را در مشاغل و کاربرد های مختلف نادیده بگیریم. پس به همین خاطر، عیب یابی مشکلات شبکه ای و بررسی وضعیت اتصال هم یکی از مهم ترین کارهایی است که باید به عنوان یک کاربر شبکه بلد باشید. چه ایده ای بهتر از اینکه این پروسه را با دستور Test-NetConnection در پاورشل شروع کنید.

Test-NetConnection ابزار قدرتمندی است که گزارشات مفیدی در مورد شبکه ارائه می دهد و با استفاده از آنها می توانید در اسرع وقت نسبت به خطایابی شبکه یا بهینه سازی عملکرد شبکه اقدام کنید.

ما در این آموزش به طور مفصل در مورد سینتکس ها و کاربردهای این ابزار فوق العاده صحبت می کنیم. فقط کافیست نحوه استفاده از این ابزار را یاد بگیرید و بعد ببینید که چقدر بررسی وضعیت شبکه برای شما راحت تر خواهد شد.

دستور Test-NetConnection چیست؟

دستور Test-NetConnection جایگزین پیشرفته تر Ping است که برای تشخیص وضعیت اتصالات شبکه استفاده می شود. حالا شاید با خودتان فکر می کنید که وقتی ping با این همه سابقه، کارایی خود را اثبات کرده است، چرا باید از دستور Test-NetConnection استفاده کنیم.

سؤالتان کاملا منطقی است. با اینکه ping یک دستور بسیار کوتاه و کاربردی است ولی این دستور اتصال شبکه را فقط از طریق ICMP تست می کند. در حالی که ما اکثر مواقع به اطلاعات بیشتری نیاز داریم و برای دستیابی به آنها مجبوریم دستور ping را با tracert و nslookup ترکیب کنیم.

اما دستور Test-NetConnection با ارائه امکانات و خروجی کامل تر از پتانسیل لازم برای جانشینی دستور ping برخوردار است. خروجی این دستور شامل نتایج جستجوی DNS و لیستی از رابط های ip، قوانین IPsec و تایید برقراری اتصال است.

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

اگر دائم از مشکلات شبکه ای رنج می برید و آرزوی اتصالات شبکه ای بدون قطعی به دلتان مانده است، یک پیشنهاد ویژه داریم. شما با خرید سرور مجازی نه تنها برای پیاده سازی پروژه ها و انجام کارهایی مثل ترید یک همراه عالی خواهید داشت بلکه در اتصال به اینترنت هم هیچ کمبودی حس نخواهید کرد و با هر بار تست اتصالات شبکه ای تابلوی مورد علاقه خود را در خروجی خواهید دید و این یعنی یک انتخاب عالی!

بهتر است بررسی دستور Test-NetConnection سینتکس و پارامترها ادامه دهیم. 

سینتکس دستور Test-NetConnection به صورت زیر است و پارامترهای آن هم متناسب با تستی که قرار است انجام دهید، تغییر می کند.

Test-NetConnection
    [[-ComputerName] <String>]
    [-TraceRoute]
    [-Hops <Int32>]
    [-InformationLevel <String>]
    [<CommonParameters>]
Test-NetConnection
    [[-ComputerName] <String>]
    [-CommonTCPPort] <String>
    [-InformationLevel <String>]
    [<CommonParameters>]
Test-NetConnection
    [[-ComputerName] <String>]
    -Port <Int32>
    [-InformationLevel <String>]
    [<CommonParameters>]
Test-NetConnection
    [[-ComputerName] <String>]
    [-DiagnoseRouting]
    [-ConstrainSourceAddress <String>]
    [-ConstrainInterface <UInt32>]
    [-InformationLevel <String>]
    [<CommonParameters>]

با اینکه موقع بررسی مثال های کاربردی از دستور Test-NetConnection به طور کامل با هر کدام از این پارامترها آشنا خواهید شد. اما بیایید چند مورد از این پارامترها را بررسی کنیم:

CommonTCPPort

این پارامتر شماره پورت tcp را مشخص می کند و SMB، HTTP، RDP و WINRM مقادیر قابل قبول برای این پورت هستند. 

ComputerName

 این پارامتر اسم dns یا آدرس ip کامپیوتر مورد نظر را مشخص می کند و از نوع string است.

ConstrainInterface

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

ConstrainSourceAddress

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

Hops

این پارامتر تعداد هاب هایی که می خواهید در دستور ردیابی مسیر نمایش داده شود را مشخص می کند.

InformationLevel

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

اگر می خواهید اطلاعات پایه ای در مورد وضعیت شبکه یا همان اتصال (True) یا عدم اتصال (False) داشته باشید و جزئیات برایتان مهم نیست، Quiet را انتخاب کنید. ولی اگر به جزئیات اهمیت می دهید و دوست دارید وضعیت شبکه را به صورت دقیق تر بررسی کنید، Detailed گزینه خوبی برای شماست.

Port

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

مثال هایی برای آشنایی با کاربردهای دستور Test-NetConnection 

با استفاده از دستور Test-NetConnection می توانید وضعیت شبکه را با سناریوهای مختلف بررسی کنید تا اینکه به اطلاعات مورد نیاز خود دست پیدا کنید.

بررسی وضعیت اتصال شبکه (بدون پارامتر)

Test-NetConnection

با بررسی خروجی این دستور می توانیم ببینیم که به شبکه محلی وصل هستیم؟ اتصال اینترنتی داریم ؟ یا ترجمه یا همان resolve کردن DNS انجام می شود یا نه؟

بررسی اتصال شبکه به یک آدرس ip خاص

درست مثل ping، دستور Test-NetConnection هم برای بررسی وضعیت اتصال به یک سیستم یا در کل آدرس ip خاص از پروتکل ICMP استفاده می کند. آپشنی که برای این کار لازم دارید، ComputerName است:

Test-Connection -ComputerName 8.8.8.8

برای تست وضعیت اتصال به چند آی پی هم می توانید دستور بالا را به صورت زیر اجرا کنید:

Test-Connection -ComputerName 8.8.8.8, 1.1.1.1

اگر سایت خاصی را مدنظر دارید و می خواهید به جای آدرس IP از آدرس سایت استفاده کنید و وضعیت اتصال به آن را بررسی کنید، کافیست دستور Test-NetConnection را به صورت زیر اجرا کنید:

Test-NetConnection -ComputerName www.google.com

در صورت تمایل برای دسترسی به جزئیات بیشتر هم می توانید از پارامتر InformationLevel کمک بگیرید:

Test-NetConnection -ComputerName www.google.com -InformationLevel Detailed

البته پارامترهای دیگری هم هستند که می توانید اعمال کنید تا روال این پروسه را خودتان مشخص کنید:

Test-Connection -ComputerName www.google.com -Count 3 -Delay 2 -MaxHops 255 -BufferSize 256

بررسی وضعیت اتصال به یک پورت خاص از سیستم ریموت

دستور پینگ نمی تواند یک پورت خاص را اسکن کند و وضعیت اتصال به آن را نشان دهد و اینجاست که Test-NetConnection یک قدم جلوتر می رود. به عنوان مثال برای بررسی پورت tcp یک هاست ریموت می توانید متناسب با نوع پورت tcp دستور زیر را اجرا کنید:

Test-NetConnection -ComputerName google.com -CommonTCPPort "Http"

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

Test-NetConnection -ComputerName google.com -Port 80

بررسی مسیر از یک PC به یک سرور

برای خطایابی مسیر موردنظر باید از پارامتر DiagnoseRouting کمک بگیرید:

Test-NetConnection -ComputerName google.com -DiagnoseRouting -InformationLevel Detailed

یا اگر می خواهید رابط شبکه را هم در این خطایابی لحاظ کنید، اول با استفاده از Get-NetIPAddress، لیست رابط ها را ببینید و بعد رابط موردنظر را انتخاب کرده و دستور Test-NetConnection را به صورت زیر اجرا کنید:

Test-NetConnection -ComputerName google.com -DiagnoseRouting -ConstrainInterface 12

اجرای Trace Route از یک نقطه پایانی به نقطه پایانی دیگر

این دستور برای کنترل و ردیابی مسیر حرکت بسته ها اجرا می شود و برای خطایابی بسیار مفید است. اگر می خواهید این کار را با Test-NetConnection انجام دهید، کافیست از آپشن TraceRoute استفاده کنید. به عنوان مثال، دستور زیر مسیر بین سیستم شما و گوگل را ردیابی می کند:

Test-NetConnection -ComputerName www.google.com -TraceRoute

اگر می خواهید تعداد هاب را هم خودتان مشخص کنید، باید پارامتر Hobs را هم به دستور بالا اضافه کنید:

Test-NetConnection -ComputerName www.google.com -TraceRoute -Hops 3

سعی کردیم چند مثال کاربردی از این دستور را ارائه دهیم ولی پارامترهای بیشتری هم وجود دارند که می توانید آن ها را به شکل دلخواه خود ترکیب کنید و اطلاعات مورد نیاز خودتان را استخراج کنید.

کلیک کنید  ساخت ایمیل در سی پنل [آموزش تصویری]

تحلیل خروجی دستور Test-NetConnection

تا زمانی که نتوانید خروجی را به شکل درست تحلیل کنید، مطمئن باشید که اجرای شکل های مختلفی از دستور Test-NetConnection کمکی به شما نخواهد کرد. پس بیایید نحوه تحلیل خروجی را هم یاد بگیریم.

اول دستور زیر اجرا کنید:

test-netconnection Google.com -InformationLevel "Detailed"

خروجی دستور بالا به صورت زیر است:

خروجی دستور Test-NetConnection

Computer-name: اسم کامپیوتر ریموت

RemoteAddress: آدرس آی پی کامپیوتر ریموت

InterfaceAlias: اسم مستعار رابط شبکه

SourceAddress: آدرس آی پی سیستم شما

PingSucceeded: وضعیت اتصال شبکه (True یا False)

PingReplyDetails: زمان محاسبه شده برای RTT

البته این برای سطح Detailed است و اگر سطح Quiet را انتخاب کنید، خروجی حالت خلاصه تری دارد.

حالا اگر از پارامتر Traceroute استفاده کنیم، یک آیتم دیگر هم به خروجی اضافه می شود که مسیر را با هاب ها نشان می دهد که تعداد این هاب ها را هم می توانید با پارامتر hobs مشخص کنید.مسیریابی با ٖtracert

همچنین وقتی برای وضعیت اتصال به پورت tcp، شماره پورت یا پارامتر CommonTCPPort را هم به دستور اضافه می کنید، یک مورد دیگر هم به خروجی اضافه می شود که وضعیت اتصال TCP را نشان می دهد و می توانید True یا False باشد.

خروجی دستور Test-NetConnection برای شما بسیار مفید و کارساز خواهد بود به شرط اینکه پارامترهای مناسبی را در دستور لحاظ کنید و تحلیل خروجی را هم به درستی انجام دهید.

حالا که با نحوه استفاده از دستور Test-NetConnection آشنا شدید، بهتر است نحوه ایجاد اسکریپت و زمان بندی تست وضعیت شبکه را هم یاد بگیرید و کاری کنید که تست شبکه به صورت خودکار انجام شود و پروسه خطایابی هم سریع تر و هم راحت تر جلو برود.

کلام آخر

دستور Test-NetConnection یکی از رقبای پروپا قرص پینگ است و به خاطر برخورداری از پارامترهای بیشتر و ارائه جزئیات بیشتر در مورد وضعیت اتصال شبکه، چند قدم جلوتر از پینگ است. اگر نحوه استفاده از این دستور را یاد بگیرید و با ایجاد اسکریپت های مفید و زمان بندی آنها، کاری کنید که کنترل و خطایابی اتصالات شبکه با یک روتین منظمی انجام شوند، مطمئن باشید که اوضاع برای شما خیلی راحت تر خواهد شد.

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

سوالات متداول:

بله دستورات و ابزارهای زیادی وجود دارد که می توانید برای بررسی اتصالات شبکه استفاده کنید و معروف ترین آنها دستور ping است. به غیر از پینگ، جایگزین های محبوب دیگری مثل Tracert ،Telnet و Nmap هم وجود دارند که هر کدام ویژگی ها و قابلیت های خاص خود را دارند. 

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

مطالب مشابهی که شاید علاقمند باشید

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

دیدگاه های شما

برای دریافت این مقاله لطفا ایمیلتان را وارد کنید

می توانید مقاله را دانلود کنید یا پرینت بگیرید