آموزش عیب یابی و رفع اشکال شبکه (قسمت 2) – عیب یابی اتصال برنامه ها به شبکه
در قسمت قبل این سری مقالات به بررسی و رفع اشکال مشکلات اتصال به شبکه پرداختیم. در این قسمت عیب یابی اتصال applicationها به شبکه را آموزش می دهیم.
گاهی اوقات ممکن است که با بعضی از برنامه ها بتوانید به شبکه متصل شوید در حالی که برنامه های دیگر نمی توانند. مثلا ممکن است که بتوانید ایمیل هایتان را دانلود کنید ولی به وب سرور دسترسی نداشته باشید. یا این که ممکن است بتوانید صفحات وب را ببینید ولی نتوانید به یک کامپیوتر دیگر به صورت remote متصل شوید.
مشکلات بسیاری می تواند این علایم را از خود بروز دهند:
- سرویس ریموت در حال اجرا نیست. برای مثال Remote Desktop بر روی این کامپیوتر فعال نیست.
- Remote server فایروالی دارد که ارتباط برنامه های کامپیوتر شما را مسدود می کند.
- یک فایروال بین کامپیوتر شما و سرور ارتباط برنامه ها را ***** می کند.
- Windows Firewall بر روی کامپیوتر شما اتصال برنامه به شبکه را مسدود می کند.
- سرویس ریموت از پورت معمول (3389) استفاده نمی کند. مثلا وب سرور ها عمدتا از پورت TCP به شماره 80 استفاده می کنند ولی ممکن است که مدیر شبکه ای از پورت 81 یا هر پورت دیگری استفاده کند.
برای عیب یابی اتصال برنامه ها به شبکه مراحل زیر را طی کنید:
- قبل از این که به بررسی مشکلات اتصال برنامه ها به شبکه بپردازید مطمئن شوید که مشکلی در name resolution ندارید. برای این کار یک command prompt را باز کنید و دستور nslookup را اجرا کنید. اگر دستور nslookup نتیجه ای مشابه دستور زیر نداشت، مشکلی در name resolution دارید.
1
2
3
4
5C:\>nslookup itpro.ir
Non-authoritative answer:
Name: itpro.ir
Addresses: 178.162.203.20
2. شماره پورتی که برنامه از آن استفاده می کند را پیدا کنید. در تصویر زیر شماره پورت های رایج را آورده ام. اگر مطمئن نیستید که برنامه از چه شماره پورتی اسفاده می کند به راهنمای برنامه مراجعه کنید. همچنین می توانید از برنامه های آنالیز پورت مانند Network Monitor برای مشاهده ترافیک شبکه بر روی هریک از پورت ها استفاده کنید.
وقتی که شماره پورت را پیدا کردید، نوبت به این می رسد که مطمئن شوید که ارتباطات از طریق آن پورت به درستی انجام می شود. اگر یک پورت TCP است می توانید از PortQry، Test TCP یا Telnetاستفاده کنید. در بین این سه ابزار Telnet کمترین انعطاف پذیری را دارد اما خوبی آن این است که از ابزارهای خود ویندوز است (به صورت پیش فرض نصب نیست).
برای تست یک پورت TCP با Telnet، دستور زیر را در command prompt اجرا کنید.
1 Telnet hostname_or_address TCP_port
برای مثال برای اطمینان از این که می توانید به وب سرور سایت Microsoft Corporation که از پورت 80 استفاده می کند، متصل شوید، باید دستور زیر را اجرا کنید:
1 Telnet Microsoft Corporation 80
اگر ارتباط موفقیت آمیز بود باید command prompt پاک شود و یا متنی را از سرور دریافت کند. Command prompt را ببندید تا Telnet بسته شود. نتیجه می گیریم که برنامه میتواند به سرور متصل شود و هیچ فایروالی ازتباط برنامه را مسدود نمی کند. در این مرحله به جای این که به بررسی مشکلات اتصال بپردازید، به عیب یابی مشکلات لایه application بپردازید. مانند موارد زیر:
- مشکلات Authentication: Security Event Log را در سرور و یا برنامه چک کنید و مطمئن شوید که کامپیوترتان را به دلیل اطلاعات هویتی اشتباه مسدود نکرده است.
- سرویس غیرفعال: سرور را restart کنید. تست کنید که آیا کلاینت های دیگر می توانند به سور متصل شوند یا خیر.
- نرم افزار نامعتبر کلاینت: تحقیق کنید که نرم افزاری که بر روی کامپیوترتان استفاده می کنید نسخه درست است و تنظیمات آن درست است.
اگر Telnet پیغام زیر را نمایش داد، نشانه مشکلی در اتصال برنامه به شبکه است. مانند تنظیمات اشتباه در فایروال. مراحل زیر را برای عیب یابی طی کنید:
- در صورت امکان مطمئن شوید که سرور آنلاین است. اگر سرور آنلاین است سعی کنید به یک سرویس دیگر که بر روی سرور ارایه می شود متصل شوید. مثلا اگر می خواهید که به یک وب سرور متصل شوید و می دانید که file sharing بر روی سرور فعال است، سعی کنید به یک فولدر که به اشتراک گذاشته شده وصل شوید. اگر می توانید به یک سرویس دیگر متصل شوید، مطمئنا مشکل در تنظیمات فایروال سرور است.
- سعی کنید که از کلاینت های دیگری با subnetهای مشابه یا متفاوت به شبکه متصل شوید. اگر توانستید با یک کامپیوتر کلاینت دیگر که subnet مشابه دارد به شبکه متصل شوید، مشکل شما در تنظیمات application بر روی کامپیوتر کلاینت است. اگر توانستید با یک کلاینت دیگر که subnet متفاوت دارد به شبکه متصل شوید، فایروال سرور یا کلاینت، ارتباطات کامپیوترتان را مسدود می کند.
- در صورت امکان یک کامپیوتر کلاینت را در همان subnet به عنوان سرور قرار دهید. اگر توانستید در همان subnet اما نه در subnetهای دیگر، به شبکه متصل شوید، یک فایروال router-based ارتباط را ***** می کند. اگر در همان subnet نتوانستید به شبکه متصل شوید، فایروال سرور ترافیک را ***** می کند. همچنین ممکن است که application بر روی سرور در حال اجرا نباشد و یا طوری تنظیم شده است که از پورت دیگری استفاده کند.
- به سرور logon کنید و با استفاده از Telnetسعی کنید که به پورت application متصل شوید. اگر توانستید از طریق سرور به سرور متصل شوید اما از طریق کامپیوترهای دیگر نمی توانستید، قطعا مشکل در نرم افزار فایروال سرور است. به نرم افزار فایروال سرور یک استثنا (exception) اضافه کنید. اگر نتواستید از سرور به سرور متصل شوید، برنامه آماده پاسخگویی به درخواست ها نیست و یا آماده پاسخگویی به درخواست ها بر روی یک پورت دیگر است. به راهنمای برنامه برای راه اندازی و تنظیم برنامه مراجعه کنید. اگر از ویندوز بر روی سرور استفاده می کنید، می توانید با استفاده از دستور Netstat بفهمید که سرور بر روی چه پورت هایی آماده پاسخگویی به درخواست های ورودی است.
آموزش عیب یابی و رفع اشکال شبکه (قسمت 1) - چگونه مشکلات اتصال به شبکه را برطرف کنیم؟
نویسنده : پویا فضلعلی
منبع : انجمن تخصصی فناوری اطلاعات ایران
مقاله :: آموزش عیب یابی و رفع اشکال شبکه (قسمت 2) – عیب یابی اتصال برنامه ها به شبکه