دستور Ping یکی از پرکاربردترین دستورات شبکهای محسوب میشه ولی متاسفانه نمیشه با این دستور فهمید که یه پورت خاص مثل 53 یا 443 بازه یا نه. تو این نوشته دو تا روش برای اینکه بتونیم از روی یه پورت خاص Ping بگیریم یا به عبارت دیگه از باز بودن یه پورت مطمئن بشیم رو توضیح میدم.
روش اول: استفاده از PowerShell
تو پاورشل یه دستور داریم که به کمک اون میتونیم متوجه بشیم که پورت مورد نظر روی سیستم مقصد بازه یا نه. نحو دستور به این صورته:
PS C:\Windows\system32> Test-NetConnection [Destination-IP] -Port [Destionation-Port]

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

اگه دقت کنید تفاوتهای زیادی هست بین دو خروجی که تابلو ترینش همون Warningـه که میگه نتونسته به پورت مورد نظر وصل بشه. تفاوت بعدی اینکه تو خروجی دوم نتیجه Ping رو میگه، که تو این مثال Trueـه یعنی تونسته Ping مقصد رو بگیره ولی پورته بسته بوده که تو قسمت TcpTestSucceeded گفته False.
روش دوم: استفاده از نرمافزار Tcping
نرمافزار Tcping یه نرمافزار اُپنسورس (=متنباز) و CLIـه که نسخههای زیادی ازش وجود داره که توسعه دهندههای متفاوتی توسعش دادن. من نسخه توسعه داده شده توسط Eli Fulkerson رو استفاده میکنم که میتونید از سایت خودش دانلود کنید.
کار کردن با این نرمافزار خیلی راحته و اگه از نسخههای دیگه استفاده میکنید احتمالا تو دستورات پایه مثل همین باشن ولی برای بقیه دستورات باید Help نرمافزارتون رو بخونید. نحو این دستور بصورت زیره:
PS C:\Windows\system32> tcping.exe [Destination-IP] [Destionation-Port]

برای اینکه مثل دستور ping از این نرمافزار هم استفاده کنید کافیه مسیری که نرمافزار رو ذخیره کردید به Environment Variables اضافه کنید یا نرمافزار رو ببرید بندازید تو پوشه System32 کنار همون PING که پیشنهاد نمیشه این روش.
حالا کدوم بهتره؟ خب اگه چارهای نباشه همون روش اول کار رو در میاره و نیازی هم به استفاده از نرمافزارهای سومشخص نیست. ولی از اونجایی که روش اول یه کم کندتره نسبت به روش دوم و اگه براتون مهمه که سریعتر این اتفاق انجام بشه روش دوم گزینه خیلی خوبیه.
امیدوارم که این نوشته براتون مفید باشه. موردی بود توی نظرات برام بنویسین در اولین زمان جواب میدم.

دیدگاهتان را بنویسید