netstat چیست و چه کاربردی در بررسی شبکه دارد؟

فرض کنید سرعت شبکهتان بهطور ناگهانی افت کرده یا ترافیک غیرعادی در سیستمتان مشاهده میکنید. اولین واکنش چیست؟ به احتمال زیاد دنبال ابزاری میگردید که بتواند در کمترین زمان ممکن، وضعیت ارتباطات شبکه را روشن کند. اینجاست که پای ابزار قدرتمندی مثل Netstat وسط کشیده میشود.
Netstat یک دستور خط فرمان است که میتواند تمام ارتباطات فعال، پورتهای باز، آدرسهای IP متصل و حتی مسیر انتقال دادهها را روی یک سیستم نشان دهد. متخصصان شبکه با همین ابزار ساده، مشکلات پیچیده ارتباطی را ریشهیابی میکنند، اتصالات مشکوک را زیر ذرهبین میبرند و عملکرد کلی شبکه را تحلیل میکنند.
در این مقاله فالنیک با ما همراه باشید تا بدانید دستور Netstat چیست، چه کاربردهایی دارد و چطور میتواند ابزار عیبیابی شما در مواقع بحرانی باشد. اگر دغدغه پایداری، امنیت یا عملکرد بهتر شبکهتان را دارید، ما در فالنیک خدمات پشتیبانی شبکه را ارائه میدهیم؛ مجموعهای کامل از عیبیابی، مانیتورینگ، نصب تجهیزات، بهینهسازی و رفع اشکالات شبکه که به کمک ابزارهایی مثل Netstat، شبکهای امن و بدون اختلال برای شما فراهم میکند. برای دریافت خدمات کافیست روی لینک بزنید یا با شماره 0218363 تماس بگیرید.
فهرست محتوا
netstatچیست؟
netstat مخفف عبارت Network (شبکه) و Statistics (آمار) است. netstat، ابزار خط فرمان محسوب میشود که برای نمایش اتصالات کنونی شبکه و فعالیت پورتها در کامپیوتر شما استفاده میشود. این ابزار به شما امکان میدهد مشاهده کنید که چه سرویسهایی روی کامپیوتر یا سرور شما در حال اجرا هستند و کدام پورتها باز هستند.
بهطور کلی، netstat برنامه خط فرمان است بنابراین رابط کاربری گرافیکی ندارد اما برنامههایی مانند TCPView که توسط بخشWindows Sysinternals مایکروسافت توسعه یافته، امکان نمایش آمار شبکه بهصورت گرافیکی را فراهم میکنند.
netstat در چه سیستمعاملهایی استفاده میشود؟
در سال 1983، دستور Netstat برای اولین بار در یونیکس پیادهسازی شد و از اولین مجموعه پروتکل اینترنت TCP/IP پشتیبانی میکرد. این دستور از سال 1991 در لینوکس ادغام شده و از زمان انتشار Windows 3.11 در سال 1993 که قابلیت ارتباط از طریق TCP/IP را با کمک افزونهها داشت، در ویندوز نیز وجود داشته است.
یکی از ویژگیهای عالی دستور Netstat این است که میتوانید از آن در سیستمعاملهای مختلف استفاده کنید. این ابزار برای ویندوز، لینوکس، یونیکس، macOS وBSD در دسترس است. با اینکه پارامترهای دستورات netstat (و همچنین خروجیهای آنها) در هر سیستم متفاوت است، اما از نظر عملکرد، پیادهسازیهای مختلف این ابزار بسیار مشابه هستند.

