دانشنامه مارال هاست دانشنامه مارال هاست
  • صفحه اصلی
  • مقالات
    • هاست اشتراکی
    • دامنه
    • سرور مجازی
    • کنترل پنل سی‌پنل
    • کنترل پنل پلسک
    • کنترل پنل دایرکت ادمین
    • ایمیل
    • CloudLinux
    • Cloudflare
  • تماس با ما
دانشنامه مارال هاست دانشنامه مارال هاست
دانشنامه مارال هاست دانشنامه مارال هاست
  • صفحه اصلی
  • مقالات
    • هاست اشتراکی
    • دامنه
    • سرور مجازی
    • کنترل پنل سی‌پنل
    • کنترل پنل پلسک
    • کنترل پنل دایرکت ادمین
    • ایمیل
    • CloudLinux
    • Cloudflare
  • تماس با ما
شبکه
  • Folder icon closed Folder open iconپیاده‌سازی و مدیریت IPv6
  • Folder icon closed Folder open iconپیکربندی IPv6 روی Windows Server
  • Folder icon closed Folder open iconپیکربندی IPv6 روی Linux
  • Folder icon closed Folder open iconپیکربندی IPv6 روی MikroTik RouterOS
  • Folder icon closed Folder open iconIPv6 چیست
  • Folder icon closed Folder open iconاستفاده از IPv6 در Apache و Nginx
  • Folder icon closed Folder open iconتنظیم DNS AAAA Records برای IPv6
  • Folder icon closed Folder open iconتست اتصال IPv6 با ابزارهای خط فرمان
  • Folder icon closed Folder open iconتنظیم DHCPv6 Server روی Linux
  • Folder icon closed Folder open iconمزایا و معایب IPv6 در محیط هاستینگ
  • Folder icon closed Folder open iconبررسی کامل nmtui
  • Folder icon closed Folder open iconاضافه کردن آی پی مازاد به سرور لینوکس و ویندوز
  • Folder icon closed Folder open iconمعماری آدرس‌ دهی در IPv6
  • Folder icon closed Folder open iconساختار بسته در IPv6
  • Folder icon closed Folder open iconمسیریابی در IPv6
  • Folder icon closed Folder open iconمکانیزم‌های انتقال به IPv6
  • Folder icon closed Folder open iconملاحظات امنیتی در IPv6
  • Folder icon closed Folder open iconتغییر gateway با کامند در لینوکس
  • Folder icon closed Folder open iconبررسی دستور tracert در ویندوز
  • Folder icon closed Folder open iconبررسی دستور mtr در لینوکس
  • Folder icon closed Folder open iconآموزش کامل nc (NetCat)
  • Folder icon closed Folder open iconآموزش کامل nmap
  • Folder icon closed Folder open iconآموزش کامل dig
  • Folder icon closed Folder open iconآموزش کامل nslookup
  • Folder icon closed Folder open iconآموزش کامل دستور route و ip route
  • Folder icon closed Folder open iconآموزش کامل telnet
  • Folder icon closed Folder open iconآموزش کامل wget
  • Folder icon closed Folder open iconآموزش کامل ss در لینوکس
  • Folder icon closed Folder open iconعیب‌یابی تفاوت نتیجه DNS بین سرور و کامپیوتر شخصی
  • Folder icon closed Folder open iconآموزش بررسی etc/resolv.conf/ و عیب‌یابی مشکلات DNS در لینوکس
شبکه

آموزش کامل nc (NetCat)

آموزش کامل nc (NetCat)

مقدمه

Netcat که معمولاً با نام nc شناخته می‌شود، یکی از قدرتمندترین ابزارهای خط فرمان لینوکس برای برقراری ارتباط شبکه‌ای، تست پورت‌ها، انتقال فایل و عیب‌یابی سرویس‌های TCP و UDP است.

به دلیل انعطاف‌پذیری بالا، Netcat به «چاقوی سوئیسی شبکه» (Swiss Army Knife of Networking) معروف است و تقریباً در جعبه‌ابزار هر مدیر سیستم، متخصص شبکه و مهندس DevOps قرار دارد.

در این مقاله، با تمامی قابلیت‌های مهم دستور nc همراه با مثال‌های عملی آشنا می‌شوید.


Netcat چیست؟

