خانه بهینه سازی و سئو تلنت (Telnet) چیست و چگونه می‌توان آن را در ویندوز فعال کرد؟
تاریخ به‌روزرسانی : 1401/12/27
به قلم : شهاب بیرامی
زمان مطالعه : 14 دقیقه

Blog Post: تلنت (Telnet) چیست و چگونه می‌توان آن را در ویندوز فعال کرد؟
Post ID: 14242
Slug: what-is-telnet
Date Created: 2026-03-02T16:30:00+03:30
Target: 30,000+ characters
SEO/GEO Optimized
Featured Image: /backcms/wp-content/uploads/2023/03/telnet-02.webp
-->

📌 خلاصه مطلب (TL;DR)

  • Telnet چیست؟ پروتکل شبکه متنی برای دسترسی از راه دور به سرورها و دستگاه‌ها از طریق TCP Port 23 که در سال ۱۹۶۹ معرفی شد.
  • کاربرد امروزی: تست اتصال پورت، عیب‌یابی وب‌سرورها، دسترسی به دستگاه‌های IoT و تجهیزات شبکه قدیمی.
  • مشکل اصلی: Telnet رمزگذاری ندارد و تمام داده‌ها (شامل رمز عبور) به صورت Plain Text ارسال می‌شوند.
  • فعال‌سازی در Windows 10/11: Control Panel → Programs → Turn Windows features on → Telnet Client یا با PowerShell.
  • جایگزین امن: SSH (پورت 22) با رمزگذاری کامل، احراز هویت کلید عمومی و یکپارچگی داده.

پروتکل Telnet یکی از قدیمی‌ترین پروتکل‌های شبکه است که برای دسترسی از راه دور به سرورها و دستگاه‌ها استفاده می‌شود. اگرچه این پروتکل به دلیل نداشتن رمزگذاری برای اتصالات روزمره توصیه نمی‌شود، اما هنوز هم برای تست و عیب‌یابی شبکه ابزار ارزشمندی محسوب می‌شود. در این راهنمای جامع، با نحوه کار Telnet، روش فعال‌سازی آن در ویندوز ۱۰ و ۱۱، دستورات پرکاربرد و جایگزین‌های امن آشنا می‌شوید.

پروتکل تلنت (Telnet) چیست - راهنمای کامل فعال‌سازی و استفاده

💡 از تجربه ما: تیم زیرساخت برتینا روزانه از ابزارهایی مانند Telnet، SSH و Netcat برای عیب‌یابی اتصالات سرورها استفاده می‌کند. این راهنما براساس تجربه واقعی در مدیریت سرورهای مجازی و سرورهای اختصاصی تهیه شده است.

Telnet چیست و چگونه کار می‌کند؟

Telnet (Telecommunication Network) یک پروتکل اینترنتی مبتنی بر متن است که امکان ارتباط دوطرفه بین یک کلاینت و سرور را از طریق شبکه TCP/IP فراهم می‌کند. این پروتکل در RFC 854 تعریف شده و از سال ۱۹۶۹ به عنوان یکی از اولین پروتکل‌های اینترنت مورد استفاده قرار گرفته است.

مشخصات فنی پروتکل Telnet

مشخصه مقدار
پورت پیش‌فرض TCP Port 23
لایه OSI لایه Application (لایه ۷)
پروتکل حمل‌ونقل TCP
نوع ارتباط Connection-oriented
فرمت داده ASCII Text (8-bit)
رمزگذاری ❌ ندارد (Plain Text)
استاندارد RFC 854, RFC 855

معماری کلاینت-سرور Telnet

Telnet از معماری Client-Server استفاده می‌کند. هنگامی که یک کلاینت Telnet به سرور متصل می‌شود، یک ترمینال مجازی شبکه (NVT - Network Virtual Terminal) ایجاد می‌شود که امکان ارسال و دریافت دستورات متنی را فراهم می‌کند:

┌─────────────────────────────────────────────────────────┐
│ Telnet Architecture │
├─────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────┐ ┌─────────────┐ │
│ │ Client │ TCP/IP │ Server │ │
│ │ (Telnet) │◀══════════════════▶│ (Telnetd) │ │
│ │ │ Port 23 │ │ │
│ └──────┬──────┘ └──────┬──────┘ │
│ │ │ │
│ ▼ ▼ │
│ ┌─────────────┐ ┌─────────────┐ │
│ │ NVT │ ◀────────▶ │ NVT │ │
│ │ (Virtual │ │ (Virtual │ │
│ │ Terminal) │ │ Terminal) │ │
│ └─────────────┘ └─────────────┘ │
│ │ │ │
│ ▼ ▼ │
│ User Input Shell/CLI │
│ │
└─────────────────────────────────────────────────────────┘