خط فرمان netstat
اهمیت استفاده از دستور Netstat چیست؟
آگاهی از اتصالات ورودی و خروجی کامپیوتر یا سرور شما، مزیت بزرگی در مقابله با ترافیک غیرمتعارف و نرمافزارهای مخرب فراهم میکند. اتصالات ورودی و خروجی از طریق آدرس شبکه مربوطه برقرار میشوند پس نشان میدهند که کدام پورت از قبل برای تبادل داده باز شده است.
مشکل بزرگ پورتهای باز این است که به اشخاص ثالث این امکان را میدهند که بدافزارها را به سیستم شما نفوذ دهند. علاوه بر این، ممکن است یک تروجان که از قبل در سیستم شما وجود دارد، یک در پشتی (Backdoor) نصب کند و در این فرآیند، یک پورت مرتبط را باز کند.
به همین دلیل، شما باید بهطور منظم پورتهای باز شده توسط سیستم را بررسی کنید و netstat ابزار بسیار مناسبی برای این کار است.
چه اطلاعاتی با netstat قابل مشاهده است؟
با کمک آمار دقیق، میتوانید اطلاعاتی درباره بستههای منتقلشده از زمان آخرین راهاندازی سیستم و همچنین خطاهای رخ داده دریافت کنید. همچنین، جدول مسیریابی (Routing Table) که جزئیات سفر بستههای داده در شبکه را نشان میدهد با استفاده از دستور netstat قابل نمایش است.
برای دریافت نتایج دقیقتر، بهتر است قبل از اجرای netstat تمام برنامههای دیگر، مانند مرورگر اینترنت را ببندید؛ زیرا این برنامهها اغلب به کامپیوترهایی با آدرسهای IP ناشناخته متصل میشوند.
مهمترین کاربردهای netstat در مدیریت شبکه
دستور netstat ابزاری بسیار کاربردی برای عیبیابی شبکه، بررسی وضعیت شبکه، پیکربندیها و فعالیتهای مرتبط با اسکن پورتها است. بهطور خاص، مدیران سیستم از این دستور برای عیبیابی شبکه و تشخیص عملکرد استفاده میکنند. اما آیا هکرها هم میتوانند از این ابزار به نفع خود استفاده کنند؟
هکرها با استفاده از بدافزارها اغلب از شبکه شما برای ارتباط با سرورهای راه دور، ارسال یا دریافت دادهها و انتشار به سایر دستگاهها استفاده میکنند. با استفاده از دستورnetstat میتوانید بدافزارها را شناسایی کنید، بهخصوص با بررسی موارد زیر:
- اتصالات غیرعادی یا ناشناخته که مصرف پهنای باند بالایی دارند.
- پورتهای غیرمعمول که بهندرت استفاده میشوند.
- آدرسهای IP خارجی مشکوک که سیستم شما به آنها متصل شده است.
برای مثال، تروجان Sub8 از پورت 28384 برای فعالیت خود استفاده میکند. اگر در بخشForeign Address آدرس ناشناس و مشکوکی مشاهده کردید که از این پورت استفاده میکند و وضعیت آنListening است، احتمال دارد این تروجان در حال اجرا روی سیستم شما باشد.
با استفاده از دستور netstat به راحتی میتوانید این فعالیت را تشخیص دهید. بنابراین این ابزار، راهکاری موثر برای شناسایی تهدیدات احتمالی در شبکه و محافظت از دادههای شما است.
به طور کلی، با بررسی خروجی این دستور، میتوان میزان مصرف پهنای باند، وجود بدافزارهای احتمالی، و پیکربندی مسیرهای ارتباطی را بررسی کرد، که به افزایش امنیت و بهینهسازی شبکه کمک میکند.
دستورNetstat چگونه اجرا میشود؟
دستورnetstat در سیستمعاملهای مختلف موجود است، اما برخی گزینههای دستورات ممکن است کمی متفاوت باشند. در تصویر زیر دستور Netstat در یک کامپیوتر ویندوزی اجرا شده است.
برای استفاده از این ابزار، کافی است درCommand Prompt دستور netstat را تایپ کنید و سپس Enter را فشار دهید.

