يعد التحقق مما إذا كان المنفذ مفتوحًا مهمة شائعة للمطورين ومديري الأنظمة. يساعدك ذلك في تشخيص مشكلات اتصال الشبكة والتحقق من أن خدماتك تعمل بشكل صحيح. سيوضح لك هذا الدليل كيفية استخدام أداتين بسيطتين: telnet و netcat.
1. فهم المنافذ
قبل أن نبدأ، دعنا نراجع بسرعة ما هو المنفذ. في شبكات الكمبيوتر، المنفذ هو نقطة نهاية الاتصال. عندما يرغب برنامج على جهاز كمبيوتر في إرسال أو استقبال بيانات عبر شبكة (مثل الإنترنت)، فإنه يستخدم منفذًا معينًا. يتم تحديد المنافذ بالأرقام من 1 إلى 65535. على سبيل المثال، تستخدم خوادم الويب عادةً المنفذ 80 لـ HTTP والمنفذ 443 لـ HTTPS.
2. استخدام telnet للتحقق من منفذ
أمر telnet هو أداة كلاسيكية بسيطة للتفاعل مع الخوادم البعيدة. يمكنك استخدامه لمعرفة ما إذا كان المنفذ مفتوحًا ويستمع.
للتحقق مما إذا كان المنفذ مفتوحًا على example.com، ستستخدم بنية الأمر التالية:
telnet [hostname] [port]
على سبيل المثال، للتحقق مما إذا كان خادم الويب على example.com يستجيب على منفذ HTTPS القياسي (443):
telnet example.com 443
إذا كان المنفذ مفتوحًا، سترى رسالة مثل Connected to example.com. وشاشة فارغة. هذا يعني أنه تم إنشاء اتصال بنجاح. يمكنك الضغط على Ctrl+] ثم كتابة quit للخروج. إذا كان المنفذ مغلقًا، فستحصل على خطأ "Connection refused" أو خطأ مشابه.
3. استخدام netcat (nc) لفحص أقوى
netcat (غالبًا ما يتم اختصاره إلى nc) هو أداة أقوى وأكثر تنوعًا. غالبًا ما يطلق عليه "سكين الجيش السويسري" للشبكات. العلامتان -z (zero-I/O) و -v (verbose) مثاليتان لمسح المنافذ.
بنية الأمر مشابهة لـ telnet:
nc -zv [hostname] [port]
دعنا نجرب نفس الاختبار السابق، والتحقق من المنفذ 443 على example.com:
nc -zv example.com 443
إذا نجح الاتصال، فسيمنحك netcat رسالة واضحة:
Connection to example.com port 443 [tcp/https] succeeded!
هذا الإخراج أكثر سهولة في الاستخدام من telnet. إذا فشل، فسيخبرك بذلك أيضًا.
الخطوات التالية
الآن أنت تعرف كيفية التحقق مما إذا كان المنفذ مفتوحًا! هذه مهارة أساسية لتصحيح تطبيقات الويب وجدران الحماية وأي خدمة شبكة. حاول استخدام هذه الأوامر للتحقق من منافذ تطبيقاتك الخاصة.