همه چیز در مورد ping :

ساخت وبلاگ

 Ping  اصلی ترین  دستور  TCP/IPبرای عیب یابی اتصال – در دسترس  بودن و ترجمه اسامی (Name resolution) میباشد.در واقع می تواند نقطه شروع مناسبی برای اشکال زدائی یک  شبکه مبتنی  بر TCP/IP باشد .بیشتر مدیران شبکه با این دستور کاملا آشنا هستند و تقریبا هرروز از آن استفاده می کنند . ساده ترین کاربرد این دستوربرای تست  وضعیت ارتبا ط  بین دو سیستم موجود درشبکه می باشد و  همچنین مدت زمان ارسال  و دریافت پاکت اطلاعاتی نیز برآورد می شود.

 

برنامه Ping درابتدا توسط   Mike Muuss    و با عملکردی  ساده ،  پیاده  سازی  گردید  این  برنامه  از  پروتکل  ICMP  اقتباس  شده از( Internet Control Message Protocol )  به منظورمبادله  بسته ها ی اطلاعاتی با سیستم راه  دور به یک  آدرس ( ECHO REQUEST )  و از پروتکل    UDP برای حمل  داده  استفاده می نماید.

پس از ارسال پیام ، در انتظار دریافت پاسخ  ( ECHO REPLY )  می ماند . سیستم راه دور، یک بسته اطلاعاتی از نوع پاسخ( REPLY )  را برای  فرستنده پیام ارسال می نماید  و براساس آن ) Round-trip  ارسال یک درخواست و دریافت پاسخ محاسبه می گردد ). ساختار بسته های اطلاعاتی  ECHO REQUEST و ECHO REPLY درجدول زیرنشان داده شده است . از فیلد اطلاعاتی  “نوع پیام “  به منظور مشخص نمودن  نوع  پیام ، ستفاده می شود .  درصورتی که  مقدار این فیلد  هشت  باشد ، بسته اطلاعاتی از نوع  ECHO REQUEST  و در صورتی که مقدار این فیلد صفر باشد ، بسته اطلاعاتی از نوع ECHO  REPLY خواهد بود .

 استفاده از 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 را در ارتباط با اینترفیس محلی و یا آدرس:ip127.0.0.1 ( Loopback شروع نمود .آدرس loopback در پشته TCP/IP استفاده شده و می توان از آن به منظورحصول اطمینان ازصحت کارکرد پشته محلی،استفاده نمود. آدرس فوق یک آدرسIP رزوشده است که امکان استفاده ازآن دراینترنت وجود ندارد درصورتی که نمی توان آدرسIPسیستم محلی را ping نمود، ممکن است پیکربندی سیستم دارای مشکل باشد در صورتی که نمی توان آدرس Loopback را ping نمود ممکن است پشته TCP/IP و یا آداپتور شبکه مشکل داشته باشند .

شکل دستوری :

دستور ping به صورت IP > مقصد ping > می باشد. اگر پس از تایپ این دستوردر cmd (command promot) وزدن کلید Enter پیغام Reply داده شد به مفهوم برقراری ارتباط با (command promot) وزدن کلید Enter پیغام کامپیوتری است که IP یا اسم آنرا جلوی این دستورزده ایم ودرصورت مشاهده ی پیغام های دیگری که در زیر مشاهده می کنید به صورت زیر عمل می کنیم :
The Destination Host Unreachable Message

این پیغام بدین معنی است که مسیری به کامپیوتر مقصد پیدا نشده است.برای حل این مشکل کامپیوترخود را وارسی کنید وببینید آیا تنظیمات آن به درستی انجام شده است یا خیر مطمئن شوید که default gatewayدرست تنظیم شده است.
در زیرنمونه ای از این پیغام را مشاهده می کنید:

Pinging 24.67.54.233 with 32 bytes of data :
estination host unreachable .
Destination host unreachable.
Destination host unreachable.
estination host unreachable.
Ping statistics for 24.67.54.233 . 
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss,
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms

The Request Timed Out Message

شاید این پیغام را بسیاردیده باشید. این پیغام نشان دهنده این است که کامپیوتر شما درمدت مشخص تعیین شده ای پاسخ پاکت ارسال شده را دریافت نکرده است. اگر فرض کنیم مسیر فیزیکی ارتباطی کامپیوترما با کامپیوترمقصد مشکلی نداشته باشد این پیغام می تواند نشانگر این مسئله باشد که کامپیوترمقصد به شبکه وصل نیست، خاموش بوده و یا به درستی تنظیم نشده است. همچنین این پیغام می تواند نشا نگراین باشد که یکی ازدستگاه های میانی درست کار نمی کند. دربرخی مواردخاص این پیغام به دلیل ترافیک بسیار بالای شبکه بوجودمی آید. همچنین ممکن است که عمل ping به آدرس شبکه اشتباهی صورت گرفته است یا اینکه آن کامپیوتردرشبکه صحیح وجود ندارد و باید اصلاح آدرس شبکه درآن صورت بگیرد.در زیر نمونه ای از این پیغام را مشاهده می کنید:

C:>ping 169.76.54.3
Pinging 169.76.54.3 with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Ping statistics for 169.76.54.3:
Packets: Sent = 4, Received = 0, Lost = 4 (100%
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms

در برخی موارد هم مشاهده می شود که پاسخ ping بصورت ممتد نمی باشد و گاه پاسخ به پاکت اطلاعاتی ما قطع می شود در زیر نمونه ای از این حالت را مشاهده می کنید:

C:>ping -t 24.67.184.65
Pinging 24.67.184.65 with 32 bytes of data:
Reply from 24.67.184.65: bytes=32 time=55ms TTL=127
Reply from 24.67.184.65: bytes=32 time=54ms TTL=127
Reply from 24.67.184.65: bytes=32 time=27ms TTL=127
Request timed out.
Request timed out.
Request timed out.
Reply from 24.67.184.65: bytes=32 time=69ms TTL=127
Reply from 24.67.184.65: bytes=32 time=28ms TTL=127
Reply from 24.67.184.65: bytes=32 time=28ms TTL=127
Reply from 24.67.184.65: bytes=32 time=68ms TTL=127
Reply from 24.67.184.65: bytes=32 time=41ms TTL=127
Ping statistics for 24.67.184.65:
Packets: Sent = 11, Received = 8, Lost = 3 (27% loss),
Approximate round trip times in milli-seconds:
Minimum = 27ms, Maximum = 69ms, Average = 33ms

در این حالت معمولا نیاز است تا صحت دستگاه های میانی را بررسی کنید که آیا درست کار می کنند یا خیر. مشکل کارت شبکه هم به ندرت باعث این خطا می شود.

The Unknown Host Message

هرگاه آدرس مقصد قابلیت تشخیص توسط کامپیوترتان را نداشته باشد این پیغام را دریافت خواهید کرد. این پیغام معمولا وقتی ازآدرس مقصد اشتباه استفاده کنید اتفاق می افتد . همچنین عدم تنظیم DNS یا درست کار نکردن DNS هم امکان ایجاد این پیغام را می دهد.

C:>ping www.comptia.ca 
Unknown host www.comptia.ca

درصورتی که موارد فوق راچک کردید وهنوز مشکل باقی باشد احتمال دارد مشکل Name Resolutionباشید لذا باید DNS و WINS را بررسی کنید. شما می توانید از دستوراتnslookup و dig برای این منظور استفاده کنید.

 

The Expired TTL Message
The Time To Live یا TTL مطلبی جالب برای بررسی دستور Ping است.عمل TTL ازبه لوپ افتادن پاکت های پینگ جلوگیری می کند . TTL هاپ ها را در مسیر خود شمارش می کند و در هر هاپ یک شماره از TTL کم می شود. وقتی که عدد TTL به صفر برسد این بدان
معناست که زمان تعیین شده تمام شده و پیغام زیر نمایش داده می شود :

Reply from 24.67.180.1: TTL expired in transit

در صورتیکه این پیغام را دریافت کرده باشید به احتمال قوی مشکل Routing دارید. شما می توانید در TTL تغییر حاصل نمایید و برای این کار از دستور ping –i استفاده کنید .

 

رفع مشکل توسط دستور Ping

اگرچه دستور ping بطور کامل مشکل را حل نمی کند و احتمال خطا در نتیجه گیری با توجه به تجربه مدیرشبکه وجود خواهد داشت اما می توان تست های مفیدی رابرای تشخیص بهتر خطا با این دستور ساده انجام داد.

• آدرس لوپ بک کامپیوتر خود را توسط دستور ping 127?0?0?1 بررسی کنید . درصورتیکه موفقیت ping شما ازسلامت TCP/IP دستگاه خود مطمئن خواهید شد در صورتیکه نتوانید آدرس لوپ بک راپینگ کنید به احتمال قوی باید TCP/IP دستگاه خود رادوباره نصب وتنظیم کنید.

• آدرس شبکه کارت شبکه خود را پینگ کنید درصورت موفقیت مطمئن خواهید شد که TCP/IP درست کار می کند ودرغیر اینصورت مشکل در تنظیم آدرس شبکه رو کارت شبکه دارید و یا ا ینکه کارت شبکه شما به درستی نصب نشده است.

•ا درس شبکه کامپیوتردیگرراپینگ کنید .بامشاهده پینگ موفق مطمئن خواهید شد که کامپیوتر شما درارتباط با کامپیوترهای دیگرروی شبکه ودیدن منابع مشکلی نخواهد داشت. درغیراین صورت ارتباط کامپیوتر شما به شبکه دارای مشکل است و باید اتصالات را بررسی کنید.

• پس از اطمینان از اینکه آدرس شبکه کامپیوتر شما درست کارمی کند وقادرهستید کامپیوتر های دیگردرشبکه را ببینید ، حال باید ببینید آیا کامپیوترشما کامپیوترهای خارج شبکه را نیز می تواند به راحتی ببیند یا خیر.برای این منظورباید آدرس Default Gateway را پینگ کنید.

•درصورتیکه که توانستید آدرس Default Gatewayرادرمرحله قبل پینگ کنید حال می توانید اقدام به آدرس شبکه کامپیوتری خارج از شبکه خود را پینگ کنید.

• آدرس لوپ بک کامپیوتر خود را توسط دستور ping 127.0.0.1 بررسی کنید. درصورتیکه موفقیت ping شما از سلامت TCP/IP دستگاه خود مطمئن خواهید شد. در صورتیکه نتوانید آدری لوپ بک را پینگ کنید به احتمال قوی باید TCP/IP دستگاه خود را دوباره نصب و
تنظیم کنید.

همانطورکه مشاهده کردید با انجام موارد بالابررسی خوبی برصحت ارتباط کامپیوتر خود خواهید داشت.درصورتیکه آدم خوشبینی هستید می تواند مرحله پنج را در ابتدا انجام دهید . ا گر پینگ درمحله پنج بدون مشکل انجام شود نشاندهنده آن است که کلیه مراحل بالا نیز
به خوبی کار می کنند و در غیر اینصورت از مرحله یک بررسی خود را شروع کنید.

 

سوئیچ ها :

دستور Ping معمولا بصورت تنها بکار برده می شود اما سوئیچ هایی نیز قابل استفاده با این دستور هستند . در زیر شرح برخی از این سوئیچ ها آمده است :

Ping – a 
Ping – n 
Ping – l 
ping – f 
ping – I 
ping – v 
ping – r 
ping – s 
ping – j 
Ping – k 
Ping –w

Ping –t :
میتوان تعیین کرد دستور Ping تا زمان interrupted شدن توسط کاربر به Ping کردن ادامه دهد. تا زمانی که عمل Ping کردن را بطوردستی قطع نکنیم عملیات ارسال ودریافت پاکت اطلاعاتی ادامه پیدا خواهد کرد.برای توقف برنامه ping می توان از کلیدهای CTRL+Cاستفاده نمود .

Ping –a :
نمایش ip Computer Name که اون و Ping میکنید. میتوان نام host ای پی مورد نظر را پیدا کرد . به عبارتی این پارامتر نام host متناظر با ای پی را نمایش میدهد.( می توانیم به نام کامپیوتری که در حال Ping کردن هستیم دسترسی پیدا کنیم.)

Ping –n :
میتوان تعداد دفعات ارسال Echo Request messages را که به طور پیش فرض ۴ بار میباشد افزایش یا کاهش داد.

طرز کار ping بدین صورت است که ابتدا بسته ICMP Echo Request را به سمت کامپیوترمقصد ارسال می کند اگرکامپیوتر مقابل این بسته را دریافت کند بسته ای به نامه ICMP Echo Reply رابه سمت بداارسال می کند وخبر دریافت پاکت اطلاعاتی اولیه را بطور خودکار می دهد بطور پیش فرض تعداد ارسال بسته Echo Request چهارعدد است که در صورت استفاده از سوئیچ –t این تعداد بیشترخواهد گردید درصورتیکه روزخوبی اداشته باشید وارتباط شما برقرارباشد پاسخ Reply رادریافت خواهید کرد و درغیر این صورت به پیغامTime out مواجهه خواهید شد وخب با این وضعیت باید دلیل عدم ارتباط را که ممکن است ناشی از مشکلات کارت شبکه و یا لینک فیزیکی شبکه باشد را بیابید.

 

Ping –l :
میتوان حجم بسته Echo Request messages را که به طورپیش فرض ما را در سایت کتابخانه تخصصی رشته کامپیوتر دنبال می کنید

برچسب : نویسنده : َA&N dlebook بازدید : 1679 تاريخ : شنبه 16 فروردين 1393 ساعت: 15:41

نظر سنجی

کدامیک از مطالب را می پسندید؟

خبرنامه