NVT (Network Virtual Terminal) یک استاندارد برای نمایش متن است که تضمین می‌کند کاراکترها در هر دو طرف اتصال به‌درستی تفسیر شوند، صرف‌نظر از نوع سیستم‌عامل یا ترمینال.

جدول مقایسه: Telnet در مقابل SSH

امروزه SSH (Secure Shell) جایگزین اصلی Telnet برای دسترسی از راه دور امن است. در جدول زیر تفاوت‌های کلیدی این دو پروتکل را مقایسه می‌کنیم:

ویژگی Telnet SSH
پورت پیش‌فرض TCP 23 TCP 22
رمزگذاری ❌ ندارد (Plain Text) ✅ AES, ChaCha20, 3DES
احراز هویت فقط Username/Password Password + Public Key + MFA
یکپارچگی داده ❌ ندارد ✅ HMAC-SHA2, MAC
انتقال فایل ❌ ندارد ✅ SCP, SFTP
Port Forwarding ❌ ندارد ✅ Local, Remote, Dynamic
X11 Forwarding ❌ ندارد ✅ پشتیبانی
سال معرفی ۱۹۶۹ ۱۹۹۵
امنیت 🔴 بسیار ضعیف 🟢 قوی
توصیه استفاده فقط تست محلی همه کاربردها

🚨 هشدار امنیتی مهم: طبق تحقیقات Shodan، نزدیک به ۸۰۰,۰۰۰ دستگاه با پورت Telnet باز در اینترنت وجود دارد که هدف آسان حملات سایبری هستند. هرگز از Telnet برای دسترسی از راه دور روی اینترنت استفاده نکنید.

کاربردهای فعلی Telnet در سال ۲۰۲۶

با وجود قدمت و مشکلات امنیتی، Telnet هنوز برای برخی کاربردهای خاص مفید است:

۱. تست اتصال پورت (Port Testing)

یکی از رایج‌ترین کاربردهای Telnet، بررسی باز بودن پورت‌های TCP روی سرور است. برای مثال، برای تست اینکه آیا پورت ۴۴۳ (HTTPS) روی یک سرور مجازی باز است:

telnet example.com 443

# خروجی در صورت موفقیت:
Trying 93.184.216.34...
Connected to example.com.
Escape character is '^]'.

۲. عیب‌یابی وب‌سرور و ایمیل

با Telnet می‌توانید مستقیماً با پروتکل‌های HTTP، SMTP یا POP3 تعامل کنید:

# تست وب‌سرور (HTTP)
telnet www.bertina.ir 80
GET / HTTP/1.1
Host: www.bertina.ir

# تست SMTP
telnet mail.example.com 25
EHLO localhost
QUIT

۳. دسترسی به تجهیزات شبکه قدیمی

بسیاری از روترها، سوئیچ‌ها و تجهیزات شبکه قدیمی (مانند Cisco IOS نسخه‌های قدیمی) هنوز از Telnet برای مدیریت استفاده می‌کنند. البته توصیه اکید است که SSH را جایگزین کنید.

۴. دستگاه‌های IoT و Legacy Systems

برخی دستگاه‌های IoT، PLCها و سیستم‌های صنعتی قدیمی هنوز فقط از Telnet پشتیبانی می‌کنند. در این موارد، استفاده از VPN یا شبکه ایزوله ضروری است.

💡 نکته: برای مدیریت امن سرورها و دسترسی از راه دور، همیشه از SSH استفاده کنید. سرورهای مجازی برتینا و سرورهای اختصاصی با SSH از پیش پیکربندی شده ارائه می‌شوند.

روش فعال‌سازی Telnet در ویندوز ۱۰ و ۱۱

کلاینت Telnet به‌صورت پیش‌فرض در ویندوز ۱۰ و ۱۱ غیرفعال است. برای استفاده از آن، ابتدا باید این ویژگی را فعال کنید. در ادامه سه روش مختلف را توضیح می‌دهیم:

روش ۱: فعال‌سازی از طریق Control Panel (رابط گرافیکی)

این روش ساده‌ترین راه برای کاربران عادی است:

  1. Control Panel را باز کنید (در منوی Start جستجو کنید)
  2. به Programs and Features بروید
  3. در سمت چپ، روی Turn Windows features on or off کلیک کنید
  4. در لیست ظاهر شده، Telnet Client را پیدا کرده و تیک آن را بزنید
  5. روی OK کلیک کنید و منتظر نصب بمانید
  6. نیازی به ریستارت نیست

