جستجو در محصولات

گالری پروژه های افتر افکت
گالری پروژه های PSD
جستجو در محصولات


تبلیغ بانک ها در صفحات
ربات ساز تلگرام در صفحات
ایمن نیوز در صفحات
.. سیستم ارسال پیامک ..
اشکال زدائي شبکه هاي مبتني بر TCP/IP
-(8 Body) 
اشکال زدائي شبکه هاي مبتني بر TCP/IP
Visitor 1526
Category: دنياي فن آوري
ipconfig ، يکي از دستورات مفيد به منظور بررسي وضعيت پيکربندي TCP/IP در کامپيوترهاي سرويس دهنده و يا سرويس گيرنده اي است که بر روي آنان ويندوز نصب شده است . در يونيکس و لينوکس از دستور ifconfig در اين رابطه استفاده مي شود . در سيستم هائي که بر روي آنان ويندوز 9x و يا ME نصب شده است ، مي توان از دستور winipcfg استفاده نمود .

استفاده از ipconfig

براي استفاده از دستور فوق، کافي است نام آن را از طريق پنجره command prompt تايپ نمود . عملکرد ipconfig و اطلاعاتي که در اثر اجراي آن نمايش داده خواهد شد به نوع سوئيچ استفاده شده ، بستگي دارد .
استفاده از ipconfig بدون سوئيچ ،اطلاعات پيکربندي TCP/IP در ارتباط با هر يک از آداپتورهاي موجود بر روي سيستم را نمايش خواهد داد:
• آدرس IP
• Subnet Mask
• Default gateway
• اطلاعات سرويس دهنده DNS
• Domain

تايپدستور

خروجي

C:\> ipconfig

 Ethernet adapter MyLan1:

Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . .   : 10.10.1.1
Subnet Mask . . . . . . . . . . . : 255.0.0.0
Default Gateway . . . . . . . . . :

PPP adapter My ISP:

Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . .   : 10.1.1.216
Subnet Mask . . . . . . . . . . . : 255.255.255.255
Default Gateway . . . . . . . . . : 10.1.1.216

دستور فوق ، اطلاعات مربوط به اتصالات از نوع PPP که از آنان در Dialup و VPN استفاده مي شود را نيز نمايش خواهد داد .
استفاده از ipconfig به همراه سوئيچ all ، علاوه بر نمايش اطلاعات اشاره شده در بخش قبل ، اطلاعات ديگري را نيز نمايش خواهد داد :
• آدرس سخت افزاري کارت شبکه ( آدرس MAC )
• اطلاعات مربوط به DHCP

تايپدستور

خروجي

C:\> ipconfig /all

 Windows 2000 IP Configuration

Host Name . . . . . . . . . . . . : srco
Primary DNS Suffix . . . . . . . : srco.ir
Node Type . . . . . . . . . . . . : Broadcast
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
DNS Suffix Search List. . . . . . : srco.ir

Ethernet adapter MyLan1:

Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : D-Link DFE-680TX CardBus PC Card
Physical Address. . . . . . . . . : 00-50-BA-79-DB-6A
DHCP Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . .    : 10.10.1.1
Subnet Mask . . . . . . . . . . .  : 255.0.0.0
Default Gateway . . . . . . . . . :
DNS Servers . . . . . . . . . . .  : 127.0.0.1
PPP adapter My ISP:

Connection-specific DNS Suffix . :
Description . . . . . . . . . . .    : WAN (PPP/SLIP) Interface
Physical Address. . . . . . . . . : 00-53-45-00-00-00
DHCP Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . .    : 10.1.1.216
Subnet Mask . . . . . . . . . . . : 255.255.255.255
Default Gateway . . . . . . . . .: 10.1.1.216
DNS Servers . . . . . . . . . . . : x1.y1.z1.w1
                                            x2.y2.z2.w2