Netcat ابزاری برای ایجاد و مدیریت ارتباطات شبکه‌ای از طریق پروتکل‌های TCP و UDP است.

با استفاده از Netcat می‌توانید:

  • بررسی باز بودن پورت‌ها
  • تست سرویس‌های شبکه
  • ارسال و دریافت داده
  • انتقال فایل
  • ایجاد Listener
  • تست اتصال بین دو سرور
  • اشکال‌زدایی برنامه‌های شبکه

را انجام دهید.


بررسی نصب Netcat

ابتدا بررسی کنید که Netcat روی سیستم نصب باشد.

nc -h

یا

nc --help

نصب Netcat

Ubuntu / Debian

sudo apt update
sudo apt install -y netcat-openbsd

AlmaLinux / Rocky Linux

sudo dnf install -y nc

CentOS 7

sudo yum install -y nc

ساختار کلی دستور

nc [OPTIONS] HOST PORT

بررسی اتصال به یک پورت

مثلاً بررسی پورت 80 سایت:

nc google.com 80

اگر اتصال برقرار شود، نشان‌دهنده باز بودن پورت است.


اسکن یک پورت

nc -zv google.com 443

پارامترها:

  • -z فقط بررسی اتصال
  • -v نمایش جزئیات

نمونه خروجی:

Connection to google.com 443 port [tcp/https] succeeded!

اسکن چند پورت

nc -zv localhost 20-100

اسکن UDP

nc -zvu 8.8.8.8 53

تعیین Timeout

nc -zv -w 5 google.com 443

در این مثال، اگر طی ۵ ثانیه اتصال برقرار نشود، دستور متوقف می‌شود.


ایجاد Listener

nc -l 9000

اکنون سیستم روی پورت 9000 منتظر اتصال خواهد بود.


اتصال به Listener

از سیستم دیگر:

nc SERVER-IP 9000

اکنون هر متنی که ارسال شود، در سمت مقابل نمایش داده خواهد شد.


ارسال پیام

echo "Hello World" | nc SERVER-IP 9000

انتقال فایل

سیستم دریافت‌کننده

nc -l 9000 > backup.tar.gz

سیستم ارسال‌کننده

nc SERVER-IP 9000 < backup.tar.gz

تست وب‌سرور

nc google.com 80

سپس:

GET / HTTP/1.1
Host: google.com

پس از دو بار Enter، پاسخ HTTP نمایش داده می‌شود.


تست HTTPS

برای HTTPS بهتر است از OpenSSL استفاده شود، زیرا ارتباط رمزنگاری شده است.


تست SMTP

nc mail.example.com 25

تست SSH

nc SERVER-IP 22

اگر سرویس SSH فعال باشد، Banner آن نمایش داده می‌شود.


تست Redis

nc localhost 6379

تست MySQL

nc localhost 3306

تست PostgreSQL

nc localhost 5432

تست اتصال بین دو سرور

روی سرور اول:

nc -l 5000

روی سرور دوم:

nc SERVER-IP 5000

بررسی باز بودن پورت‌های Docker

nc -zv localhost 8080

بررسی ارتباط با API

nc api.example.com 80

مهم‌ترین پارامترهای nc

پارامترتوضیح
-lایجاد Listener
-zاسکن بدون ارسال داده
-vنمایش اطلاعات بیشتر
-uاستفاده از UDP
-wتعیین Timeout
-kفعال نگه داشتن Listener
-nعدم Resolve کردن DNS
-pتعیین پورت مبدأ

خطاهای رایج

nc: command not found

Netcat نصب نشده است.


Connection refused

سرویس روی آن پورت اجرا نمی‌شود یا توسط فایروال مسدود شده است.


Connection timed out

ارتباط شبکه برقرار نیست یا فایروال مسیر را مسدود کرده است.


Name or service not known

نام دامنه اشتباه است یا DNS به‌درستی کار نمی‌کند.


بهترین روش‌ها

  • از -zv برای بررسی وضعیت پورت‌ها استفاده کنید.
  • برای جلوگیری از انتظار طولانی، مقدار -w را مشخص کنید.
  • هنگام انتقال فایل، از شبکه‌های امن یا تونل‌های رمزنگاری‌شده استفاده کنید.
  • برای سرویس‌های HTTPS از ابزارهایی مانند openssl s_client استفاده کنید.
  • برای بررسی دقیق‌تر سرویس‌ها، Netcat را در کنار ابزارهایی مانند ss، tcpdump و nmap به کار ببرید.

