عیب‌یابی (troubleshooting) شبکه فرآیندی دقیق و تکرارپذیر است که طی آن، مشکلات شبکه شناسایی و سپس با استفاده از روش‌های قابل آزمایش، حل می‌شوند. عیب‌یابی کارآمدتر از آزمایش‌های تصادفی است زیرا به‌کمک آن می‌توان هر جزء شبکه را مستقلا هدف گرفت و عملکرد هر یک را سنجید. ضمنا چون عیب‌یابی شبکه فرآیند نظام‌مندی است، می‌توان آن را مستندنگاری کرد تا در آینده نیز بتوان از آن بهره برد. عیب‌یابی شبکه چه برای مهندسان و چه برای علاقمندان و حتی برای کاربران شبکه مهارت مفید و مهمی است.

 

چرا مهارت‌های عیب‌یابی برای مدیریت شبکه ضروری است؟

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

 

 

مراحل عیب‌یابی شبکه

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

 

1. شناسایی مشکل

گام نخست در عیب‌یابی شبکه، شناسایی مشکل است که مراحل زیر را شامل می‌شود:

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

2. نظریه‌‌پردازی (اظهار نظر درباره علت مشکل)

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

3. سنجش درستی نظریه‌

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

4. برنامه عملی

پس از آن‌که درستی نظرتان اثبات شد و دانستید که علت بروز عیب در شبکه چیست، باید عیب شبکه را رفع کنید. برای حل مشکل باید برنامه عملی داشته باشید. گاهی برنامه عملی شما فقط یک مرحله دارد؛ مثل ری‌استارت کردن روتر. اما گاهی برنامه‌ اقدامات عملی شما پیچیده‌تر و زمان‌برتر است؛ مثل وقتی که باید سخت‌افزار جدیدی سفارش دهید یا نرم‌افزار چند رایانه را به نسخه پیش از بروز عیب در شبکه بازگردانید.

5. اجرای راه‌حل 

پس از برنامه‌ریزی برای حل مشکل شبکه، باید راه‌حل را اجرا کنید. برخی راه‌کارها را خودتان می‌توانید انجام دهید و برخی دیگر با همکاری دیگر مدیران یا کاربران شبکه امکان‌پذیر است.

6. تایید عملکرد سامانه

پس از آن‌که اقدامات لازم برای رفع عیب شبکه را انجام دادید، حتما شبکه را آزمایش کنید. اولا مطمئن شوید که مشکل حل شده است. سپس ببینید آیا رفع مشکل اخیر و تغییراتی که در شبکه ایجاد کرده‌اید، مشکلات جدیدی پدید نیاورده است؟ حتما طی فرآیند تایید، هم از ابزارهای شبکه بهره ببرید و هم حساب‌های کاربران به‌ویژه حساب‌های کاربرانی را که با مشکل مواجه شده بودند بررسی کنید تا بدانید آیا مشکلات‌شان رفع شده است یا نه.

7. مستندنگاری فرآیند عیب‌یابی تا حل مشکل

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


ابزارهای عیب‌یابی شبکه: نرم‌افزاری و سخت‌افزاری

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

 

ابزارهای خط فرمان ویندوز برای عیب‌یابی شبکه

در رایانه‌های ویندوزی با استفاده از برنامه خط فرمان ویندوز یا همان command prompt می‌توان دستورهای آزمایش و عیب‌یابی شبکه را اجرا کرد. برای دسترسی سریع به برنامه خط فرمان ویندوز، کلید علامت ویندوز را در صفحه‌کلیدتان بگیرید و سپس دکمه R را بفشارید تا پنجره اجرا یعنی پنجره Run باز شود. در کادر پنجره، عبارت cmd را تایپ کنید و اینتر بزنید.

هر یک از دستورهای زیر را می‌توان جداگانه در پنجره خط فرمان اجرا و درباره وضعیت شبکه اطلاعات خاصی کسب کرد.

ping – پینگ که یکی از ابزارهای مجموعه پروتکل TCP/IP است، دیتاگرامی را به گره‌ای از شبکه که در ادامه دستور مشخص می‌شود، ارسال می‌کند. اگر شبکه درست کار کند، گره گیرنده دیتاگرام، آن را به گره فرستنده بازمی‌فرستد.