روش ۲: فعال‌سازی با PowerShell (توصیه شده)

این روش سریع‌تر است و برای ادمین‌های سیستم توصیه می‌شود:

# PowerShell را به عنوان Administrator اجرا کنید

# فعال‌سازی Telnet Client
Enable-WindowsOptionalFeature -Online -FeatureName TelnetClient

# بررسی وضعیت نصب
Get-WindowsOptionalFeature -Online -FeatureName TelnetClient

روش ۳: فعال‌سازی با Command Prompt (CMD)

اگر با CMD راحت‌تر هستید:

# CMD را به عنوان Administrator اجرا کنید

# نصب با dism
dism /online /Enable-Feature /FeatureName:TelnetClient

# یا با pkgmgr (قدیمی‌تر)
pkgmgr /iu:"TelnetClient"

تأیید نصب موفق

پس از نصب، یک پنجره CMD یا PowerShell جدید باز کنید و تایپ کنید:

telnet

# خروجی باید چیزی شبیه این باشد:
Microsoft Telnet> _

اگر پیام 'telnet' is not recognized دریافت کردید، نصب موفق نبوده یا نیاز به باز کردن پنجره جدید دارید.

دستورات پرکاربرد Telnet

پس از ورود به حالت تعاملی Telnet (Microsoft Telnet>)، دستورات زیر قابل استفاده هستند:

دستورات اصلی Telnet

دستور توضیح مثال
open اتصال به سرور open example.com 23
close بستن اتصال فعلی close
quit خروج کامل از Telnet quit یا q
status نمایش وضعیت اتصال status
display نمایش تنظیمات فعلی display
set تنظیم پارامترها set localecho
unset غیرفعال کردن پارامتر unset localecho
send ارسال کاراکتر خاص send brk
? یا help راهنمای دستورات ?

مثال‌های عملی استفاده از Telnet

تست اتصال به وب‌سرور (پورت 80)

C:\> telnet www.bertina.ir 80
Trying 185.x.x.x...
Connected to www.bertina.ir.
Escape character is '^]'.

GET / HTTP/1.1
Host: www.bertina.ir

HTTP/1.1 200 OK
Server: nginx
...

تست اتصال HTTPS (پورت 443)

C:\> telnet www.bertina.ir 443
Trying 185.x.x.x...
Connected to www.bertina.ir.
# اتصال برقرار شد = پورت 443 باز است
# برای ادامه نیاز به SSL/TLS handshake دارید (از openssl استفاده کنید)

تست MySQL (پورت 3306)

C:\> telnet db.example.com 3306

# اگر متصل شد:
Connected to db.example.com.
J
8.0.26���MySQL Server

# اگر متصل نشد:
Could not open connection to the host, on port 3306: Connect failed

خروج از Telnet

برای خروج از یک نشست Telnet، ابتدا کلید Ctrl+] را فشار دهید تا به حالت فرمان بروید، سپس quit را تایپ کنید:

^]
Microsoft Telnet> quit

# یا به صورت مستقیم:
^]q

جایگزین‌های مدرن و امن Telnet

برای استفاده روزمره و اتصالات امن، ابزارهای زیر جایگزین‌های بهتری هستند:

۱. SSH (Secure Shell) - جایگزین اصلی

SSH استاندارد طلایی برای دسترسی از راه دور امن است. در ویندوز ۱۰/۱۱، OpenSSH Client به‌صورت پیش‌فرض نصب است:

# اتصال SSH
ssh user@server.example.com

# اتصال با پورت خاص
ssh -p 2222 user@server.example.com

# استفاده از کلید خصوصی
ssh -i ~/.ssh/my_key user@server.example.com

۲. Mosh (Mobile Shell)

Mosh برای اتصالات ناپایدار یا موبایل طراحی شده و از UDP استفاده می‌کند:

  • ✅ مقاوم در برابر قطع و وصل شبکه
  • ✅ کاهش تأخیر با پیش‌بینی ورودی
  • ✅ Roaming بین شبکه‌ها بدون قطع اتصال

۳. Netcat (nc) - برای تست پورت

Netcat ابزار قدرتمندی برای تست اتصال شبکه است:

# تست پورت با netcat
nc -zv example.com 80

# اتصال تعاملی
nc example.com 80

# در ویندوز (PowerShell):
Test-NetConnection -ComputerName example.com -Port 80

۴. OpenSSL - برای تست SSL/TLS

برای تست اتصالات رمزگذاری‌شده (مانند HTTPS):

# بررسی گواهی SSL
openssl s_client -connect www.bertina.ir:443

# نمایش اطلاعات گواهی
openssl s_client -connect www.bertina.ir:443 | openssl x509 -text