ساير سوئيچ هاي دستور ipconfig : با استفاده از دستور ipconfig و برخي سوئيچ هاي آن ( release ,renew ) ، مي توان اطلاعات مربوط به پيکربندي TCP/IP ارائه شده توسط سرويس دهنده DHCP را که در اختيار يک سرويس گيرنده قرار داده شده است را آزاد و يا آنان را مجددا" از سرويس دهنده درخواست نمود . فرآيند فوق به منظور تشخيص عملکرد صحيح سرويس دهنده DHCP در شبکه بسيار مفيد و کارساز است . ( آيا سرويس دهنده DHCP وظايف خود را به خوبي انجام مي دهد ؟ آيا يک سرويس گيرنده قادر به برقراري ارتباط با سرويس دهنده DHCP به منظور درخواست و دريافت اطلاعات پيکربندي TCP/IP مي باشد ؟ ) . دستور ipconfig داراي سوئيچ هاي مفيد متعددي است که مي توان با توجه به نوع خواسته خود از آنان استفاده نمود :

عملکرد

سوئيچ 

 آدرس IPپيکربندي شده توسط  DHCPرا آزاد مي نمايد . در صورتي که سوئيچ فوق را به تنهائي و بدون مشخص نمودن adapterتايپ نمائيم،پيکربندي IPبراي تمامي آداپتورهاي موجود بر روي کامپيوتر، آزاد مي گردد. در صورتي که قصد آزاد سازي اطلاعات پيکربندي مربوط به يک آداپتور خاص را داشته باشيم ، مي بايست به همراه سوئيچ فوق نام آداپتور نيز مشخص گردد .