اجرای دستور netstat در خط فرمان
اگر کامپیوتر به هیچ چیزی متصل نباشد خروجی netstat خالی است اما اگر کامپیوتر به میزبانهای دیگری متصل باشد، در خروجی، موارد زیر نشان داده خواهد شد:
- پروتکل – Proto مورد استفاده مانند TCP یا UDP
- آدرس محلی – Local Address
- آدرس خارجی – Foreign Address
- وضعیت اتصال – State
فرض کنید کامپیوتر را به چند وبسایت مانند Yahoo.com و Example.com متصل کردیم و سپس به یک سرور FTP وصل شدیم و همچنین به چند کامپیوتر محلی در خانه ارتباط برقرار کردیم. حالا اگر دوباره دستور netstat را اجرا کنیم، در خروجی، فعالیت شبکه به صورت آنچه در تصویر زیر میبینید، قابل مشاهده است.

خروجی اجرای دستور netstat بدون هیچ سوییچ و زیردستوری
اینجا مشاهده میکنیم که پروتکل مورد استفاده، TCP است. همچنین آدرس IP محلی کامپیوتر را همراه با شماره پورت مربوط به اتصال مشاهده میکنیم. سپس، دو آدرس IP وبسایتهایی که کامپیوتر ما به آنها متصل است همراه با نام پورتها نمایش داده میشود؛ زیرا HTTP پروتکل استاندارد برای وبسایتها است. همچنین، سایت FTP که به آن متصل هستیم، نمایش داده میشود. در نهایت، میتوانیم دو کامپیوتر خانگی که با سیستم ما ارتباط برقرار کردهاند را نیز ببینیم.
مطالب مرتبط: پیدا کردن آی پی کامپیوتر
5 دستور پرکاربرد netstat
دستور netstat را میتوان با زیردستورات (subcommands) یا سوییچها ترکیب کرد تا خروجی تغییر کند. در جدل زیر لیست این سوییچها را مشاهده میکنید.
سوییچ | توضیح |
netstat -a | نمایش تمامی اتصالات TCP فعال و پورتهای TCP و UDP که کامپیوتر در حال استفاده از آنهاست. |
netstat -e | نمایش آمار اترنت شامل بستهها و بایتهای ارسال و دریافت شده قابل ترکیب با سوییچ -s |
netstat -n | نمایش اتصالات TCP فعال با آدرسها و پورتها بهصورت عددی، بدون نمایش نام |
netstat -o | نمایش اتصالات TCP فعال همراه با PID مربوط به هر اتصال قابل ترکیب با سوییچ -a، -n یا -p |
netstat -p <Protocol> | نمایش اتصالات مرتبط با یک پروتکل خاص مانند tcp، udp، ip، icmp قابل ترکیب با سوییچ -s |
netstat -s | نمایش آمار مربوط به هر پروتکل قابل ترکیب با سوییچ -p |
netstat -r | نمایش محتوای جدول مسیریابی IP |
netstat <interval> | تعیین زمان (بر حسب ثانیه) برای بهروزرسانی اطلاعات |
netstat ? | نمایش منوی راهنما برای دریافت اطلاعات بیشتر |
netstat -f | نمایش نام دامنه کامل و مشخص (FQDN) برای هر آدرس IP خارجی |
اگر بخواهید لیست کامل سوییچهای قابل استفاده در netstat را مشاهده کنید کافی است دستور netstat ? را وارد کنید.

نمایش خروجی دستور netsatat ?
1. دستور Netstat با سویچ-n (netstat -n)
اگر Netstat را با سویچ-n اجرا کنیم (netstat -n)، همان خروجیnetstat نمایش داده میشود، اما فقط اعداد نشان داده میشوند و نامها حذف میشوند.
برای مثال، در سمت چپ صفحه، دوباره همان دستور netstat را اجرا میکنیم. اگر دقت کنید، خروجی بلافاصله ظاهر نمیشود و خط به خط نمایش داده میشود. دلیل این موضوع این است که DNS برای تبدیل اعداد به نامها مورد استفاده قرار میگیرد و انجام این فرآیند کمی زمانبر است. بنابراین میبینید که نام کامپیوترهایی که سیستم ما به آنها متصل شده است همراه با نام پورتها نمایش داده میشود.