tracert/traceroute – از ابزارهای مجموعه پروتکل TCP/IP است که مسیری را که داده در پیش می‌گیرد تا به مقصد برسد مشخص می‌کند. این ابزار کمک‌تان می‌کند تا دریابید بسته‌های داده در کدام بخش شبکه از دست می‌روند و بدین‌وسیله در شناسایی مشکلات کمک‌تان می‌کند.

nslookup – از ابزارهای سرور نام دامنه (DNS) است که آدرس آی‌پی مربوط به نام میزبان (hostname) یا بالعکس یعنی نام میزبان مربوط به یک آدرس آی‌پی را نمایش می‌دهد. این ابزار برای شناسایی مشکلات مربوط به تفکیک نام DNS مفید است.

ipconfig – از ابزارهای مجموعه پروتکل TCP/IP در سیستم‌عامل ویندوز است که تنظیمات و اتصالات شبکه را آزمایش و تایید می‌کند. این ابزار آدرس آی‌پی، subnet mask و گیت‌وی پیش‌فرض (default gateway) یک گره‌ و دیگر اطلاعات مهم شبکه را نشان می‌دهد.

 netstat – ابزاری است که وضعیت هر یک از اتصالات فعال شبکه را نشان می‌دهد. با کمک این ابزار می‌توان دریافت که در یک سامانه خاص چه خدماتی در حال اجرا است.

pathping – از دستورهای مجموعه پروتکل TCP/IP است که درباره تاخیر (latency) و بسته‌های از دست رفته (packet loss) در شبکه اطلاعات ارائه می‌دهد و لذا در عیب‌یابی مشکلات مربوط به از دست رفتن بسته‌ها در شبکه مفید است.

nmap – ابزاری است که می‌تواند تمام شبکه را با هدف بررسی پورت‌ها و خدمات مختلف در حال اجرا در آن پورت‌ها پیمایش (اسکن) کند. با کمک این ابزار می‌توان اتصالات راه دور شبکه را پایش و درباره شبکه اطلاعات خاص و دقیقی کسب کرد.

route – دستوری است که به‌روزرسانی دستی جدول مسیریابی شبکه را فعال می‌کند. برای یافتن مشکلات مربوط به مسیریابی ثابت (استاتیک) در شبکه می‌توان از این دستور بهره برد.

arp – مدیر شبکه با کمک این دستور می‌تواند حافظه نهان (cache) پروتکل تفکیک آدرس (ARP) را ببیند و مندرجات آن را اضافه یا پاک کند. از این ابزار می‌توان برای رفع مشکلات مربوط به اتصالات خاص بین ایستگاه کاری و میزبان در شبکه بهره برد.

 

نرم‌افزارهای کاربردی برای عیب‌یابی شبکه

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

Packet Sniffer (پویشگر بسته): پویشگرهای بسته درباره وضعیت شبکه دید فراگیری ارائه می‌دهند. از این اپلیکیشن‌ها می‌توان برای تحلیل ترافیک شبکه، یافتن پورت‌های باز و شناسایی ضعف‌های شبکه بهره برد.

Port Scanner (پویشگر پورت): پورت‌های باز دستگاه موردنظر در شبکه را می‌یابند و به گردآوری اطلاعات می‌پردازند؛ اطلاعاتی نظیر این‌که چه پورتی باز است و چه خدماتی در آن پورت در حال اجرا است. همچنین درباره سیستم‌عامل دستگاه اطلاعات ارائه می‌دهند. از پویشگرهای پورت می‌توان برای شناسایی پورت‌های درحال استفاده و یافتن نقاطی از شبکه که در برابر حملات خارجی آسیب‌پذیرند بهره برد.

Protocol Analyzer (تحلیلگر پروتکل): با کمک قابلیت‌های عیب‌یابی و گزارش‌دهی خود، درباره شبکه دید جامعی ارائه می‌دهد. با کمک چنین برنامه‌هایی می‌توان مشکلات شبکه و نفوذهای احتمالی به شبکه را شناسایی کرد.