( مثلا" ipconfig / release MyLan1 )

 / release [ adapter]

يک آدرس IPرا بر اساس اطلاعات جديدي که از طريق DHCPدريافت مي نمايد ، پيکربندي مجدد مي نمايد . در صورتي که سوئيچ فوق را به تنهائي و بدون مشخص نمودن adapterتايپ نمائيم،پيکربندي IP  تمامي آداپتورهاي موجود بر روي کامپيوتر، مجددا" انجام خواهد شد.  در صورتي که قصد ايجاد مجدد اطلاعات پيکربندي مربوط به يک آداپتور خاص را داشته باشيم ، مي بايست به همراه سوئيچ فوق نام آداپتور نيز مشخص گردد.
( مثلا" ipconfig / renewMyLan1 )

 /renew [adapter]

حذف محتويات Dns Resolver Cache

/ flushdn

Refreshنمودن تمامي اطلاعات توليد شده توسط DHCPبراي آداپتور و ريجستر نمودن اسامي Dns

/ registerdn

 نمايش محتويات DnsResolver Cache

/ displaydns

نمايش تمامي DHCPClass IDمجاز براي آداپتور

/ showclassid [adapter]

تغيير  DHCP ClassID 

/setclassid [adapter] [classidtoset ]

توضيحات :

• تشخيص نام آداپتور : نام آداپتور را مي توان با کليک ( Right click ) بر روي Network Neighborhood و انتخاب گزينه properties، از طريق پنجره Network and Dial-up Connections مشاهده نمود ( اسامي آدپتورها ، نام آيکون ها مي باشند ) .
• مفهوم DNS Cache : زماني که يک سيستم ، ترجمه ( تبديل نام host به آدرس ) را از طريق يک سرويس دهنده DNS دريافت مي نمايد ، براي مدت زمان کوتاهي آن را در يک Cache ذخيره مي نمايد . در صورتي که مجددا" از نام استفاده شود ، پشته TCP/IP محتويات Cache را به منظور يافتن رکورد درخواستي بررسي مي نمايد . بدين ترتيب امکان پاسخگوئي سريعتر به درخواست ترجمه نسبت به حالتي که در خواست براي يک سرويس دهنده DNS ارسال مي شود ، فراهم مي گردد . با توجه به اين که اندازه Cache نمي تواند از يک ميزان منطقي و تعريف شده تجاوز نمايد ، هر رکورد موجود در Cache پس از مدت زماني خاص حذف مي گردد. در صورت اعمال هرگونه تغييرات در DNS ( مثلا" تغيير يک رکورد DNS ) ، مي توان با استفاده از دستور ipconfig/flushdns تمامي رکوردهاي موجود در cache را حذف نمود . بدين ترتيب در صورت درخواست يک نام host ، با سرويس دهنده DNS مشورت مي گردد و نتايج مجددا" در Cache ذخيره خواهند شد . دستور ipconfig / displaydns ، محتويات cache را نمايش خواهد داد. از اطلاعاتي که نمايش داده مي شود ، مي توان به منظور تشخيص اين موضوع که آيا براي ترجمه نام به آدرس از Cache و يا سرويس دهنده DNS استفاده شده است ، کمک گرفت .
• موارد استفاده از دستور Ipconfig : از دستور فوق در مواردي که قصد تشخيص اين موضوع را داريم که آيا سرويس دهنده DNS و DHCP در شبکه به درستي وظايف خود را انجام مي دهند ، استفاده مي شود( علاوه بر مشاهده اطلاعات پيکربندي TCP/IP ) . مثلا" با استفاده از سوئيچ هاي release و renew ، مي توان براحتي تشخيص داد که آيا در زمينه دريافت اطلاعات پيکربندي از يک سرويس دهنده DHCP مشکل خاصي وجود دارد .از سوئيچ هاي مرتبط با DNS مي توان به منظور اعمال تغييرات پيکربندي ، بهنگام سازي cache محلي و يا ريجستر نمودن اطلاعات پيکربندي جديد با يک سرويس دهنده DNS ، استفاده نمود .
• امکانات جانبي به همراه دستور ipconfig : با استفاده از سوئيچ all / اطلاعات متنوعي در رابطه با پيکربندي TCP/IP نمايش داده خواهد شد . در صورتي که حجم اطلاعات بگونه اي است که مي بايست صفحه را scroll نمود ، مي توان از More| به همراه دستور ipconfig استفاده نمود . در صورت تمايل مي توان خروجي دستور ipconfig را در مقابل ارسال بر روي دستگاه استاندارد خروجي ( صفحه نمايشگر ) ، در يک فايل ذخيره نمود تا امکان بررسي سريعتر نتايج و رفع مشکل فراهم گردد.
( ipconfg /all > test1.txt )
همانگونه که اشاره گرديد در سيتم هائي که از لينوکس و يا يونيکس استفاده مي نمايند ، از دستور ifconfig استفاده مي گردد. از دستور فوق براي نمايش اطلاعات پيکربندي IP و اعمال تغييرات لازم استفاده مي شود .

دستور Ping

دستور Ping مي تواند نقطه شروع مناسبي براي اشکال زدائي يک شبکه مبتني بر TCP/IP باشد . از برنامه فوق براي تست وضعيت ارتباط بين دو سيستم موجود در شبکه استفاده مي شود . اين برنامه از پروتکل ICMP ( اقتباس شده از Internet Control Message Protocol ) به منظور مبادله بسته هاي اطلاعاتي با سيستم راه دور استفاده مي کند (ICMP از پروتکل UDP براي حمل داده استفاده مي نمايد ) .
برنامه Ping در ابتدا توسط Mike Muuss و با عملکردي ساده ، پياده سازي گرديد. اين برنامه از پروتکل ICMP به منظور ارسال پيام هاي UDP به يک آدرس ( ECHO REQUEST ) استفاده مي نمايد و پس از ارسال پيام ، در انتظار دريافت پاسخ ( ECHO REPLY ) مي ماند . سيستم راه دور، يک بسته اطلاعاتي از نوع پاسخ ( REPLY ) را براي فرستنده پيام ارسال مي نمايد و بر اساس آن Round-trip ( ارسال يک درخواست و دريافت پاسخ ) محاسبه مي گردد .
ساختار بسته هاي اطلاعاتي ECHO REQUEST و ECHO REPLY در جدول زير نشان داده شده است . از فيلد اطلاعاتي "نوع پيام " به منظور مشخص نمودن نوع پيام ، استفاده مي شود . در صورتي که مقدار اين فيلد هشت باشد ، بسته اطلاعاتي از نوع ECHO REQUEST و در صورتي که مقدار اين فيلد صفر باشد ، بسته اطلاعاتي از نوع ECHO REPLY خواهد بود .

ساختار بسته هاي اطلاعاتي  ECHO REQUESTو ECHO REPLY

نوع پيام ICMP
( صفر و يا هشت )

کد صفر

CheckSum

Identifier

Sequence number

Optionaldata

استفاده از Ping

Ping داراي عملکردي بسيار ساده است . در ابتدا فيلد Sequence number مقدار صفر را خواهد گرفت و به ازاي ارسال هر بسته اطلاعاتي، يک واحد به آن اضافه مي شود . مقدار فيلد Identifier ، منحصر بفرد بوده تا امکان تشخيص بسته هاي اطلاعاتي برگردانده شده وجود داشته باشد ( در مواردي که بيش از يک کاربر بطور همزمان از دستور Ping بر روي يک ماشين استفاده مي نمايند) . در اکثر نسخه هاي يونيکس و لينوکس ، مقدار فيلد Identifier معادل Process ID پردازه اي در نظر گرفته مي شود که پيام ECHO REQUEST را ارسال نموده است .
پس از دريافت پيام ECHO REQUEST توسط کامپيوتر دريافت کننده ، وي يک پاسخ ( REPLY ) را براي فرستنده ارسال مي نمايد که شامل Identifier و Sequence number مشابه بسته اطلاعاتي ارسالي است .
با توجه به پاسخ ارائه شده توسط دريافت کننده بسته هاي اطلاعاتي مي توان به نتايج متفاوتي دست يافت :
• تمامي بسته هاي اطلاعاتي ارسالي ، مجددا" برگردانده مي شوند . ( بين سيستم ارسال کننده و دريافت کننده مشکل ارتباطي وجود ندارد ) .
• برخي از بسته هاي اطلاعاتي ارسالي، توسط دريافت کننده برگردانده نمي شوند ( کاهش بسته هاي اطلاعاتي ارسالي ) و يا با اولويتي که ارسال مي گردند با همان اولويت دريافت نمي شوند . اين مسئله مي تواند نشاندهنده وجود اشکال در يک شبکه باشد . در اين رابطه احتمال ديگري نيز وجود دارد : سيستم از راه دور ( سيستمي که مي بايست به پيام هاي ارسالي پاسخ دهد ) درگير پردازش هاي متعددي است و قادر به پاسخگوئي پيام هاي ECHO REQUEST در مدت زمان مشخص شده نمي باشد .
دستور Ping ، مدت زمان Round-trip بر حسب ميلي ثانيه را محاسبه و نمايش مي دهد . براي محاسبه مدت زمان Round-trip ، برنامه ping زمان ارسال بسته اطلاعاتي را در فيلد Optional data قرار داده و پس از برگشت بسته اطلاعاتي، زمان ذخيره شده را با زمان جاري سيستم مقايسه نموده تا در نهايت مدت زمان رفت و برگشت يک بسته اطلاعاتي مشخص گردد . دستور Ping همچنين مقدار TTL ( اقتباس شده از Time To Live ) را در خروجي نمايش خواهد داد .TTL مدت زمان اعتبار يک بسته اطلاعاتي را مشخص نموده و هر host و يا روتر موجود در مسير بسته اطلاعاتي معمولا" به ميزان يک ثانيه آن را کاهش مي دهد .
در برخي موارد ممکن است در زمان ارسال درخواست هاي متوالي ping ، مدت زمان Round-trip کاهش پيدا نمايد . اين موضوع مي تواند دلايل متعددي داشته باشد :
• ماشين مقصد ( و يا روتر gateway ) در آن مقطع زماني در جدول محلي ARP نمي باشد و مدت زماني طول خواهد کشيد ( ميلي ثاينه ) تا arp آدرس سخت افزاري اولين بسته اطللاعاتي را بدست آورد .
• در صورتي که به همراه دستور ping در مقابل استفاده از آدرس IP از نام host استفاده شود ، ممکن است يافتن سرويس دهنده DNS که برنامه ping مي بايست با آن ارتباط برقرار نمايد( ترجمه نام host به آدرس IP ) ، زمان خاص خود را داشته باشد .
در زمان استفاده از دستور Ping بهتر است که در ابتدا عمليات ping را در ارتباط با اينترفيس محلي و يا آدرس
( Loopback ( IP: 127.0.0.1 شروع نمود . آدرس loopback در پشته TCP/IP استفاده شده و مي توان از آن به منظور حصول اطمينان از صحت کارکرد پشته محلي ، استفاده نمود . آدرس فوق ، يک آدرس IP رزو شده است که امکان استفاده از آن در اينترنت وجود ندارد . در صورتي که نمي توان آدرس IP سستم محلي را ping نمود ، ممکن است پيکربندي سيستم داراي مشکل باشد . در صورتي که نمي توان آدرس Loopback را ping نمود ، ممکن است پشته TCP/IP و يا آداپتور شبکه مشکل داشته باشند .

استفاده از Ping در ويندوز

جدول زير گرامر دستور Ping به همراه عملکرد برخي از سوئيچ هاي متداول آن را نشان مي دهد :

گرامر دستور Pingدر ويندوز

ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
[-r count] [-s count] [[-j host-list] | [-k host-list]]  
[-w timeout] destination-list

عملکرد

سوئيچ

به صورت پيوسته عمليات Pingرا انجام مي دهد. براي توقف برنامه pingمي توان از کليدهاي CTRL+Cاستفاده نمود .

-t

 ترجمه آدرس به نام را انجام مي دهد

-a

تعداد بسته هاي اطلاعاتي ICMP ECHO REQUESTارسالي را مشخص مي نمايد .

-n count

اندازه بافر را ارسال مي نمايد.

-1 size

 مقدار TTLرا مشخص مي نمايد .

-i TTL

مدت زمان انتظار پاسخ برحسب ميلي ثانيه

-w timeout

نحوه استفاده از دستور Ping :

تايپدستور

خروجي

C:\>ping www.google.com  

 Pinging www.google.akadns.net [64.233.187.99] with 32 bytes of data:

Reply from 64.233.187.99: bytes=32 time=421ms TTL=238
Reply from 64.233.187.99: bytes=32 time=430ms TTL=238
Reply from 64.233.187.99: bytes=32 time=431ms TTL=238
Reply from 64.233.187.99: bytes=32 time=430ms TTL=238

Ping statistics for 64.233.187.99:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 421ms, Maximum = 431ms, Average = 428ms

توضيحات :

• چهار بسته اطلاعاتي ارسال شده است که همان چهار بسته نيز دريافت شده اند ( در زمان انتقال، هيچيک از بسته هاي اطلاعاتي گم نشده اند )
• زمان پاسخ حدودا" 430 ميلي ثانيه بوده است
• اندازه بسته هاي اطلاعاتي ارسالي ، سي و دو بايت است .
اشکال زدائي ارتباط بين گره هاي يک شبکه با استفاده از دستور Ping
براي اشکال زدائي ارتباط بين گره هاي يک شبکه ، مي توان مراحل زير را دنبال نمود :
• آيا پيکربندي TCP/IP بر روي سيسم محلي ( ارسال کننده ) درست است ؟ براي پاسخ به سوال فوق مي توان آدرس IP سيستم محلي را Ping و نتايج را مشاهده نمود . در صورت عدم ارائه پاسخ مناسب ،مي تواند مشکل مربوط به پيکربندي تنظيمات TCP/IP بر روي سيستم محلي باشد .
• آيا امکان ping نمودن نام host وجود دارد ؟ براي پاسخ به سوال فوق به همراه دستور ping از نام host استفاده نمائيد . ping ، قبل از ارسال بسته اطلاعاتي براي host مورد نظر ، نام آن را به يک آدرس IP ترجمه مي نمايد . اگر آدرسي که Ping ترجمه مي نمايد ، آدرسي نيست که تصور آن را داريد ، مي بايست پيکربندي سيستم خود را بررسي نمائيد . در چنين مواردي ممکن است شما کامپيوتر خود را بگونه اي پيکربندي نموده ايد که از يک آدرس IP خاص استفاده نمايد ولي در سرويس دهنده DNS ، به کامپيوتر شما يک آدرس IP ديگر مرتبط شده است . در اين رابطه مي توان از دستور nslookup به منظور اشکال زدائي ترجمه استفاده نمود .
• آيا امکان ارتباط با سيستمي ديگر در شبکه وجود دارد ؟ براي پاسخگوئي به سوال فوق مي بايست يک سيستم ديگر را که مطمئن هستيد در Subnet شما وجود دارد ، ping نمائيد . در صورتي که نتايج موفقيت آميز باشد ، شما مي توانيد با اعضاء broadcast Domain ارتباط برقرار نمائيد .
• آيا امکان ارتباط با Default Gateway وجود دارد ؟ Default Gateway ، روتر و يا دستگاهي ديگر است که Subnet شما را به ساير شبکه ها متصل مي نمايد. در صورت عدم امکان ping نمودن Default Gateway ، دو احتمال مي تواند وجود داشته باشد : احتمال اول : ممکن است آدرس Subnet شما اشتباه باشد . در چنين مواردي مي بايست پيکربندي سيستم بررسي گردد تا اين اطمينان حاصل شود که شما از يک آدرس درست براي روتر و يا host ديگر که مسئول فورواردينگ بسته هاي اطلاعاتي در Local Subnet است ، استفاده مي نمائيد . احتمال دوم : ممکن است خود Default gateway داراي مشکل باشد . براي اطمينان از اين موضوع ، مي توان از طريق يک سيستم ديگر موجود در شبکه ، Default Gateway را ping نمود . در صورتي که مشکل همچنان باقي است ، مي بايست براي حل مشکل بر روي Default Gateway متمرکز گرديد .
• آيا امکان ارتباط با ساير سيستم هاي موجود در خارج از شبکه محلي وجود دارد ؟ براي پاسخ به سوال فوق ، مي توان يک سيستم راه دور را ping نمود . در صورتي که عمليات توام با موفقيت باشد ، ارتباط شما از طريق Default gateway به درستي برقرار شده است و در صورت عدم موفقيت ، دلايل متعددي مي تواند وجود داشته باشد : بروز اشکال در سيستم مقصد ، بروز اشکال در روتينگ به سيستم مقصد و يا تجهيزات موجود در خارج از شبکه محلي
و اما دو نکته که بد نيست به آنان نيز اشاره اي داشته باشيم :
• نکته اول : همانگونه که ملاحظه گرديد ، دستور ping داراي امکاناتي مفيد و قدرتمند به منظور اشکال زدائي ارتباط بين گره ها در شبکه هاي مبتني بر TCP/IP است، ولي Ping of Death که احتمالا" نام آن را تاکنون شنيده ايد داراي وضعيتي اينچنين نمي باشد . Ping of Death يک نوع تهاجم در شبکه هاي کامپيوتري است که در آن يک مهاجم با استفاده از برنامه هائي خاص ، بسته هاي اطلاعاتي ICMP را توليد مي نمايد که داراي اندازه اي بيش از حد مجاز مي باشند . در صورتي که نرم افزار موجود بر روي سيستم مقصد به درستي Patch نشده باشد ، بسته هاي اطلاعاتي ارسالي توسط مهاجمان دريافت و بخش عمده اي از حافظه را اشغال نموده و مي تواند سرريز حافظه را بدنبال داشته باشد . مديران شبکه مي بايست يک محيط ايمن به منظور استفاده از ping را در شبکه فراهم نموده تا امکان تحقق چنين حملاتي در شبکه وجود نداشته باشد .
• نکته دوم : در صورتي که نتوان يک کامپيوتر راه دور را ping نمود ، نمي توان با قاطعيت اعلام نمود که سيستم مقصد به شبکه متصل نمي باشد و يا مشکل مربوط به کابل کشي شبکه است . در اين رابطه دلايل متعددي مي تواند وجود داشته باشد : بروز اشکال در هر يک از دستگاه هاي موجود در مسير ارتباطي نظير هاب ، سوئيچ ، روتر و يا Default Gateway . به همين دليل ، مي بايست همواره يک طرح کامل از شبکه به همراه جزئيات مربوطه وجود داشته باشد تا در صورت بروز مشکلاتي اينچنين به سرعت بتوان مسير مربوطه را براي اشکال زدائي بررسي نمود . در چنين مواردي ، مي بايست هر دستگاه موجود در مسير ارتباطي بررسي گردد .
هر بسته اطلاعاتي در يک شبکه کامپيوتري داراي مسيري مشخص از زمان ارسال توسط فرستنده تا زمان دريافت توسط گيرنده ( گيرندگان ) مي باشد . در صورتي که مقصد يک بسته اطلاعاتي براي سيستمي خارج از شبکه محلي باشد ، وي در مسير خود از بين دستگاه ها و يا روترهاي متعددي عبور مي نمايد تا به مقصد نهائي خود برسد . مثلا" زماني که آدرس يک وب سايت را در مرورگر خود تايپ مي نمائيد ، درخواست شما از بين روترها و کامپيوترهاي متعددي عبور مي نمايد تا در نهايت به سرويس دهنده مقصد برسد .
براي مشاهده مسير يک بسته اطلاعاتي، از دستور tracerout که در برخي از سيستم هاي عامل نظير ويندوز ( از ويندور 98 تا 2003 ) به آن tracert گفته مي شود ، استفاده مي گردد.در اکثر سيستم هائي که از يونيکس و لينوکس استفاده مي نمايند ، مي توان از دستور traceroute به منظور مشاهده مسير يک بسته اطلاعاتي استفاده نمود .

موارد استفاده از دستور tracert

• عدم امکان ping نمودن يک کامپيوتر موجود در خارج از Gateway پيش فرض . با استفاده از دستور فوق ، مي توان کامپيوترها و روترهاي موجود در مسير يک بسته اطلاعاتي تا رسيدن به مقصد نهائي را مشاهده نمود . بدين ترتيب امکان مشاهده محلي که از آن نقطه به بعد امکان حرکت بسته اطلاعاتي وجود ندارد ، فراهم مي گردد .
• در صورتي که امکان حرکت بسته هاي اطلاعاتي از مبداء به مقصد وجود نداشته باشد و يا زمان پاسخ دستور ping زماني نامعقول و طولاني باشد .
• آگاهي از محل توقف يک بسته اطلاعاتي در شبکه

نحوه عملکرد دستور tracert

دستور فوق از فيلد TTL مربوط به IP در ICMP Echo Request و پيام هاي ICMP Time Exceeded به منظور تعيين مسير مبداء تا مقصد يک بسته اطلاعاتي استفاده مي نمايد . عملکرد اين دستور نيز مشابه ping است و وي نيز از پيام هاي مبتني بر ICMP براي يافتن هر يک از دستگاه هاي موجود در مسير يک بسته اطلاعاتي ، استفاده مي نمايد . براي تشخيص مسير حرکت ، به TTL موجود در بسته اطلاعاتي يک مقدار اوليه نسبت داده مي شود . TTL ، يک عدد صحيح است که حداکثر تعداد hop ( گره و يا روتر ) را که يک بسته اطلاعاتي در مسير خود با آنان برخورد مي نمايد را مشخص مي نمايد ( قبل از اين که توسط IP دورانداخته شود ). مقدار TTL در ابتدا يک خواهد بود و هر روتر و دستگاه موجود در مسير بسته اطلاعاتي ، يک واحد به آن اضافه مي نمايد .
بدين ترتيب برنامه tracert قادر به دريافت پيام TIME_EXCEEDED ICMP از هر يک از روترها و يا ساير دستگاه هاي موجود در مسير يک بسته اطلاعاتي مي باشد .
شکل زير نحوه عملکرد دستور tracert را نشان مي دهد .
همانگونه که در شکل فوق مشاهده مي گردد ، کامپيوتر A يک مجموعه از پيام هاي ICMP ECHO REQUEST را توليد و آنان را براي کامپيوتر B ارسال مي نمايد. زماني که اولين بسته اطلاعاتي ارسال مي شود ، مقدار TTL يک خواهد بود و در روتر شماره يک مقدار آن صفر شده و يک پيام TIME_EXCEEDED ICMP ، براي کامپيوتر A ارسال مي گردد . کامپيوتر A مجددا" يک بسته اطلاعاتي ICMP ديگر را ارسال مي نمايد . ولي اين مرتبه مقدار TTL آن دو در نظر گرفته مي شود . در چنين حالتي روتر اول ، بسته اطلاعاتي را عبور داده و يک واحد از مقدار TTL کم مي نمايد و آن را براي روتر دوم ارسال مي نمايد . ( در اين مقطع مقدار TTL=1 شده است ) . روتر دوم مقدار TTL را بررسي نموده و از آن يک واحد کم خواهد کرد . با توجه به اين که مقدار TTL=0 صفر شده است ، مجددا" يک پيام TIME_EXCEEDED ICMP براي کامپيوتر A ارسال مي گردد . زماني که ICMP ECHO REQUEST به کامپيوتر B مي رسد ، وي يک ICMP Echo Reply را برمي گرداند . بدين ترتيب ، کامپيوتر A قادر به تشخيص تعداد hop موجود در مسير خواهد بود.

استفاده از دستور tracert

جدول زير گرامر دستور tracert به همراه عملکرد برخي از سوئيچ هاي متداول آن را نشان مي دهد :

گرامر دستور tracertدر ويندوز

tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name

عملکرد

سوئيچ

نام hostرا به آدرس IPترجمه نمي نمايد .

-d

حداکثر تعداد hopبراي جستجوي مقصد را مشخص مي نمايد .

-h maximum_hops

مدت زمان انتظار براي دريافت پاسخ بر حسب ميلي ثانيه را مشخص مي نمايد .

-w timeout

نحوه استفاده از دستور tracert :

تايپدستور

خروجي

C:\>tracert www.google.com

Tracing route to www.google.akadns.net [66.102.11.99]
over a maximum of 30 hops:

1 180 ms 170 ms 191 ms x1.y1.z1.w1
2 201 ms 190 ms 190 ms x2.y2.z2.w2
3 201 ms 180 ms 190 ms x3.y3.z3.w3
4 * 217.218.96.253 reports: Destination net unreachable.

Trace complete.

توضيحات :

• در مواردي که در مسير يک بسته اطلاعاتي مشکل خاصي ايجاد شود و يا پيام ICMP Time Exceeded برگردانده نشود ، در خروجي علامت "ستاره" نشان داده خواهد شد ( در سه ستوني که معمولا" زمان round-trip را نمايش مي دهند ) . در چنين مواردي يک پيام Request timed out در قسمت سمت راست نمايش داده مي شود .
• در برنامه اوليه tracert مقدار پورت در هدر UDP ، يک پورت UNREACHABLE در نظر گرفته مي شد . بنابراين زماني که بسته اطلاعاتي ICMP به مقصد نهائي خود مي رسد ، يک پيام ICMP DESTINATION UNREACHABLE توسط کامپيوتر مقصد برگردانده مي شود .
• در صورتي که آخرين گره مشاهده شده در خروجي دستور tracert مقصد نهائي باشد ، تمامي گره ها و يا روترهاي موجود در مسير نمايش داده شده اند .
Add Comments
Name:
Email:
User Comments:
SecurityCode: Captcha ImageChange Image