اشتباهات رایج

  • استفاده از Netcat برای تست HTTPS بدون در نظر گرفتن TLS
  • باز گذاشتن Listenerهای بدون نیاز
  • اسکن تعداد زیادی پورت بدون مجوز در شبکه‌های عمومی
  • فراموش کردن تعیین Timeout
  • انتقال فایل‌های حساس بدون رمزنگاری

چک‌لیست

پس از مطالعه این مقاله باید بتوانید:

  • Netcat را نصب کنید.
  • باز بودن یک پورت را بررسی کنید.
  • یک Listener ایجاد کنید.
  • بین دو سیستم ارتباط برقرار کنید.
  • فایل انتقال دهید.
  • سرویس‌های مختلف مانند SSH، HTTP و SMTP را تست کنید.
  • از پارامترهای اصلی nc استفاده کنید.


مطالعات بیشتر

برای مطالعه بیشتر می‌توانید از منابع زیر استفاده کنید:

  • OpenBSD nc Manual Page
  • GNU Netcat Manual (Ncat/Nmap Project)
  • Linux man page for nc

جمع‌بندی

دستور nc (Netcat) یکی از کاربردی‌ترین ابزارهای شبکه در لینوکس است که برای تست ارتباطات TCP و UDP، بررسی پورت‌ها، انتقال فایل، ایجاد Listener و عیب‌یابی سرویس‌های مختلف استفاده می‌شود. سادگی استفاده در کنار قابلیت‌های گسترده، Netcat را به ابزاری ضروری برای مدیران سیستم، مهندسان شبکه و متخصصان DevOps تبدیل کرده است. یادگیری این ابزار به شما کمک می‌کند بسیاری از مشکلات ارتباطی را سریع‌تر شناسایی و برطرف کنید.

کیان پور

هنوز نیاز به کمک دارید؟

آیا سوالی دارید؟

آیا این مقاله برای شما مفید بود؟ بله خیر

مطالب اخیراً بازدیدشده

  • CVE چیست؟ آشنایی با سیستم شماره‌گذاری آسیب‌پذیری‌های امنیتی
  • آموزش کامل Firewalld در لینوکس
  • CVSS چیست؟ آشنایی با سیستم امتیازدهی آسیب‌پذیری‌های امنیتی
  • آموزش کامل Fail2Ban در لینوکس؛ نصب و راه‌اندازی
  • آموزش کامل nslookup
  • آموزش نصب Nextcloud با Docker Compose
  • عیب‌یابی تفاوت نتیجه DNS بین سرور و کامپیوتر شخصی
  • مشاهده بیشتر

نظرات خود را بنویسید... لغو پاسخ

اشتراک گذاری این مقاله

آموزش کامل nc (NetCat)

کپی کردن لینک

Clipboard Icon

جدیدترین مقالات

آموزش نصب و راه‌اندازی RustDesk Server با Docker
آموزش نصب و راه‌اندازی RustDesk Server با Docker
2 minutes جولای 2, 2026
آموزش نصب و راه‌اندازی Matrix Synapse + Element Web + Coturn با Docker روی ...
4 minutes جولای 2, 2026
CXS چیست و چگونه کار می‌کند
1 minute می 3, 2026
ساخت سرور چت المنت بروی لینوکس
5 minutes آوریل 25, 2026
Geo Routing و Geo DNS
2 minutes آوریل 22, 2026

تقویم

آگوست 2026
شیدسچپج
1234567
891011121314
15161718192021
22232425262728
293031 
« جولای    

عضویت

جدیدترین پست‌ها

آموزش نصب و راه‌اندازی RustDesk Server با Docker
آموزش نصب و راه‌اندازی RustDesk Server با Docker
2 minutes جولای 2, 2026
آموزش نصب و راه‌اندازی Matrix Synapse + Element Web + Coturn با Docker روی Ubuntu 24.04
4 minutes جولای 2, 2026
CXS چیست و چگونه کار می‌کند
1 minute می 3, 2026
ساخت سرور چت المنت بروی لینوکس
5 minutes آوریل 25, 2026
Geo Routing و Geo DNS
2 minutes آوریل 22, 2026

سلام