۵. curl - برای تست HTTP/HTTPS

# تست GET request
curl -I https://www.bertina.ir

# نمایش جزئیات اتصال
curl -v https://www.bertina.ir

# بررسی گواهی SSL
curl --insecure -vvI https://www.bertina.ir 2>&1 | grep -A6 'Server certificate'

جدول مقایسه جایگزین‌ها

ابزار کاربرد اصلی رمزگذاری پلتفرم
SSH دسترسی از راه دور امن ✅ کامل همه
Mosh اتصال موبایل/ناپایدار ✅ کامل Linux/Mac
Netcat تست پورت و شبکه ❌ ندارد همه
curl تست HTTP/API ✅ SSL/TLS همه
OpenSSL تست SSL/گواهی ✅ کامل همه
Nmap اسکن پورت پیشرفته متغیر همه

ملاحظات امنیتی: چرا Telnet خطرناک است؟

درک دقیق ریسک‌های امنیتی Telnet برای هر ادمین سیستم ضروری است:

۱. ارسال Plain Text

تمام داده‌های ارسالی از طریق Telnet، از جمله نام کاربری و رمز عبور، به صورت متن ساده (Plain Text) منتقل می‌شوند. هر کسی که به شبکه دسترسی داشته باشد می‌تواند این اطلاعات را با ابزارهایی مانند Wireshark یا tcpdump ضبط کند:

# نمونه Packet Capture از Telnet Session
# رمز عبور کاملاً قابل مشاهده است!

Frame 42: 67 bytes on wire
Data: "Password: MySecret123\r\n"

۲. آسیب‌پذیری در برابر حملات Man-in-the-Middle

بدون رمزگذاری و احراز هویت سرور، مهاجم می‌تواند:

  • خود را به جای سرور معرفی کند
  • ترافیک را شنود کند (Eavesdropping)
  • دستورات را تغییر دهد (Data Manipulation)
  • Session را ربوده (Session Hijacking)

۳. آمار حملات ۲۰۲۶

طبق داده‌های Shodan:

  • نزدیک به ۸۰۰,۰۰۰ دستگاه با پورت ۲۳ باز در اینترنت
  • بسیاری از این دستگاه‌ها با رمزهای پیش‌فرض (admin/admin) قابل دسترسی هستند
  • بات‌نت‌هایی مانند Mirai هنوز از Telnet برای آلوده کردن دستگاه‌های IoT استفاده می‌کنند

توصیه‌های امنیتی

🚨 هشدار: اگر مجبور به استفاده از Telnet هستید:

  • هرگز از Telnet روی اینترنت عمومی استفاده نکنید
  • ✅ فقط در شبکه محلی ایزوله یا از طریق VPN
  • ✅ پورت ۲۳ را روی فایروال ببندید
  • ✅ دستگاه‌های قدیمی را به SSH ارتقا دهید
  • ✅ از گواهی SSL برای رمزگذاری ارتباطات استفاده کنید

سوالات متداول درباره پروتکل Telnet

تفاوت Telnet و SSH چیست؟

تفاوت اصلی Telnet و SSH در امنیت است. Telnet تمام داده‌ها را به صورت Plain Text (بدون رمزگذاری) ارسال می‌کند، درحالی‌که SSH از رمزگذاری قوی (AES، ChaCha20) استفاده می‌کند. SSH همچنین احراز هویت با کلید عمومی، یکپارچگی داده (HMAC)، Port Forwarding و انتقال فایل امن (SCP/SFTP) را ارائه می‌دهد. در نتیجه، SSH برای تمام کاربردهای دسترسی از راه دور توصیه می‌شود و Telnet فقط برای تست محلی مناسب است.

چرا Telnet در ویندوز به صورت پیش‌فرض غیرفعال است؟

مایکروسافت به دلایل امنیتی Telnet Client را در ویندوز ۱۰ و ۱۱ به‌صورت پیش‌فرض غیرفعال کرده است. Telnet فاقد رمزگذاری است و استفاده از آن می‌تواند رمزهای عبور را در معرض خطر قرار دهد. این یک "Windows Optional Feature" است که کاربران می‌توانند در صورت نیاز از طریق Control Panel یا PowerShell آن را فعال کنند. مایکروسافت به‌جای Telnet، استفاده از OpenSSH Client داخلی ویندوز را توصیه می‌کند.

آیا می‌توان با Telnet به سرور SSH متصل شد؟

