آموزش تصویری رفع مشکل ارتباطی شبکه در ویندوز + عیب یابی شبکه

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

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
  1. Network And Sharing Center را باز کنید. Troubleshoot Problems را کلیک کنید و مراحل آن را طی کنید. اگر Windows Diagnostics مشکل را پیدا و برطرف نکرد، لطفا اطلاعات مشکل را به مایکروسافت بفرستید تا Windows Network Diagnostics را کامل تر کنیم. سپس مراحل زیر را دنبال کنید.
Windows Network Diagnostics
  1. آیا می خواهید به یک شبکه بی سیم وصل شوید ولی درخواست شما برای اتصال پذیرفته نمی شود؟
  2. آیا می خواهید به یک شبکه از طریق وی پی ان متصل شوید ولی درخواست شما برای اتصال پذیرفته نمی شود؟
  3. آیا گاهی اوقات می توانید به منابع شیکه متصل شوید ولی دسترسی ثابت نیست و یا سرعت پایین است؟
  4. آیا می توانید به دیگر امکانات شبکه دسترسی داشته باشید (مانند ایمیل و یا وب سایت ها)؟ اگر نه، مشکلی در کانکشن و یا در name resolution دارید. اگر به سرور با استفاده از آدرس IP به جای نام هاست دسترسی دارید و یا اگر زمانی که آدرس IP اختصاص میدهید، به سرور دسترسی ندارید یا اینکه نمی دانید که آدرس IP چیست، به قسمت بعدی (چگونه مشکلات اتصال به شبکه را برطرف کنیم.) مراجعه کنید.
  5. آیا می خواهید به یک دامین متصل شوید و یا می خواهید وارد اکانت کامپیوترتان با استفاده از حساب کاربری دامین شوید ولی با پیغام "دامین کنترلر قابل دسترسی نیست" مواجه می شوید؟
  6. یک صفحه Command Prompt را باز کنید و در آن دستور زیر را اجرا کنید:
Nslookup name_of_your_server

اگر nslookup جوابی مانند زیر را نمایش داده نشد، مشکلی در name resolution دارید.

C:\>nslookup tosinso.com

Non-authoritative answer:
Name:    tosinso.com
Addresses:  178.162.203.20

7. آیا می خواهید به یک فولدر به اشتراک گذاشته شده وصل شوید؟

8. اگر برنامه های دیگر به خوبی کار می کنند و name resolution هم مشکلی نداشت، احتمالا مشکل شما در فایروالتان است.

چگونه مشکلات اتصال به شبکه را برطرف کنیم؟

اگر شما مشکلی در اتصال به شبکه داشته باشید، دیگر نمی توانید از هیچ یک از امکانات شبکه تان که در حالت عادی با یک شبکه قطع، قابل دسترس هستند، استفاده کنید. برای مثال اگر اینترنت شما قطع شده باشد، همچنان می توانید به شبکه ی LANتان متصل شوید. اگر شبکه LANتان قطع شده باشد، دیگر به هیچ چیز روی شبکه دسترسی ندارید. بیشتر مشکلات شبکه از موارد زیر ناشی می شوند:

  • قطعی کارت شبکه
  • مشکل در سخت افزارهای شبکه
  • مشکل در کانکشن
  • قطعی در کابل ها
  • تنظیمات اشتباه سخت افزارهای شبکه
  • تنظیمات اشتباه کارت شبکه

اکثر مردم فکر می کنند که اگر یکی از سرویس های شبکه از کار افتاد، کل شبکه مختل شده است. برای مثال اگر سرویس DNS Server غیرفعال شده باشد، کامپیوتر شما نمی تواند host nameها را تبدیل کند که این امر باعث می شود که کامپیوتر نتواند منابع روی شبکه را با نامشان شناسایی کند. به همین صورت اگر یک کاربر تنها به سرویس ایمیل شبکه دسترسی داشته باشد و این سرویس غیرفعال شود، آن کاربر فکر می کند که تمام شبکه ارایه دهنده این سرویس مختل شده است.

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

  1. Network And Sharing Center را باز کنید. در پایین همین صفحه روی Troubleshoot Problems کلیک کنید و مراحل آن را طی کنید. اگر Windows Network Diagnostics مشکل را پیدا نکرد و یا آن را برطرف نکرد مراحل زیر را دنبال کنید.
  2. یک صفحه Command Prompt را باز کنید. دستور ipconfig //all را اجرا کنید. خروجی این دستور را به روش زیر تحلیل کنید.
  • اگر هیچ کارت شبکه ای را فهرست نکرده و یا یکی از کارت های شبکه در لیست نیست (یا چیزی شبیه این ها)، درایور کارت شبکه نصب نشده است.
  • اگر برای همه کارت های شبکه، Media State برابر Media Disconnected است، کامپیوتر به صورت فیزیکی به شبکه وصل نیست. اگر با کابل ب شبکه وصل شده اید، دو سر کابل را قطع کنید و دوباره وصل کنید. اگر مشکل همچنان برقرار بود، کابل شبکه را عوض کنید. سعی کنید که یک کامپیوتر دیگر را به همان کابل شبکه وصل کنید. اگر کامپیوتر جدید به شبکه وصل شد، کارت شبکه کامپیوتر اصلی مشکل دارد. اگر هیچ کدام از کامپیوترها به شبکه وصل نشدند، مشکل در کابل کشی شبکه، سوئیچ شبکه یا هاب شبکه است. اگر لازم بود سخت افزار مشکل دار شبکه را جایگزین کنید.
