
به اشتراک بگذارید
اگر با FileZilla به هاست وصل نمیشوید یا ایمیلهای سایت وردپرسی شما ارسال نمیشود؛ احتمالاً مشکل از بلاک بودن پورت است. این مشکل یکی از رایجترین چالشهای کاربران هاست و سرور مجازی است که هر روز صدها نفر را درگیر میکند.
پورت 21 برای انتقال فایل (FTP) و پورت 587 برای ارسال ایمیل (SMTP) استفاده میشوند. این دو پورت از مهمترین درگاههای ارتباطی در مدیریت وبسایت هستند و بلاک شدن آنها میتواند کار شما را کاملاً مختل کند.
| پورت | پروتکل | کاربرد اصلی |
|---|---|---|
| 21 | FTP | آپلود/دانلود فایل به هاست |
| 587 | SMTP + TLS | ارسال ایمیل امن |
بلاک بودن این پورتها میتواند توسط ISP، فایروال سرور یا آنتیویروس ایجاد شود. حتماً زمانی که این مقاله را باز کردهاید، با یکی از این مشکلات مواجه شدهاید: FileZilla خطای Connection Timeout میدهد، فرم تماس سایت کار نمیکند یا PHPMailer خطای SMTP Connection Failed نشان میدهد. در این مقاله از بلاگ وب داده یاد میگیرید چگونه وضعیت پورت را چک کنید و مشکل را برطرف کنید. پس تا انتها همراه ما باشید .
آنچه در این مقاله میخوانید:
پورت 21 و 587 چیست؟
پورت 21 (FTP):
پورت 21 درگاه پیشفرض پروتکل FTP (File Transfer Protocol) است. وقتی با نرمافزارهایی مثل FileZilla یا WinSCP به هاست متصل میشوید، از این پورت استفاده میکنید. FTP یکی از قدیمیترین پروتکلهای انتقال فایل است که از سال 1971 وجود داشته و هنوز هم پرکاربرد است.
کامپیوتر شما ──[پورت 21]──▶ سرور هاست
│ │
FileZilla فایلهای سایت
🔸 کاربردهای پورت 21:
- آپلود فایلهای سایت به هاست (قالب، افزونه، تصاویر)
- دانلود بکآپ از سرور برای نگهداری محلی
- ویرایش مستقیم فایلهای PHP و CSS روی هاست
- انتقال حجم بالای اطلاعات بین سرور و کامپیوتر
پورت 587 (SMTP) :
پورت 587 برای ارسال ایمیل با پروتکل SMTP و رمزگذاری TLS طراحی شده است. این پورت جایگزین امنتر پورت 25 است که اکثر ISPها آن را بلاک کردهاند. از سال 1998 که معرفی شد، به استاندارد اصلی ارسال ایمیل تبدیل شده است.
سایت شما ──[پورت 587 + TLS]──▶ میل سرور ──▶ گیرنده
│ │
PHPMailer Gmail/Yahoo
🔸 کاربردهای پورت 587:
- ارسال ایمیل از سایت وردپرس (فرم تماس، WooCommerce، ثبتنام)
- تنظیم نرمافزارهای ایمیل مثل Outlook یا Thunderbird
- ارسال ایمیل با PHPMailer، SwiftMailer در PHP
- ارسال اعلانها و گزارشهای خودکار از سرور
علائم بلاک بودن پورت سرور
قبل از بررسی باز بودن پورت، این علائم را چک کنید:
| علامت | پورت احتمالی | سرویس مرتبط |
|---|---|---|
| خطای Connection Timeout در FileZilla | 21 | FTP |
| خطای Could not connect to server | 21 | FTP |
| فرم تماس سایت کار نمیکند | 587 | SMTP |
| خطای SMTP Connection Failed | 587 | SMTP |
| ایمیلها در صف میمانند | 587/25 | SMTP |
روشهای چک کردن پورت سرور
برای چک کردن پورت روشهای متعددی وجود دارد که در ادامه 4 روش را بررسی می کنیم.
1- بررسی پورت سرور با ابزارهای آنلاین (سادهترین روش)
برای کاربران مبتدی، استفاده از سایتهای آنلاین سادهترین راه برای اسکن پورت است. این روش نیاز به دانش فنی ندارد و در کمتر از 30 ثانیه جواب میگیرید.
| سایت | لینک | ویژگی |
|---|---|---|
| YouGetSignal | yougetsignal.com/tools/open-ports | سریع و ساده، بدون نیاز به ثبتنام |
| CanYouSeeMe | canyouseeme.org | چک پورت روی IP شما، مناسب تست فایروال |
| PortChecker | portchecker.co | پشتیبانی از چند پورت همزمان |
| MXToolbox | mxtoolbox.com | تخصصی برای پورتهای ایمیل |
نحوه استفاده از YouGetSignal (محبوبترین ابزار):
🔸 مرحله 1: وارد سایت yougetsignal.com/tools/open-ports شوید.
🔸 مرحله 2: در فیلد Remote Address آدرس IP یا دامنه سرور را وارد کنید (مثلاً: server.webdade.com یا 185.x.x.x)
🔸 مرحله 3: در فیلد Port Number شماره پورت مورد نظر را بنویسید:
- برای FTP: عدد 21
- برای SMTP: عدد 587
🔸 مرحله 4: روی دکمه Check کلیک کنید و چند ثانیه صبر کنید.
🔸 نتیجه پس از تست پورت:
- 🟢 Port is open: پورت باز است و میتوانید از سرویس استفاده کنید.
- 🔴 Port is closed: پورت بسته یا بلاک شده و باید علت را پیدا کنید.
2- دستور Telnet در ویندوز برای اسکن پورت
Telnet ابزار قدیمی اما مطمئن برای بررسی پورت سرور است. این روش مستقیمتر از ابزارهای آنلاین است و نتیجه دقیقتری میدهد.
فعالسازی Telnet در ویندوز (فقط یک بار نیاز است):
- کلید Windows را بزنید و Turn Windows features را سرچ کنید.
- روی Turn Windows features on or off کلیک کنید.
- در لیست، تیک Telnet Client را بزنید.
- OK بزنید و صبر کنید تا نصب شود. در ادامه درخواست Restart می کند.

