
به اشتراک بگذارید

به اشتراک بگذارید
اگر با FileZilla به هاست وصل نمیشوید یا ایمیلهای سایت وردپرسی شما ارسال نمیشود؛ احتمالاً مشکل از بلاک بودن پورت است. این مشکل یکی از رایجترین چالشهای کاربران هاست و سرور مجازی است که هر روز صدها نفر را درگیر میکند.
پورت 21 برای انتقال فایل (FTP) و پورت 587 برای ارسال ایمیل (SMTP) استفاده میشوند. این دو پورت از مهمترین درگاههای ارتباطی در مدیریت وبسایت هستند و بلاک شدن آنها میتواند کار شما را کاملاً مختل کند.
| پورت | پروتکل | کاربرد اصلی |
|---|---|---|
| 21 | FTP | آپلود/دانلود فایل به هاست |
| 587 | SMTP + TLS | ارسال ایمیل امن |
بلاک بودن این پورتها میتواند توسط ISP، فایروال سرور یا آنتیویروس ایجاد شود. حتماً زمانی که این مقاله را باز کردهاید، با یکی از این مشکلات مواجه شدهاید: FileZilla خطای Connection Timeout میدهد، فرم تماس سایت کار نمیکند یا PHPMailer خطای SMTP Connection Failed نشان میدهد. در این مقاله از بلاگ وب داده یاد میگیرید چگونه وضعیت پورت را چک کنید و مشکل را برطرف کنید. پس تا انتها همراه ما باشید .
آنچه در این مقاله میخوانید:
پورت 21 (FTP):
پورت 21 درگاه پیشفرض پروتکل FTP (File Transfer Protocol) است. وقتی با نرمافزارهایی مثل FileZilla یا WinSCP به هاست متصل میشوید، از این پورت استفاده میکنید. FTP یکی از قدیمیترین پروتکلهای انتقال فایل است که از سال 1971 وجود داشته و هنوز هم پرکاربرد است.
کامپیوتر شما ──[پورت 21]──▶ سرور هاست
│ │
FileZilla فایلهای سایت
🔸 کاربردهای پورت 21:
پورت 587 (SMTP) :
پورت 587 برای ارسال ایمیل با پروتکل SMTP و رمزگذاری TLS طراحی شده است. این پورت جایگزین امنتر پورت 25 است که اکثر ISPها آن را بلاک کردهاند. از سال 1998 که معرفی شد، به استاندارد اصلی ارسال ایمیل تبدیل شده است.
سایت شما ──[پورت 587 + TLS]──▶ میل سرور ──▶ گیرنده
│ │
PHPMailer Gmail/Yahoo
🔸 کاربردهای پورت 587:
قبل از بررسی باز بودن پورت، این علائم را چک کنید:
| علامت | پورت احتمالی | سرویس مرتبط |
|---|---|---|
| خطای Connection Timeout در FileZilla | 21 | FTP |
| خطای Could not connect to server | 21 | FTP |
| فرم تماس سایت کار نمیکند | 587 | SMTP |
| خطای SMTP Connection Failed | 587 | SMTP |
| ایمیلها در صف میمانند | 587/25 | SMTP |
برای چک کردن پورت روشهای متعددی وجود دارد که در ادامه 4 روش را بررسی می کنیم.
برای کاربران مبتدی، استفاده از سایتهای آنلاین سادهترین راه برای اسکن پورت است. این روش نیاز به دانش فنی ندارد و در کمتر از 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 شماره پورت مورد نظر را بنویسید:
🔸 مرحله 4: روی دکمه Check کلیک کنید و چند ثانیه صبر کنید.
🔸 نتیجه پس از تست پورت:
Telnet ابزار قدیمی اما مطمئن برای بررسی پورت سرور است. این روش مستقیمتر از ابزارهای آنلاین است و نتیجه دقیقتری میدهد.
فعالسازی Telnet در ویندوز (فقط یک بار نیاز است):

دستور چک کردن پورت در 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)

