~2 دقیقه مطالعه • بروزرسانی ۲۹ تیر ۱۴۰۴

۱. netstat چیست؟


دستور netstat (مخفف network statistics) اطلاعاتی دربارهٔ اتصالات شبکه، وضعیت پورت‌ها، فرآیندهای مرتبط با socket و آمار پروتکل‌هایی مانند TCP، UDP و ICMP ارائه می‌دهد. این ابزار بخشی از بستهٔ net-tools است و در توزیع‌های جدید ممکن است با ابزار ss جایگزین شده باشد.


۲. نصب netstat در لینوکس


در صورت نصب نبودن، از دستور زیر استفاده کنید:

sudo apt install net-tools      # Debian / Ubuntu
sudo yum install net-tools      # CentOS / RHEL

۳. ساختار پایه‌ای فرمان


netstat [options]

مثال ابتدایی برای نمایش اتصالات فعال:

netstat -tuln

۴. سوئیچ‌های مهم netstat


سوئیچتوضیحمثال
-tنمایش اتصالات TCP
netstat -t
-uنمایش اتصالات UDP
netstat -u
-lنمایش پورت‌هایی که در حالت گوش دادن هستند
netstat -l
-nعدم تبدیل آدرس‌ها به نام دامنه
netstat -n
-pنمایش PID و نام برنامه استفاده‌کننده از پورت
sudo netstat -p
-aنمایش تمام اتصالات و پورت‌ها
netstat -a
-rنمایش جدول مسیریابی شبکه
netstat -r
-sنمایش آمار پروتکل‌ها
netstat -s

۵. ترکیب چند سوئیچ کاربردی


برای مشاهدهٔ پورت‌های گوش‌دهنده به‌صورت دقیق:

netstat -tulnp

خروجی نمونه:


Proto Recv-Q Send-Q Local Address   Foreign Address State    PID/Program name
tcp   0      0 127.0.0.1:3306       0.0.0.0:*       LISTEN   1234/mysqld

۶. جایگزین مدرن: دستور ss


در توزیع‌های جدید لینوکس، ابزار ss جایگزین netstat شده و بسیار سریع‌تر و دقیق‌تر است:

ss -tuln
ss -p

۷. نکات امنیتی و کاربردی


  • نمایش PID و نام سرویس برای مانیتورینگ سرور بسیار مفید است
  • بررسی باز بودن پورت‌ها کمک به عیب‌یابی فایروال و NAT می‌کند
  • عدم استفاده از سوئیچ -n ممکن است باعث کندی در تبدیل نام دامنه شود

۸. نتیجه‌گیری


netstat ابزاری مهم برای تحلیل شبکه، بررسی سرویس‌ها، و شناسایی پورت‌های فعال در لینوکس است. با ترکیب سوئیچ‌های کاربردی، می‌توان اطلاعات دقیق‌تری دربارهٔ وضعیت اتصال سیستم به دست آورد. با وجود ابزارهای جدید مانند ss، شناخت netstat همچنان برای پشتیبانی از سیستم‌های قدیمی و درک مفاهیم پایهٔ شبکه ارزشمند است.


نوشته و پژوهش شده توسط دکتر شاهین صیامی