یکی دیگر از دستوراتی که برای خطایابی TCP/IP می شود از آن استفاده کرد دستور netstat  می باشد.این دستور وضعیت پروتکل و کلیه ی ارتباطات و تنظیمات در حال حاضر TCP/IP شبکه ، کلیه ی پورتهایی که در حال استفاده هستند و همچنین جداول مسیریابی را نشان میدهد.در واقع این دستور کلیه ی ورودی ها و خروجی ها به کامپیوتر شما را کنترل و بررسی می کند.

همانطور که پیداست این اطلاعات مشخص می کنند که چه ارتباطاتی برقرار و چه عملیاتی در حال انجام است و در زمان جاری کدام پورتهای سیستم باز و در حال تبادل اطلاعات و برقراری session هستند.در واقع ترافیک شبکه را کنترل می کند و به شما می گوید که به طور کلی در شبکه چه خبر است !

همانطور که مشاهده می کنید،ستون اول پروتکلی که استفاده میشود را نشان می دهد.ستون دوم شامل local address  ها با پورتهایی که از آنها استفاده می کنند،میباشد.ستون سوم foreign address یعنی آدرس هایی که به بیرون از این کامپیوتر میرود یا از بیرون به درون این کامپیوتر وارد می شوند به علاوه ی پورتهایی که استفاده می کنند و در نهایت ستون آخر وضعیت ارتباط را نشان می دهد که به طور کلی برخی از این state ها شامل:

  • ESTABLISHED :یعنی پس از انجام SYN ،ارتباط در حال حاضر به طور کامل برقرار است.
  • TIME-WAIT:بعد از بستن یک فعالیت ،کلاینت در این وضعیت قرار می گیرد.
  • LISTENING :سرور در انتظار یک ارتباط است.

سوییچهای netstat


دستور netstat شامل سوییچهای زیر می باشد که برای مشاهده لیست سوییچها می توانید جلوی دستور ?/  را تایپ کنید.

a- : نمایش تمامی اتصالات TCP و UDP فعال در کامپیوتر.

b- : نمایش برنامهٔ درگیر با اتصالات شبکه‌ای نمایش داده شده در لیست خروجی.(در ویندوز ۲۰۰۰ و ویندوزهای قبل از آن و سایر سیستم‌عامل‌های غیرویندوزی امکان پذیر نیست)

e- : نمایش آماری مربوط به اترنت، از قبیل تعداد بایت‌ها و بسته‌های دریافتی و ارسالی. این پارامتر می‌تواند با s- نیز ترکیب شود.

n- : نمایش ارتباط‌های TCP فعال، هر چند که آی‌پی‌ها و پورت‌ها را به صورت عددی نمایش می‌دهد و تلاشی برای تشخیص نام آن‌ها نمی‌کند.

o- : نمایش اتصال‌های TCP فعال به همراه PID مربوط به آن اتصال.

p- : در ویندوز و بی‌اس‌دی، پروتکل مربوط به اتصال را نمایش می‌دهد.(TCP، UDP، ICMP، IP ، …)

p- : در لینوکس فرآیندهای مربوط به اتصال را نشان می‌دهد. (مانند کلید b- در ویندوز عمل می‌کند) (برای اجرای صحیح دستور باید دسترسی پایه یا root داشت.)

P- : در سولاریس، پروتکل مربوط به اتصال را نمایش می‌دهد.(TCP، UDP، ICMP، IP ، …)

r- : جدول هدایت آی‌پی‌ها را نشان می‌دهد.(معادل دستور route print در ویندوز است.)

s- : نمایش آمار به تفکیک پروتکل.

v- : وقتی که با b- استفاده شود، توالی اجزای برنامه‌ها را نشان می‌دهد.

h- یا help– : نمایش راهنمایی برای دستورات موجود. (مناسب برای سیستم‌های شبه یونیکس)

?/ : نمایش راهنمایی برای دستورات موجود. (فقط در ویندوز)

netstat از دید wikipedia.com


Examples

To display the statistics for only the TCP or UDP protocols, type one of the following commands:

netstat -sp tcp

netstat -sp udp

On Microsoft Windows:

To display active TCP connections and the process IDs every 5 seconds, type the following command (works on XP and 2003 only, or Windows 2000 with hotfix):

netstat -o 5

To display active TCP connections and the process IDs using numerical form, type the following command (works on XP and 2003 only, or Windows 2000 with hotfix):

netstat -no

To display all ports open by a process with id pid:

netstat -aop | grep "pid"

netstat از دید microsoft.com


Parameters used with this command must be prefixed with a hyphen () rather than a slash (/).
Netstat provides statistics for the following:

ProtoThe name of the protocol (TCP or UDP).
Local AddressThe IP address of the local computer and the port number being used. The name of the local computer that corresponds to the IP address and the name of the port is shown unless the -n parameter is specified. If the port is not yet established, the port number is shown as an asterisk (*).
Foreign AddressThe IP address and port number of the remote computer to which the socket is connected. The names that corresponds to the IP address and the port are shown unless the -n parameter is specified. If the port is not yet established, the port number is shown as an asterisk (*).
(state)Indicates the state of a TCP connection. The possible states are as follows:CLOSE_WAITCLOSED

ESTABLISHED

FIN_WAIT_1

FIN_WAIT_2

LAST_ACK

LISTEN

SYN_RECEIVED

SYN_SEND

TIMED_WAIT