خیر، نمی‌توانید با Telnet به یک سرور SSH متصل شوید و از آن استفاده کنید. اگرچه می‌توانید با دستور telnet server.example.com 22 بررسی کنید که آیا پورت ۲۲ باز است یا خیر (و حتی نسخه SSH سرور را ببینید)، اما امکان انجام SSH Handshake و رمزگذاری با Telnet وجود ندارد. SSH از پروتکل کاملاً متفاوتی استفاده می‌کند که نیاز به کلاینت SSH مناسب دارد. برای اتصال SSH از ابزارهایی مانند OpenSSH، PuTTY یا Windows Terminal استفاده کنید.

Telnet برای چه کارهایی هنوز مفید است؟

Telnet هنوز برای چند کاربرد خاص مفید است: ۱) تست باز بودن پورت: سریع‌ترین راه برای بررسی دسترسی‌پذیری یک پورت TCP روی سرور. ۲) عیب‌یابی پروتکل‌های متنی: تعامل مستقیم با HTTP، SMTP، POP3، FTP و سایر پروتکل‌های Text-based. ۳) دسترسی به تجهیزات قدیمی: برخی روترها، سوئیچ‌ها و PLCهای صنعتی فقط از Telnet پشتیبانی می‌کنند. ۴) آموزش: فهم نحوه کار پروتکل‌های شبکه بدون پیچیدگی رمزگذاری. در همه این موارد، استفاده در شبکه محلی یا VPN توصیه می‌شود.

چگونه از Telnet برای تست SMTP استفاده کنم؟

برای تست سرور ایمیل با Telnet، ابتدا به پورت ۲۵ (یا ۵۸۷) متصل شوید: telnet mail.example.com 25. پس از اتصال، دستورات SMTP را وارد کنید: EHLO localhost (معرفی)، MAIL FROM:<sender@example.com> (فرستنده)، RCPT TO:<recipient@example.com> (گیرنده)، DATA (شروع پیام)، متن پیام، یک خط تنها با نقطه (.) برای پایان، و QUIT برای خروج. توجه کنید که اکثر سرورهای ایمیل مدرن نیاز به STARTTLS دارند که Telnet نمی‌تواند انجام دهد - در این موارد از openssl s_client استفاده کنید.

آیا Telnet Server را هم می‌توان در ویندوز فعال کرد؟

بله، در نسخه‌های Server ویندوز (Windows Server 2016/2019/2022) می‌توانید Telnet Server را نیز فعال کنید، اما به‌شدت توصیه نمی‌شود. این کار از طریق Server Manager یا PowerShell (Install-WindowsFeature Telnet-Server) انجام می‌شود. به دلیل نداشتن رمزگذاری، هرگز Telnet Server را روی سرورهای Production یا متصل به اینترنت فعال نکنید. به‌جای آن، از OpenSSH Server استفاده کنید که در ویندوز ۱۰/۱۱ و Server 2019+ به‌صورت Optional Feature موجود است و امنیت کاملی ارائه می‌دهد.

چگونه از Telnet خارج شوم؟

برای خروج از یک نشست Telnet، ابتدا کلیدهای Ctrl+] را همزمان فشار دهید تا به حالت فرمان Telnet (Command Mode) بروید. سپس quit یا q را تایپ کرده و Enter بزنید. اگر می‌خواهید فقط اتصال فعلی را ببندید ولی در Telnet بمانید، از دستور close استفاده کنید. در برخی موارد، سرور خودش اتصال را می‌بندد (مثلاً پس از دستور QUIT در SMTP). اگر Telnet پاسخ نمی‌دهد، می‌توانید پنجره Command Prompt را مستقیماً ببندید.

نتیجه‌گیری

پروتکل Telnet با وجود قدمت بیش از ۵۰ سال، هنوز هم به‌عنوان ابزار عیب‌یابی و تست شبکه کاربرد دارد. با این حال، به دلیل نداشتن رمزگذاری، هرگز نباید برای دسترسی از راه دور روی شبکه‌های عمومی یا اینترنت استفاده شود.

خلاصه توصیه‌ها:

  • برای دسترسی از راه دور: از SSH استفاده کنید
  • برای تست پورت: Telnet یا Test-NetConnection در PowerShell
  • برای تست SSL/HTTPS: از openssl s_client یا curl استفاده کنید
  • Telnet روی اینترنت: هرگز!

نیاز به سرور امن با دسترسی SSH دارید؟

سرورهای برتینا با SSH از پیش پیکربندی شده و پشتیبانی ۲۴/۷ ارائه می‌شوند.

سرور مجازی (VPS)
سرور اختصاصی
گواهی SSL

منابع و مطالعه بیشتر

برای مطالعه بیشتر، منابع معتبر زیر را توصیه می‌کنیم:

نظرات