مقدمه
دستور `netstat` یکی از ابزارهای قدرتمند و پرکاربرد در سیستمعامل لینوکس است که اطلاعاتی درباره اتصالات شبکه، جدول مسیریابی، پورتهای باز، و وضعیت کلی شبکه ارائه میدهد. این ابزار به ویژه برای مدیران سیستم و متخصصان شبکه بسیار مفید است، زیرا به آنها امکان نظارت و عیبیابی شبکه را میدهد. در این مقاله، به بررسی جامع دستور `netstat` و نحوه استفاده از آن میپردازیم.
—
ساختار دستور Netstat
ساختار کلی دستور `netstat` به شکل زیر است:
netstat [گزینهها]
– بدون گزینه: اجرای ساده دستور اطلاعات پایه شبکه را نمایش میدهد.
– گزینهها: برای شخصیسازی خروجی و افزودن جزئیات استفاده میشوند.
—
کاربردهای اصلی دستور Netstat
۱. نمایش اتصالات فعال
برای مشاهده تمام اتصالات شبکه فعال در سیستم:
netstat
خروجی شامل ستونهایی مانند Proto (پروتکل)، Local Address (آدرس محلی)، Foreign Address (آدرس مقصد)، و State (وضعیت اتصال) است.
۲. نمایش پورتهای باز
برای مشاهده پورتهای باز که توسط برنامههای مختلف استفاده میشوند:
netstat -l
این دستور تمام پورتهایی که در حالت listening هستند را نشان میدهد.
۳. نمایش آمار پروتکلها
برای مشاهده اطلاعات آماری درباره پروتکلهای شبکه:
netstat -s
این گزینه آمار پروتکلهایی مانند TCP، UDP، ICMP و غیره را ارائه میدهد.
—
گزینههای پرکاربرد در دستور Netstat
-a: نمایش تمام اتصالات و پورتها
این گزینه تمام اتصالات فعال و پورتهای listening را نمایش میدهد:
netstat -a
-t: نمایش اتصالات TCP
برای مشاهده تنها اتصالات TCP:
netstat -t
-u: نمایش اتصالات UDP
برای مشاهده اتصالات UDP:
netstat -u
-n: نمایش آدرسها به صورت عددی
برای جلوگیری از تبدیل آدرسهای IP به نام میزبان:
netstat -n
-r: نمایش جدول مسیریابی
برای مشاهده جدول مسیریابی سیستم:
netstat -r
این گزینه اطلاعاتی مانند مقصد (Destination)، Gateway، و Interface را نمایش میدهد.
-p: نمایش فرآیندهای مرتبط با اتصالات
برای شناسایی برنامه یا فرآیندی که از یک پورت یا اتصال خاص استفاده میکند:
netstat -p
—
ترکیب گزینهها
۱. نمایش اتصالات TCP با فرآیندها:
netstat -tp
۲. نمایش پورتهای UDP به صورت عددی:
netstat -unp
۳. نمایش جدول مسیریابی با نام میزبان:
netstat -rn
—
تحلیل خروجی دستور Netstat
خروجی دستور `netstat` ممکن است شامل ستونهای زیر باشد:
– Proto: پروتکل استفاده شده (TCP/UDP).
– Recv-Q و Send-Q: صف دریافت و ارسال داده.
– Local Address: آدرس محلی و پورت.
– Foreign Address: آدرس مقصد و پورت.
– State: وضعیت اتصال (مانند ESTABLISHED، LISTENING، TIME_WAIT).
—
جایگزینهای Netstat
با اینکه `netstat` بسیار مفید است، برخی نسخههای جدید لینوکس آن را به نفع ابزارهای مدرنتر کنار گذاشتهاند. ابزارهایی مانند `ss` و `ip` به عنوان جایگزینهای پیشرفتهتر ارائه شدهاند.
– ss: سریعتر از `netstat` است و اطلاعات مشابهی ارائه میدهد:
ss -tuln
– ip: برای مدیریت و مشاهده تنظیمات شبکه:
ip route
—
کاربردهای عملی دستور Netstat
۱. بررسی مشکلات اتصال
اگر سیستمی نمیتواند به سرور خاصی متصل شود، با استفاده از `netstat` میتوانید وضعیت اتصالات را بررسی کرده و علت مشکل را پیدا کنید.
۲. نظارت بر پورتهای مشکوک
برای بررسی فعالیتهای مشکوک، میتوانید پورتهای باز و برنامههای مرتبط با آنها را مشاهده کنید.
۳. مدیریت عملکرد سرورها
با بررسی پورتها و اتصالات میتوانید عملکرد سرورهای خود را بهینه کنید.
—
جمعبندی
دستور `netstat` یکی از ابزارهای کلیدی برای مدیریت و عیبیابی شبکه در لینوکس است. با تسلط بر این ابزار و گزینههای آن، میتوانید اطلاعات جامع و دقیقی درباره وضعیت شبکه و اتصالات به دست آورید. اگرچه ابزارهای جدیدی مانند `ss` و `ip` نیز وجود دارند، اما `netstat` همچنان یک ابزار قدرتمند و محبوب برای کاربران لینوکس است.