دستور چک کردن پورت در CMD ویندوز:
🔸 مرحله 1: کلیدهای ترکیبی Windows + R را بزنید.
🔸 مرحله 2: تایپ کنید cmd و Enter کنید (پنجره مشکی Command Prompt باز میشود)
🔸 مرحله 3: دستور زیر را تایپ کنید و Enter بزنید:
telnet domain.com 21
telnet domain.com 587 در دستور بالا به جای domain.com آدرس سرور یا IP را وارد کنید (مثلاً: telnet 185.10.20.30 21)

🔸 تفسیر نتیجه:
- ✅صفحه سیاه خالی یا پیام 220 FTP Ready: پورت 21 باز است.
- ✅پیام 220 ESMTP: پورت 587 باز است .
- ❌پیام Connection failed یا Could not open connection: پورت بسته است.
- ❌پیام Connection timed out: پورت بلاک شده یا سرویس پاسخ نمیدهد.
3- بررسی باز بودن پورت با دستور NC و SS در لینوکس/مک
Netcat (nc) ابزار قدرتمند برای تست پورت در لینوکس و macOS است. اگر سرور مجازی لینوکس دارید یا از مک استفاده میکنید، این روش سریعترین راه است. برای اینکه به محیط ترمینال لینوکس دسترسی پیدا کنید می توانید کلیدهای ترکیبی Ctrl+Alt+T استفاده کنید.
نصب Netcat (اگر نصب نیست):
# Ubuntu/Debian
sudo apt install netcat
# CentOS/AlmaLinux
sudo yum install nc دستور بررسی وضعیت بلاک پورت 21 و 587:
nc -zv domain.com 21
nc -zv domain.com 587 توضیح پارامترها:
z-: فقط چک کن، داده ارسال نکنv-: نمایش جزئیات (verbose)
🔸 خروجی موفق:
Connection to domain.com 21 port [tcp/ftp] succeeded!
یعنی پورت 21 FTP باز است و آماده اتصال است.
🔸 خروجی ناموفق:
nc: connect to domain.com port 21 (tcp) failed: Connection refused
یعنی پورت بسته است یا سرویس FTP غیرفعال است.
تست چند پورت همزمان:
nc -zv domain.com 20-25
nc -zv domain.com 80,443,587 برای بررسی و تست چند پورت به صورت همزمان می توانید از دستورهای بالا استفاده کنید.
دستور SS (Socket Statistics):
دستور ss جایگزین مدرن و سریعتر netstat شده زیرا مستقیم از kernel خوانده می شود:
# چک کردن پورتهای LISTEN روی سرور
ss -tulpn | grep :21
ss -tulpn | grep :587 4- PowerShell در ویندوز
روش مدرنتر برای بررسی باز بودن یا بلاک پورت سرور در ویندوز :
Test-NetConnection -ComputerName domain.com -Port 21
Test-NetConnection -ComputerName domain.com -Port 587 🔸 نتیجه و خروجی دستور بالا:
- TcpTestSucceeded: True ⬅️ پورت باز
- TcpTestSucceeded: False ⬅️ پورت بسته
5- چک کردن پورت در سیپنل
- وارد WHM شوید (فقط برای ادمین سرور)
- مسیر: Home > Service Configuration > Service Manager
- مطمئن شوید FTP و Exim فعال هستند.
6- بررسی پورت در دایرکتادمین
- وارد دایرکتادمین شوید
- مسیر: Admin Level > Service Monitor
- وضعیت Pure-FTPd و Exim را بررسی کنید
دلایل رایج بلاک شدن پورت های 21 و 587 سرور
در این بخش به بررسی مهمترین دلایل بلاک شدن پورت های 21 و 587 سرور می پردازیم.
دلایل بلاک پورت 21 (FTP)
| دلایل بلاک پورت 21 | توضیح | راهحل |
|---|---|---|
| ISP مسدود کرده | برخی اپراتورها پورت 21 را بلاک میکنند | استفاده از SFTP (پورت 22) |
| فایروال سرور | CSF یا iptables بسته | باز کردن در فایروال |
| آنتیویروس | Kaspersky, ESET گاهی بلاک میکنند | اضافه به لیست مجاز |
| سرویس FTP غیرفعال | Pure-FTPd یا vsftpd خاموش | فعالسازی در WHM |
دلایل بلاک پورت 587 (SMTP)
| دلایل بلاک پورت 587 | توضیح | راهحل |
|---|---|---|
| ISP برای جلوگیری از اسپم | رایج در ایران | استفاده از پورت 465 |
| IP در بلکلیست | آدرس سرور اسپم شناخته شده | چک در MXToolbox |
| تنظیمات اشتباه TLS | عدم تطابق گواهی SSL | تصحیح SMTP Host |
| فایروال روتر | روتر شرکت/خانه بلاک کرده | تماس با ادمین شبکه |
نحوه رفع مشکل بلاک پورت سرور
حالا که فهمیدید پورت بسته است، وقت رفع مشکل است. بسته به دلیل بلاک، راهحل متفاوت است.
1- باز کردن پورت در فایروال ویندوز
اگر سرور ویندوزی دارید یا میخواهید پورت را روی کامپیوتر خود باز کنید مراحل زیر را به صورت گام به گام انجام دهید:
🔸 مرحله 1: کلید Windows را بزنید و Windows Defender Firewall with Advanced Security را سرچ کنید.
🔸 مرحله 2: در پنل سمت چپ روی Inbound Rules کلیک کنید
🔸 مرحله 3: در پنل سمت راست روی New Rule کلیک کنید.
🔸 مرحله 4: گزینه Port را انتخاب کنید و Next بزنید
🔸 مرحله 5: TCP را انتخاب کنید و در فیلد Specific local ports شماره پورت را وارد کنید:
- برای FTP:
21 - برای SMTP:
587 - برای چند پورت: 21, 587
🔸 مرحله 6: گزینه Allow the connection را انتخاب کنید
🔸 مرحله 7: هر سه گزینه (Domain, Private, Public) را تیک بزنید
🔸 مرحله 8: یک نام مناسب بگذارید (مثلاً: FTP Port 21) و Finish بزنید
⚠️ هشدار: برای پورتهای خروجی (Outbound) هم همین مراحل را تکرار کنید.
2- باز کردن پورت در فایروال لینوکس (CSF)
برای این کار از دستور زیر در ترمینال لینوکس استفاده کنید.
nano /etc/csf/csf.conf پورتها را به TCP_IN اضافه کنید:
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995" سپس CSF را ریستارت:
csf -r 3- استفاده از پورت جایگزین
اگر ISP پورت را بلاک کرده، از جایگزین استفاده کنید:
| سرویس | پورت اصلی | جایگزین امن | پروتکل |
|---|---|---|---|
| FTP | 21 | SFTP روی پورت 22 | SSH |
| SMTP | 587 | 465 (SSL) | SMTPS |
| SMTP | 25 | 587 (TLS) | Submission |
نکات امنیتی مهم بررسی باز بودن پورت
⚠️ هشدارها:
- پورت 21 (FTP) اطلاعات را بدون رمزگذاری منتقل میکند
- همیشه SFTP یا FTPS را ترجیح دهید
- پورتهای غیرضروری را در فایروال ببندید
- از رمز عبور قوی برای اکانت FTP استفاده کنید
✅ چکلیست امنیتی:
- [ ] استفاده از SFTP به جای FTP
- [ ] فعالسازی TLS برای SMTP
- [ ] محدود کردن IP در دسترسی FTP
- [ ] تغییر پورت پیشفرض در صورت امکان
سرورهای مجازی وبداده
روی دکمه زیر کلیک کنید
جمعبندی ؛ بررسی باز بودن پورت
در این مقاله از بلاگ وبداده، به صورت کامل یاد گرفتید که چگونه چک کردن پورت 21 و 587 را انجام دهید و مشکلات رایج را برطرف کنید.
خلاصه نکات کلیدی:
✅ برای چک کردن پورت از ابزارهای آنلاین مثل YouGetSignal استفاده کنید (ساده و سریع)
✅ برای تست حرفهای از دستورات Telnet (ویندوز) یا Netcat (لینوکس) استفاده کنید
✅ اگر پورت بسته است، ابتدا دلیل را شناسایی کنید: ISP، فایروال یا سرویس غیرفعال
✅ در صورت بلاک توسط ISP، از پورتهای جایگزین استفاده کنید (SFTP به جای FTP، پورت 465 به جای 587)
✅ همیشه امنیت را در اولویت قرار دهید: SFTP امنتر از FTP است.
به یاد داشته باشید که مشکل بلاک پورت همیشه از سرور نیست؛ گاهی ISP یا فایروال شبکه محلی مقصر است. با تست از اینترنتهای مختلف میتوانید محل مشکل را پیدا کنید.
امیدواریم این مقاله از بلاگ وب داده برای شما مفید بوده باشد. در صورتی که سوالی داشتید یا با مشکل خاصی مواجه شدید، در بخش ثبت نظرات با ما در ارتباط باشید.
سوالات متداول درباره چک کردن پورت
چگونه بفهمم پورت 21 بسته است؟
با دستور telnet domain.com 21 یا سایت yougetsignal.com میتوانید تست پورت انجام دهید. اگر Connection failed دریافت کردید، پورت بسته است.