خروجی اجرای دستور netstat را با سویچ-n (netstat -n)
اما در سمت راست صفحه، اگر netstat را با سویچ-n اجرا کنیم، خروجی بسیار سریع خواهد بود. در واقع بلافاصله نمایش داده میشود. دلیل آن این است که DNS برای تبدیل اعداد به نامها استفاده نمیشود و فقط اعداد نمایش داده میشوند.
بنابراین به جای نام کامپیوترها، فقط آدرسهای IP آنها نمایش داده میشود. همین امر در مورد پورتها نیز صدق میکند: فقط شماره پورتها نشان داده میشود و نه نامهای آنها.
2. دستور Netstat با سویچ-a (netstat -a)
اگر netstat را با سویچ-a اجرا کنیم (netstat -a)، اطلاعات بیشتری را نمایش میدهد: نهتنها اتصالات فعلی را نشان میدهد بلکه پورتهای TCP و UDP که در حال گوش دادن (Listening) برای اتصال هستند را نیز مشخص میکند:
- در بالای خروجی، پورتهای TCP نمایش داده میشوند.
- در پایین خروجی، پورتهای UDP نمایش داده میشوند.

خروجی اجرای دستور netstat را با سویچ-a (netstat -a)
IP آدرس 0.0.0.0 مربوط به کامپیوتر ما است. دلیل این که مقدار همه صفر است این است که پورت روی یک آدرس IP خاص گوش نمیدهد بلکه روی تمام آدرسهای IP موجود در تمام رابطهای شبکه فعال است و از آنجا که آدرس IP محلی صفر است، طرف دیگر اتصال در ستون Foreign Address نیز در واقع کامپیوتر ما است.

با اجرای دستور netstat -a، در بخش بالایی، آدرسهای IPv4
میتوانید ببینید که نام کامپیوتر ما my PC است. همچنین شماره پورتهایی که روی کامپیوتر ما باز هستند را مشاهده میکنید. این پورتها یا در حال گوش دادن (Listening) برای اتصال هستند یا اتصالی را برقرار کردهاند.

اجرای دستور netstat -a، در بخش پایینی، آدرسهای IPv6
3. دستور Netstat با سویچ-b (netstat -b)
اگر بخواهید ببینید کدام برنامه این اتصالات را ایجاد کرده است، میتوانید از دستور netstat با سوئیچ -b استفاده کنید. این دستور برنامهای که باعث ایجاد هر اتصال شده است را نشان میدهد.
خروجی اجرای دستور netstat با سوئیچ -b
حالا اگر به خروجی نگاه کنیم، مشاهده میکنیم که اتصالات به دو وبسایت از طریق گوگل کروم انجام شدهاند که با chrome IE مشخص شده است. همچنین اتصال FTP از طریقFileZilla صورت گرفته است که یکی از برنامههای محبوب FTP محسوب میشود.
4. دستور Netstat با سویچ-f (netstat -f)
با دستور netstat با سوئیچ -f میتوانید نام دامنه کامل و مشخص (FQDN) آدرسهایی را که کامپیوتر به آنها متصل شده است را ببینید. بنابراین در خروجی میتوان وبسایتهای Yahoo و Example و همچنین سرور FTP که سیستم ما به آن متصل است را بهوضوح مشاهده کرد.

اجرای دستور netstat با سوئیچ -f
5. دستور Netstat با ترکیب انواع سوییچ
توجه داشته باشید که نیازی نیست سوییچها را بهصورت جداگانه استفاده کنید بلکه میتوانید آنها را ترکیب کنید تا خروجی مورد نظر خود را دریافت کنید. بهعنوان مثال، با ترکیب دو سوییچ -b و -f و. با اجرای دستور netstat -bf، خروجی زیر نمایش داده میشود:
- سوییچ -b نام برنامهای که برای اتصال استفاده شده است را نمایش میدهد.
- سوییچ -f نام دامنه کامل و مشخص (FQDN) آدرسهای متصل را نشان میدهد.

اجرای دستور netstat -bf
همچنین با ترکیب دو سوییچ -a و -n و با اجرای دستور netstat -an، خروجی زیر نمایش داده میشود:

