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، 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) روی یک سرور مجازی باز است:
# خروجی در صورت موفقیت:
Trying 93.184.216.34...
Connected to example.com.
Escape character is '^]'.
۲. عیبیابی وبسرور و ایمیل
با Telnet میتوانید مستقیماً با پروتکلهای HTTP، SMTP یا POP3 تعامل کنید:
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 (رابط گرافیکی)
این روش سادهترین راه برای کاربران عادی است:
- Control Panel را باز کنید (در منوی Start جستجو کنید)
- به Programs and Features بروید
- در سمت چپ، روی Turn Windows features on or off کلیک کنید
- در لیست ظاهر شده، Telnet Client را پیدا کرده و تیک آن را بزنید
- روی OK کلیک کنید و منتظر نصب بمانید
- نیازی به ریستارت نیست
روش ۲: فعالسازی با PowerShell (توصیه شده)
این روش سریعتر است و برای ادمینهای سیستم توصیه میشود:
# فعالسازی Telnet Client
Enable-WindowsOptionalFeature -Online -FeatureName TelnetClient
# بررسی وضعیت نصب
Get-WindowsOptionalFeature -Online -FeatureName TelnetClient
روش ۳: فعالسازی با Command Prompt (CMD)
اگر با CMD راحتتر هستید:
# نصب با dism
dism /online /Enable-Feature /FeatureName:TelnetClient
# یا با pkgmgr (قدیمیتر)
pkgmgr /iu:"TelnetClient"
تأیید نصب موفق
پس از نصب، یک پنجره CMD یا PowerShell جدید باز کنید و تایپ کنید:
# خروجی باید چیزی شبیه این باشد:
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)
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)
Trying 185.x.x.x...
Connected to www.bertina.ir.
# اتصال برقرار شد = پورت 443 باز است
# برای ادامه نیاز به SSL/TLS handshake دارید (از openssl استفاده کنید)
تست MySQL (پورت 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 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 ابزار قدرتمندی برای تست اتصال شبکه است:
nc -zv example.com 80
# اتصال تعاملی
nc example.com 80
# در ویندوز (PowerShell):
Test-NetConnection -ComputerName example.com -Port 80
۴. OpenSSL - برای تست SSL/TLS
برای تست اتصالات رمزگذاریشده (مانند HTTPS):
openssl s_client -connect www.bertina.ir:443
# نمایش اطلاعات گواهی
openssl s_client -connect www.bertina.ir:443 | openssl x509 -text
۵. curl - برای تست HTTP/HTTPS
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 ضبط کند:
# رمز عبور کاملاً قابل مشاهده است!
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 از پیش پیکربندی شده و پشتیبانی ۲۴/۷ ارائه میشوند.
منابع و مطالعه بیشتر
برای مطالعه بیشتر، منابع معتبر زیر را توصیه میکنیم:
- RFC 854 - Telnet Protocol Specification - مشخصات رسمی پروتکل
- RFC 4253 - SSH Transport Layer Protocol - مشخصات پروتکل SSH
- Microsoft Telnet Documentation - راهنمای رسمی ویندوز
- OpenSSH Manual Pages - مستندات SSH
- Mosh: Mobile Shell - جایگزین SSH برای اتصالات ناپایدار




