ایده‌ات را بگو؛ با هوش مصنوعی می‌سازیمش

پروتکل‌ها و پورت‌ها

پروتکل‌ها و پورت‌ها؛ TCP، UDP، HTTP/HTTPS، DNS، DHCP، SSH، ICMP، ARP و جدول پورت‌ها

پروتکل چیست؟

پروتکل مجموعه‌ای از قوانین است که مشخص می‌کند دو طرف چطور پیام بفرستند و پاسخ بدهند. مثال روزمره: HTTP قوانین وب است.

TCP و UDP (لایه ترنسپورت)

ویژگیTCPUDP
اتصالConnection-oriented (سه‌مرحله‌ای: SYN، SYN-ACK، ACK)Connectionless
تضمین تحویلبله (retransmission)خیر
ترتیب بسته‌هاحفظ می‌شودحفظ نمی‌شود
سرعت و تأخیرکندتر، قابل‌اعتمادسریع‌تر، تأخیر کم
کاربردوب، ایمیل، SSH، دیتابیسDNS، ویدیو زنده، بازی، VoIP، WireGuard

Three-way handshake

Client → Server:  SYN
Server → Client:  SYN-ACK
Client → Server:  ACK    (اتصال برقرار شد)

TCP State

ss -tan                       # وضعیت اتصال‌های TCP (ESTABLISHED، LISTEN، TIME-WAIT و...)
ss -tan state established     # فقط اتصال‌های فعال

پورت‌ها

  • Well-known (0–1023): سرویس‌های استاندارد؛ نیاز به root برای listen.
  • Registered (1024–49151): برنامه‌های کاربردی.
  • Dynamic / Ephemeral (49152–65535): پورت موقت سمت کلاینت.

جدول پورت‌های مهم

پورتپروتکلسرویس
20/21TCPFTP (داده/کنترل)
22TCPSSH
23TCPTelnet (ناامن، امروز استفاده نشود)
25TCPSMTP (ارسال ایمیل)
53TCP/UDPDNS
67/68UDPDHCP
80TCPHTTP
110 / 995TCPPOP3 / POP3S
123UDPNTP (زمان)
143 / 993TCPIMAP / IMAPS
443TCP/UDPHTTPS (TLS)؛ UDP برای HTTP/3
465 / 587TCPSMTPS / Submission
3306TCPMySQL / MariaDB
5432TCPPostgreSQL
6379TCPRedis
27017TCPMongoDB
51820UDPWireGuard (پیش‌فرض)

HTTP و HTTPS

متدها

متدکاربرد
GETدریافت داده
POSTارسال داده / ایجاد
PUTجایگزینی کامل
PATCHتغییر بخشی
DELETEحذف

کدهای وضعیت

کدمعنی
200موفق
301 / 302انتقال دائم / موقت
400درخواست نامعتبر
401احراز هویت لازم
403دسترسی ممنوع
404پیدا نشد
500خطای سرور
502 / 503Gateway خراب / سرویس در دسترس نیست

تفاوت HTTP/1.1، HTTP/2 و HTTP/3

  • HTTP/1.1: متنی، یک درخواست در هر اتصال (با keep-alive).
  • HTTP/2: باینری، چند استریم روی یک اتصال TCP، فشرده‌سازی هدر.
  • HTTP/3: روی QUIC (UDP)، حذف head-of-line blocking در سطح TCP.
curl -I https://example.com           # فقط هدرها
curl -v https://example.com           # جزئیات TLS و هدرها
curl --http2 -I https://example.com   # درخواست با HTTP/2

DNS

دامنه را به IP تبدیل می‌کند. ساختار سلسله‌مراتبی: root → TLD (.com) → دامنه (example.com) → رکورد (www).

نوع رکوردکاربرد
Aدامنه → IPv4
AAAAدامنه → IPv6
CNAMEنام مستعار
MXسرور ایمیل
TXTمتن (SPF، DKIM، تأیید دامنه)
NSسرورهای نام دامنه
dig example.com A +short              # رکورد A
dig example.com MX
dig @1.1.1.1 example.com              # پرسش از سرور DNS مشخص
dig +trace example.com                # مسیر کامل resolve
resolvectl status                     # DNS فعلی سیستم (systemd-resolved)

DNS over HTTPS / TLS

DNS معمولی متنی و قابل شنود است. DoH (پورت 443) و DoT (پورت 853) آن را رمزنگاری می‌کنند.

DHCP

دستگاه‌ها IP، Gateway و DNS را خودکار می‌گیرند. فرایند DORA:

  1. Discover: کلاینت (broadcast) می‌پرسد.
  2. Offer: سرور IP پیشنهاد می‌دهد.
  3. Request: کلاینت آن را درخواست می‌کند.
  4. Acknowledge: سرور تأیید می‌کند.
sudo dhclient -v enp3s0               # تمدید دستی (در صورت استفاده از dhclient)
networkctl status enp3s0              # وضعیت اینترفیس با systemd-networkd

ICMP

پیام‌های کنترلی شبکه؛ ping و traceroute از آن استفاده می‌کنند.

ping -c 4 8.8.8.8
traceroute 8.8.8.8                    # نیاز به sudo apt install traceroute
tracepath 8.8.8.8                     # بدون نیاز به root

ARP

IP را به MAC در شبکه‌ی محلی تبدیل می‌کند. نقطه‌ی ضعف: ARP spoofing که در LAN امکان شنود می‌دهد.

ip neigh show                         # جدول ARP

SSH

ارتباط امن و رمزنگاری‌شده با سرور (پورت 22). جزئیات امن‌سازی در فایل امنیت سرور آمده است.

ssh user@192.168.1.50
ssh -p 2222 user@server               # پورت سفارشی
ssh -L 8080:localhost:80 user@server  # Port forwarding محلی
ssh -D 1080 user@server               # SOCKS proxy

ابزار بررسی پورت‌ها

sudo ss -tulpn                        # پورت‌های listen همراه برنامه
nmap -sT 192.168.1.1                  # اسکن TCP connect
nmap -p 22,80,443 example.com         # اسکن پورت‌های مشخص
nmap -sV -p 22 192.168.1.50          # تشخیص نسخه‌ی سرویس

اسکن nmap را فقط روی سیستم‌های خودت یا با اجازه‌ی کتبی انجام بده.

پیشرفته: QUIC، MTU و Fragmentation

  • QUIC: پروتکل ترنسپورت روی UDP که رمزنگاری TLS 1.3 را داخلش دارد و اتصال سریع‌تری می‌دهد.
  • Fragmentation: بسته‌های بزرگ‌تر از MTU تکه می‌شوند. در VPN، اگر MTU اشتباه باشد، برخی سایت‌ها کار نمی‌کنند؛ این مشکل معمولاً با کم کردن MTU حل می‌شود.
  • Path MTU Discovery: با بسته‌های DF (Don't Fragment) اندازه‌ی مسیر را پیدا می‌کند.

ایده‌ای دارید؟ برایمان بگویید

مشاوره و پیشنهاد اولیه رایگان است.

تماس با ما