Media State . . . . . . . . . . . : Media disconnected
    • اگر آدرس IPv4 کارت شبکه در محدوده بین 169.254.0.1 تا 169.254.255.254 بود، کامپیوتر دارای آدرس APIPA است. این یعنی که کامپیوتر طوری تنظیم شده است که از سرور DHCP استفاده کند ولی هیچ سرور DHCPی در دسترس نیست. یک Command Prompt را باز کنید و دستورات زیر را در آن اجرا کنید.
Ipconfig /release
Ipconfig /renew
Ipconfig /all

اگر کارت شبکه تان آدرس APIPA داشته باشد، سرور DHCP خاموش است. یک سرور DHCP را راه اندازی کنید و کامپیوتر را ریستارت کنید. اگر شبکه از سرور DHCP استفاده نمی کند، یک Ipv4 استاتیک یا alternate از مدیر شبکه تان یا از ISPتان بگیرید و روی کارت شبکه آن را تنظیم کنید.

  • DHCP برای همه کارت های شبکه فعال است؟ خیر، (در خروجی دستور ipconfig //all این موضوع را بررسی کنید) تنظیمات کارت شبکه اشتباه است. اگر DHCP غیرفعال است، کامپیوتر یک Ipv4 استاتیک دارد که برای کامپوترهای کلاینت غیرمعمول است. تنظیمات Ipv4 کارت شبکه را طوری تغییر دهید که بتواند آدرس IP و آدرس سرور DNS را به طور اتوماتیک بگیرد(همانند شکل زیر). سپس به تب Alternate Configuration بروید و تنظیمات IP استاتیک را در آن وارد کنید.
Internet Protocol Version 4 Properties

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

خروجی دستور ipconfig را ببینید و آدرس Ipv4 مربوط به Default Gateway را شناسایی کنید. مطمئن شوید که آدرس Ipv4 مربوط به Default Gateway در محدوده(subnet) آدرس IP کارت شبکه تان است. اگر محدوده آن ها یکسان نیست، آدرس Default Gateway اشتباه است. محدوده آدرس Default Gateway باید با آدرس Ipv4 کامپیوتر کلاینت یکسان باشد.

برای اینکه بفهمید که یک Ipv4 در محدوده آدرس Ipv4 کامپیور شما است، ابتدا به subnet mask خودتان نگاه کنید. اگر subnet maske شما برابر 255.255.255.0 است، سه دسته عدد اول را در Ipv4 مقایسه کنید (به هر دسته اوکتت می گویند) (برای مثال 192.168.1 یا 10.25.2).

اگر هر سه اوکتت دقیقا با هم برابر بودند، دو Ipv4 در یک محدوده هستند. اگر subnet mask شما برابر 255.255.0.0 است، دو اوکتت اول را مقایسه کنید. اگر subnet mask شما برابر 255.0.0.0 است، تنها اوکتت اول را مقایسه کنید (اولین گروه اعداد قبل از نقطه در آدرس IP). اگر هیچ کدام از اعداد subnet mask بین 0 و 255 نیست، شما باید با استفاده از ریاضیات باینری و عملگر AND بفهمید که آن ها در محدوده یکسانی هستند.

4. Default Gateway را با استفاده از دستور زیر ping کنید:

Ping default_gateway_ip_address

برای مثال اگر خروجی Ipconfig به این صورت باشد:

Ethernet adapter Local Area Connection:

   Connection-specific DNS Suffix  . : 
   Link-local IPv6 Address . . . . . : fe80::1dd2:93f6:68c4:5662%12
   IPv4 Address. . . . . . . . . . . : 192.168.2.101
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.168.2.1

شما باید دستور زیر را اجرا کنید:

Ping 192.168.2.1

اگر خروجی های ping این باشد "Request timed out" آدرس IP اختصاص داده شده برای Default Gateway اشتباه است و یا Default Gateway خاموش است و یا Default Gateway درخواست های ICMP را مسدود می کند. اگر خروجی Ping به این صورت باشد "Reply from ..." به این معنی است که Default Gateway به درستی تنظیم شده است و مشکل در جای دیگری از شبکه است.

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

5. از دستور tracert برای اطمینان از ارتباط با دستگاه های بیرون LAN استفاده کنید. می توانید هر سروری را در شبکه بیرونی را انتخاب کنید. من در این مثال از هاست www.tosinso.com استفاده کردم.

C:\>tracert www.tosinso.com


 Tracing route to www.tosinso.com [178.162.203.20]
 over a maximum of 30 hops:
1	192.168.2.1
2	77.104.116.1
3	10.10.53.93
4	10.10.53.201
5	80.77.0.205
6	xe-8-2-0.0.pjr02.nyc007.flagtel.com [85.95.25.66]
7	85.95.25.166
8	so-1-0-0.0.cjr02.ldn004.flagtel.com [85.95.25.10]
9	jun.tc2.leaseweb.net [195.66.225.100]
10	te0-1-0-3.crs.evo.leaseweb.net [62.212.80.3]
11	xe-1-1-2.peering-inx.fra.leaseweb.net [46.165.255.120]
12	46.165.255.173
13	178.162.223.153
14	hosted-by.leaseweb.com com [178.162.203.20]

خط 1، Default Gateway است. خط های 2 و بالاتر، روترهای بیرون شبکه داخلی شما هستند.

  • اگر پیغام "Unable to resolve target system name" را دیدید، سرور DNS به دلیل خاموش بودن، غیر قابل دسترس است و یا تنظیمات کامپیوتر کلاینت اشتباه است و یا شبکه قطع است. اگر سرور DNSتان بر روی LANتان است (همان طور که در دستور ipconfig //all گفتیم) و می توانید روتر را Ping کنید، سرور DNS قطع است و یا تنظیماتس نادرست است. اگر سرور DNSتان بر روی یک شبکه دیگر است، ممکن است که مشکل در زیرساخت شبکه و یا در name resolution باشد. این مرحله را با دستور Ping برای اتصال به سرور DNS تکرار کنید (همان طور که برای دستور ipconfig //all گفته شد).
  • اگر هیچ جوابی بعد از خط 1 نداشتید، Default Gateway نمی تواند با شبکه های خارجی ارتباط برقرار کند. Default Gateway را ریستارت کنید. اگر Default Gateway مستقیما به اینترنت متصل شده است، اتصالتان به اینترنت یا دستگاهی که شما را به اینترنت وصل می کند (مانند کابل یا مودم DSL) قطع شده باشد. با ISP برای عیب یابی های بیشتر تماس بگیرید.
  • اگر یک Default Gateway چندین بار در Tracert تکرار شد، شبکه دچار یک حلقه مسیریابی شده است. حلقه های مسیریابی می توانند مشکلات اجرایی یا قطعی سراسری ارتباطات را منجر شوند. شبکه ها معمولا به صورت اتوماتیک حلقه های مسیریابی را برطرف می کنند. با این حال بهتر است که به پشتیبان های شبکه تان اطلاع دهید تا مطمئن شوید که آن ها از مشکل اطلاع دارند. خروجی Tracert زیر دچار حلقه مسیریابی شده است، چون خط های 5، 6 و 7 تکرار می شوند.
C:\>tracert www.tosinso.com


 Tracing route to www.tosinso.com [178.162.203.20]
 over a maximum of 30 hops:
1	192.168.2.1
2	77.104.116.1
3	10.10.53.93
4	10.10.53.201
5	80.77.0.205
6	xe-8-2-0.0.pjr02.nyc007.flagtel.com [85.95.25.66]
7	85.95.25.166
8	80.77.0.205
9	xe-8-2-0.0.pjr02.nyc007.flagtel.com [85.95.25.66]
10	85.95.25.166
11	80.77.0.205
12	xe-8-2-0.0.pjr02.nyc007.flagtel.com [85.95.25.66]

اگر هیچیک از روترهای خط های 2 یا بالاتر پاسخگو نبودند (مهم نیست که آخرین هاست پاسخ دهد)، کامپیوتر کلاینت و Default Gateway به درستی تنظیم شده اند. مشکل در زیرساخت های شبکه است و یا اتصالتان به اینترنت قطع شده است. مراحل عیب یابی که در قسمت بعدی این مقاله توضیح داده ام را پیگیری کنید و یا با پشتیبانی شبکه تماس بگیرید.

برای اطمینان بیشتر از نتایج، این مراحل را با یک کامپیوتر کلاینت دیگر بر روی همین شبکه تکرار کنید. اگر کامپیوتر دوم هم همین نشانه ها را داشت، مطمئن باشید که بخشی از زیرساخت شبکه قطع شده است. اگر کامپیوتر دوم بدون هیچ مشکلی با شبکه ارتباط داشت، خروجی های دستور ipconfig /all را در دو کامپیوتر با هم مقایسه کنید. اگر آدرس های Default Gateway و یا DNS Server متفاوت بود، تنظیمات کامپیوتر مشکل دار را همانند کامپوتر سالم کنید. اگر با این کار مشکل حل نشد، مشکل از طرف کامپیوتر خراب است و نشانه یک مشکل در سخت افزار و یا درایورها است.

در ادامه قسمت عیب یابی اتصال applicationها به شبکه را آموزش می دهیم.گاهی اوقات ممکن است که با بعضی از برنامه ها بتوانید به شبکه متصل شوید در حالی که برنامه های دیگر نمی توانند. مثلا ممکن است که بتوانید ایمیل هایتان را دانلود کنید ولی به وب سرور دسترسی نداشته باشید. یا این که ممکن است بتوانید صفحات وب را ببینید ولی نتوانید به یک کامپیوتر دیگر به صورت remote متصل شوید. مشکلات بسیاری می تواند این علایم را از خود بروز دهند:

  • سرویس ریموت در حال اجرا نیست. برای مثال Remote Desktop بر روی این کامپیوتر فعال نیست.
  • Remote server فایروالی دارد که ارتباط برنامه های کامپیوتر شما را مسدود می کند.
  • یک فایروال بین کامپیوتر شما و سرور ارتباط برنامه ها را فیلتر می کند.
  • Windows Firewall بر روی کامپیوتر شما اتصال برنامه به شبکه را مسدود می کند.
  • سرویس ریموت از پورت معمول (3389) استفاده نمی کند. مثلا وب سرور ها عمدتا از پورت TCP به شماره 80 استفاده می کنند ولی ممکن است که مدیر شبکه ای از پورت 81 یا هر پورت دیگری استفاده کند.

برای عیب یابی اتصال برنامه ها به شبکه مراحل زیر را طی کنید:

    1. قبل از این که به بررسی مشکلات اتصال برنامه ها به شبکه بپردازید مطمئن شوید که مشکلی در name resolution ندارید. برای این کار یک command prompt را باز کنید و دستور nslookup را اجرا کنید. اگر دستور nslookup نتیجه ای مشابه دستور زیر نداشت، مشکلی در name resolution دارید.
C:\>nslookup tosinso.com

Non-authoritative answer:
Name:    tosinso.com
Addresses:  178.162.203.20

2. شماره پورتی که برنامه از آن استفاده می کند را پیدا کنید. در تصویر زیر شماره پورت های رایج را آورده ام. اگر مطمئن نیستید که برنامه از چه شماره پورتی اسفاده می کند به راهنمای برنامه مراجعه کنید. همچنین می توانید از برنامه های آنالیز پورت مانند Network Monitor برای مشاهده ترافیک شبکه بر روی هریک از پورت ها استفاده کنید.

رایج ترین پورت های TCP و UDP

وقتی که شماره پورت را پیدا کردید، نوبت به این می رسد که مطمئن شوید که ارتباطات از طریق آن پورت به درستی انجام می شود. اگر یک پورت TCP است می توانید از PortQry، Test TCP یا Telnetاستفاده کنید. در بین این سه ابزار Telnet کمترین انعطاف پذیری را دارد اما خوبی آن این است که از ابزارهای خود ویندوز است (به صورت پیش فرض نصب نیست). برای تست یک پورت TCP با Telnet، دستور زیر را در command prompt اجرا کنید.

Telnet hostname_or_address TCP_port

برای مثال برای اطمینان از این که می توانید به وب سرور سایت www.microsoft.com که از پورت 80 استفاده می کند، متصل شوید، باید دستور زیر را اجرا کنید:

Telnet www.microsoft.com 80

اگر ارتباط موفقیت آمیز بود باید command prompt پاک شود و یا متنی را از سرور دریافت کند. Command prompt را ببندید تا Telnet بسته شود. نتیجه می گیریم که برنامه میتواند به سرور متصل شود و هیچ فایروالی ازتباط برنامه را مسدود نمی کند. در این مرحله به جای این که به بررسی مشکلات اتصال بپردازید، به عیب یابی مشکلات لایه application بپردازید. مانند موارد زیر:

  • مشکلات Authentication: Security Event Log را در سرور و یا برنامه چک کنید و مطمئن شوید که کامپیوترتان را به دلیل اطلاعات هویتی اشتباه مسدود نکرده است.
  • سرویس غیرفعال: سرور را restart کنید. تست کنید که آیا کلاینت های دیگر می توانند به سور متصل شوند یا خیر.
  • نرم افزار نامعتبر کلاینت: تحقیق کنید که نرم افزاری که بر روی کامپیوترتان استفاده می کنید نسخه درست است و تنظیمات آن درست است.

اگر Telnet پیغام زیر را نمایش داد، نشانه مشکلی در اتصال برنامه به شبکه است. مانند تنظیمات اشتباه در فایروال. مراحل زیر را برای عیب یابی طی کنید:

  1. در صورت امکان مطمئن شوید که سرور آنلاین است. اگر سرور آنلاین است سعی کنید به یک سرویس دیگر که بر روی سرور ارایه می شود متصل شوید. مثلا اگر می خواهید که به یک وب سرور متصل شوید و می دانید که file sharing بر روی سرور فعال است، سعی کنید به یک فولدر که به اشتراک گذاشته شده وصل شوید. اگر می توانید به یک سرویس دیگر متصل شوید، مطمئنا مشکل در تنظیمات فایروال سرور است.
  2. سعی کنید که از کلاینت های دیگری با subnetهای مشابه یا متفاوت به شبکه متصل شوید. اگر توانستید با یک کامپیوتر کلاینت دیگر که subnet مشابه دارد به شبکه متصل شوید، مشکل شما در تنظیمات application بر روی کامپیوتر کلاینت است. اگر توانستید با یک کلاینت دیگر که subnet متفاوت دارد به شبکه متصل شوید، فایروال سرور یا کلاینت، ارتباطات کامپیوترتان را مسدود می کند.
  3. در صورت امکان یک کامپیوتر کلاینت را در همان subnet به عنوان سرور قرار دهید. اگر توانستید در همان subnet اما نه در subnetهای دیگر، به شبکه متصل شوید، یک فایروال router-based ارتباط را فیلتر می کند. اگر در همان subnet نتوانستید به شبکه متصل شوید، فایروال سرور ترافیک را فیلتر می کند. همچنین ممکن است که application بر روی سرور در حال اجرا نباشد و یا طوری تنظیم شده است که از پورت دیگری استفاده کند.
  4. به سرور logon کنید و با استفاده از Telnetسعی کنید که به پورت application متصل شوید. اگر توانستید از طریق سرور به سرور متصل شوید اما از طریق کامپیوترهای دیگر نمی توانستید، قطعا مشکل در نرم افزار فایروال سرور است. به نرم افزار فایروال سرور یک استثنا (exception) اضافه کنید. اگر نتواستید از سرور به سرور متصل شوید، برنامه آماده پاسخگویی به درخواست ها نیست و یا آماده پاسخگویی به درخواست ها بر روی یک پورت دیگر است. به راهنمای برنامه برای راه اندازی و تنظیم برنامه مراجعه کنید. اگر از ویندوز بر روی سرور استفاده می کنید، می توانید با استفاده از دستور Netstat بفهمید که سرور بر روی چه پورت هایی آماده پاسخگویی به درخواست های ورودی است.
  • نحوه تشخیص مشکل ارتباطی در شبکه چگونه است؟

    شناسایی مشکل ارتباطی شبکه مراحلی دارد که کامل در این مقاله توضیح داده شده است اما بصورت کلی ابتدا باید مشکل بصورت داخلی بررسی شوید ، سپس ارتباط با اولین کامپیوتر در همان شبکه تست شود ، ارتباط با روتر و مودم چک شود ، ارتباط با هر کامپیوتری در اینترنت چک شود و در هر مرحله مشخص می شود که مشکل ارتباطی از کجاست ، در عین حال حتما ارتباط با IP باید تست شود ممکن است مشکل ارتباطی در DNS باشد
  • چه دستوراتی برای رفع اشکال شبکه مورد استفاده قرار می گیرند؟

    دستوراتی مثل Ping ، Tracert ، Ipconfig ، Netsh ، Nslookup و دستوراتی مثل Arp و Netstat برای رفع مشکلات ارتباطی در سطح خط فرمان و ابزارهایی مثل Network Diagnostics در ویندوز بصورت گرافیکی برای رفع اشکال ارتباطی وجود دارند

نظرات