اجرای دستور netstat -an
همانطور که در خروجی مشاهده میکنید اتصالات فعال فعلی و پورتهایی که در حال گوش دادن برای اتصال هستند با استفاده از سویچ -a نمایش داده شدهاند. همچنین خروجی بهصورت فوری نمایش داده میشود زیرا فقط اعداد را نشان میدهد و نامها حذف شدهاند که این ویژگی توسط سوییچ -n اعمال شده است.
مطالب مرتبط: آموزش دستورات عمومی شبکه در محیط cmd
سوالات متداول درباره دستور netstat
چگونه میتوان با netstat پورتهای باز را مشاهده کرد؟
با اجرای دستور netstat -a، میتوانید لیست تمام پورتهای TCP و UDP که سیستم در حال استفاده از آنهاست را ببینید.
netstat روی چه سیستمعاملهایی اجرا میشود؟
netstat روی سیستمعاملهای ویندوز، لینوکس، یونیکس و FreeBSD استفاده میشود.
چگونه میتوان با netstat اتصالات مشکوک را شناسایی کرد؟
بخش Foreign Address در خروجی دستور netstat، آدرسهای IP خارجی را نمایش میدهد. بررسی این بخش میتواند به شناسایی ارتباطات ناشناخته یا مشکوک کمک کند.
وضعیت Listening در netstat به چه معناست؟
اگر پورتی در حالت و وضعیت گوش دادن یاListening باشد یعنی منتظر دریافت اتصال از دستگاههای دیگر و آماده ارتباط است.
آنچه درباره Netstat در این مقاله خواندیم
در این مقاله با ابزار خط فرمان netstat آشنا شدیم؛ ابزاری که پشت ظاهر سادهاش، تواناییهای قابلتوجهی در نظارت و تحلیل شبکه نهفته است. از بررسی اتصالات فعال و پورتهای باز گرفته تا شناسایی تهدیدات بالقوه و تروجانهای پنهان، netstat ابزاری است که هر مدیر شبکه یا کاربر حرفهای باید به خوبی بشناسد و به کار بگیرد.
با استفاده از سوییچهای مختلف این دستور، میتوانید دیدی جامع نسبت به مسیرهای ارتباطی، مصرف پهنای باند، و نرمافزارهای درگیر در اتصالات شبکه به دست بیاورید. در عصری که تهدیدات سایبری پیچیدهتر و هدفمندتر از همیشه شدهاند، این آگاهی میتواند تفاوت میان امنیت و آسیبپذیری را رقم بزند.
در کنار استفاده از ابزارهایی مثل netstat، آنچه امنیت واقعی شبکه را تضمین میکند، راهکارهای حرفهای و یکپارچه امنیتی است. ما در فالنیک خدمات امنیت شبکه را با تمرکز بر پیشگیری، نظارت مداوم و واکنش سریع ارائه میدهیم؛ از پیادهسازی فایروالها و سیستمهای تشخیص نفوذ گرفته تا رمزنگاری دادهها، کنترل دسترسی، و پایش هوشمند ترافیک شبکه. اگر به دنبال امنیت پایدار و قابل اتکا برای شبکه سازمانی خود هستید، میتوانید روی لینک زیر بزنید یا با شماره 0218363 تماس بگیرید.
خلاصه این مقاله
دستور Netstat یک ابزار خط فرمان است که برای عیبیابی شبکه، بررسی وضعیت شبکه، پیکربندیها و فعالیتهای مرتبط با اسکن پورتها بسیار کاربردی است. این ابزار برای ویندوز، لینوکس، یونیکس، macOS وBSD در دسترس است. از طریق این ابزار میتوان میزان مصرف پهنای باند، وجود بدافزارهای احتمالی و پیکربندی مسیرهای ارتباطی را بررسی کرد که به افزایش امنیت و بهینهسازی شبکه کمک میکند. این ابزار با کمک زیردستورات یا سوییچها میتواند خروجیهای مختلفی را نمایش دهد.