Wi-Fi Analyzer (تحلیلگر وای‌فای): تجهیزات و نقاطی را که ممکن است سیگنال‌های وای‌فای آن‌ها با شبکه شما تداخل یابد، شناسایی می‌کند. با کمک این ابزار می‌توان مشکلات مربوط به اتصالات بی‌سیم شبکه را یافت.

Bandwidth Speed Tester (آزمایشگر سرعت پهنای باند): پهنای باند و میزان تاخیر در اتصال اینترنت کاربر را می‌‌سنجند.

 

ابزارهای سخت‌افزاری برای عیب‌یابی شبکه

ابزارهایی که تا پیش از این معرفی شدند، نرم‌افزاری بودند. اما برخی مشکلات در شبکه ریشه سخت‌افزاری دارند. پس گاهی لازم است برای عیب‌یابی شبکه از ابزارهای سخت‌افزاری استفاده شود. برخی از ابزارهای سخت‌افزاری در عیب‌یابی شبکه و برخی دیگر حین فرآیند تعمیر یا تعویض اجزای شبکه به کار می‌روند. 

تصویر 1. آداپتور بازگشت یا Loppback adaptor (کابل حلقوی) به یک دستگاه سوئیچ متصل شده است.


Wire crimper (سوکت‌زن): ابزاری است که کانکتور را به انتهای کابل‌ها متصل می‌کند.

Cable tester (آزمایشگر کابل): مشخص می‌کند که آیا کابل سیگنال‌ها را به‌درستی انتقال می‌دهد یا نه. برای تشخیص مشکلات مربوط به اتصال‌پذیری شبکه، می‌توان از این ابزار بهره برد تا دریافت آیا کابل سالم است یا نه.

Punch-down tool (ابزار پانچ): برای متصل کردن کابل‌ها به پچ‌پنل (patch panel) یا بلوک پانچ‌داون (punch-down block) به کار می‌رود.

TDR (بازتاب‌سنج) و OTDR (بازتاب‌سنج نوری): بازتاب‌سنج یا TDR (مخفف Time-Domain Reflectometer) ابزاری است که در کابل پالس الکتریکی می‌فرستد و سپس سیگنال بازتابی آن را می‌سنجد. اگر کابل درست کار ‌کند، سیگنال منعکس نمی‌شود، بلکه در انتهای کابل جذب می‌شود. بازتاب‌سنج نوری یا OTDR (مخفف Optical Time-Domain Reflectometer) نیز شبیه TDR است اما برای آزمایش کابل‌های فیبر نوری به کار می‌رود.

Light Meter یا Optical Power Meter (نورسنج): وسیله‌ای است که برای سنجش توان سیگنال نوری به کار می‌رود.

Tone Generator (سیگنال‌ساز): وسیله‌ای است که در جفت‌سیم‌های کابل UTP یک سیگنال الکتریکی می‌فرستد. در سر دیگر کابل ابزاری موسوم به tone locator یا tone probe به‌محض تشخیص سیگنال در جفت‌سیم، صدایی منتشر می‌کند. با کمک این ابزارها می‌توان تشخیص داد که آیا سیگنال‌ها درست از سیم‌های شبکه عبور می‌کنند یا نه.

Loopback Adaptor (آداپتور بازگشت): ابزاری است که برای شناسایی عیب‌های مربوط به انتقال سیگنال در شبکه به کار می‌رود. آزمایش بازگشت سیگنال (loopback test) با کمک این آداپتور انجام می‌شود. برای این منظور، آداپتور به پورت دستگاه مورد نظر متصل می‌شود (تصویر 1) تا مشخص شود آیا دستگاه سیگنال را به‌درستی ارسال و دریافت می‌کند یا نه.

Multimeter (مولتی‌متر یا ولت‌سنج/اهم‌سنج): وسیله‌ای الکترونیکی است که می‌تواند چند کمیت مثل ولت، جریان و مقاومت را بسنجد.

Spectrum analyzer (طیف‌سنج): ابزاری است که تغییرات قدرت سیگنال نسبت به بسامد (فرکانس) را نشان می‌دهد.

 

سخن پایانی

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