🔸 تفسیر نتیجه:
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 روش مدرنتر برای بررسی باز بودن یا بلاک پورت سرور در ویندوز :
Test-NetConnection -ComputerName domain.com -Port 21
Test-NetConnection -ComputerName domain.com -Port 587 🔸 نتیجه و خروجی دستور بالا:
در این بخش به بررسی مهمترین دلایل بلاک شدن پورت های 21 و 587 سرور می پردازیم.
| دلایل بلاک پورت 21 | توضیح | راهحل |
|---|---|---|
| ISP مسدود کرده | برخی اپراتورها پورت 21 را بلاک میکنند | استفاده از SFTP (پورت 22) |
| فایروال سرور | CSF یا iptables بسته | باز کردن در فایروال |
| آنتیویروس | Kaspersky, ESET گاهی بلاک میکنند | اضافه به لیست مجاز |
| سرویس FTP غیرفعال | Pure-FTPd یا vsftpd خاموش | فعالسازی در WHM |
| دلایل بلاک پورت 587 | توضیح | راهحل |
|---|---|---|
| ISP برای جلوگیری از اسپم | رایج در ایران | استفاده از پورت 465 |
| IP در بلکلیست | آدرس سرور اسپم شناخته شده | چک در MXToolbox |
| تنظیمات اشتباه TLS | عدم تطابق گواهی SSL | تصحیح SMTP Host |
| فایروال روتر | روتر شرکت/خانه بلاک کرده | تماس با ادمین شبکه |
حالا که فهمیدید پورت بسته است، وقت رفع مشکل است. بسته به دلیل بلاک، راهحل متفاوت است.
اگر سرور ویندوزی دارید یا میخواهید پورت را روی کامپیوتر خود باز کنید مراحل زیر را به صورت گام به گام انجام دهید:
🔸 مرحله 1: کلید Windows را بزنید و Windows Defender Firewall with Advanced Security را سرچ کنید.
🔸 مرحله 2: در پنل سمت چپ روی Inbound Rules کلیک کنید
🔸 مرحله 3: در پنل سمت راست روی New Rule کلیک کنید.
🔸 مرحله 4: گزینه Port را انتخاب کنید و Next بزنید
🔸 مرحله 5: TCP را انتخاب کنید و در فیلد Specific local ports شماره پورت را وارد کنید:
21587🔸 مرحله 6: گزینه Allow the connection را انتخاب کنید
🔸 مرحله 7: هر سه گزینه (Domain, Private, Public) را تیک بزنید
🔸 مرحله 8: یک نام مناسب بگذارید (مثلاً: FTP Port 21) و Finish بزنید
⚠️ هشدار: برای پورتهای خروجی (Outbound) هم همین مراحل را تکرار کنید.
برای این کار از دستور زیر در ترمینال لینوکس استفاده کنید.
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 اگر ISP پورت را بلاک کرده، از جایگزین استفاده کنید:
| سرویس | پورت اصلی | جایگزین امن | پروتکل |
|---|---|---|---|
| FTP | 21 | SFTP روی پورت 22 | SSH |
| SMTP | 587 | 465 (SSL) | SMTPS |
| SMTP | 25 | 587 (TLS) | Submission |
⚠️ هشدارها:
✅ چکلیست امنیتی:
در این مقاله از بلاگ وبداده، به صورت کامل یاد گرفتید که چگونه چک کردن پورت 21 و 587 را انجام دهید و مشکلات رایج را برطرف کنید.
خلاصه نکات کلیدی:
✅ برای چک کردن پورت از ابزارهای آنلاین مثل YouGetSignal استفاده کنید (ساده و سریع)
✅ برای تست حرفهای از دستورات Telnet (ویندوز) یا Netcat (لینوکس) استفاده کنید
✅ اگر پورت بسته است، ابتدا دلیل را شناسایی کنید: ISP، فایروال یا سرویس غیرفعال
✅ در صورت بلاک توسط ISP، از پورتهای جایگزین استفاده کنید (SFTP به جای FTP، پورت 465 به جای 587)
✅ همیشه امنیت را در اولویت قرار دهید: SFTP امنتر از FTP است.
به یاد داشته باشید که مشکل بلاک پورت همیشه از سرور نیست؛ گاهی ISP یا فایروال شبکه محلی مقصر است. با تست از اینترنتهای مختلف میتوانید محل مشکل را پیدا کنید.
امیدواریم این مقاله از بلاگ وب داده برای شما مفید بوده باشد. در صورتی که سوالی داشتید یا با مشکل خاصی مواجه شدید، در بخش ثبت نظرات با ما در ارتباط باشید.
با دستور telnet domain.com 21 یا سایت yougetsignal.com میتوانید تست پورت انجام دهید. اگر Connection failed دریافت کردید، پورت بسته است.