یک معمار و تحلیلگر خود خوانده | www.AliZamani.net
دوازده ابزار نرم افزاری عیب یابی و نگهداری شبکه در ویندوز
در بسیاری از سازمان ها و شرکتهای که از زیرساخت شبکه های کامپیوتری عریض و طویل استفاده میکنند معمولا عیب یابی شبکه کاری پیچیده و تخصصی است که کارمندان عادی (کاربران عادی) معمولا آشنایی چندانی با آن ندارند، شاید این مطلب برای بسیاری از کاربران حرفه ای تکراری و قدیمی باشد اما در این مطلب قصد دارم یازده ابزار مفید و پرکاربرد در عیب یابی و نگهداری شبکه های کامپیوتری در سیستم عامل ویندوز ارائه دهم، از آنجائیکه اغلب کاربران عادی در ایران از سیستم عامل ویندوز استفاده میکنند من هم همین سیستم عامل را انتخاب کردم، هر چند اکثر این ابزارها با همین نام در سیستم های عامل شبه یونیکس هم وجود دارند. برای هر چهارده ابزار یک کاربرد مختصر، یک توضیح مختصر و چند مثال از مهمترین کاربردهای آن آورده شده است.
همین الان که این مقاله را مطالعه میکنید (اگر با سیستم ویندوز اینکار را میکنید) میتوانید با زدن کلید Windows+R و تایپ CMD وارد محیط Command Prompt ویندوز بشید و این فرمان ها (ابزارها) را تست کنید.
امید که مفید باشد.
ابزار Ping
کاربرد : بررسی دسترسی به یک میزبان (سرویس دهنده، سرویس گیرنده و یا هر دستگاه متصل در شبکه)
توضیح مختصر :
شاید آشنا ترین و پرکاربردترین ابزاری که هر کاربری در طول روز از آن استفاده میکند ابزار پینگ باشد، اکثر ما برای بررسی اتصال به اینترنت شاید چندین بار سایتهایی مانند گوگل را پینگ کرده باشیم و یا برای بررسی اتصال یک چاپگر شبکه نشانی آن را پینگ کرده باشیم. پینگ برنامه ای است که با ارسال بسته های (پاکت های) درخواست از طریق پروتکل ICMP و انتظار دریافت پاسخ از میزبان، خلاصه ای از تعداد پاسخ های دریافت شده و مدت زمان دریافت پاسخ ها و میزان گم شدن بسته ها و گزارش خطاهای مربوطه را به ما ارائه میدهد. در بسیاری از سیستم های عامل این برنامه با همین نام وجود دارد و در نسخه ششم پروتکل اینترنت (IPv6) با نام ping6 شناخته میشود. در برخی سیستم های عامل دستورات hping نیز وجود دارند که میتوانید در این زمینه بیشتر سرچ کنید.
مثالی از فرمان ها:
C:\> ping google.com
همانطور که مشاهده میکنید پینگ 32 بایت داده را در چهار درخواست به سرور گوگل ارسال میکند که هر چهار پاکت پاسخ داده میشود و صفر درصد گم شدن پاکت وجود دارد که به معنای این است که ارتباط با سرور گوگل به خوبی برقرار است. به جای گوگل میتوانید هر مقصدی مانند چاپگر شبکه، اکسس پوینت و یا روتر شبکه سازمانی را پینگ کنید.
برای مشاهده راهنمای این فرمان میتوانید از سوئیچ ?/ استفاده کنید :
C:\> ping /?
اجرای فرمان بدون محدودیت زمانی تا زمانیکه Ctrl+C را بزنید:
C:\> ping –t google.com
مشخص کردن تعداد درخواست های ICMP ، در صورت عدم استفاده از گزینه –n برنامه پینگ بصورت پیشفرض از تعداد چهار درخواست استفاده میکند:
C:\> ping –n 4294 google.com
استفاده از گزینه -l برای مشخص کردن اندازه پاکت های ICMP از شماره 32 تا 65527 بر حسب بایت، بصورت پیشفرض این اندازه 32 بایت است :
C:\> ping –l 650 google.com
استفاده از گزینه -i برای مشخص کردن زمان زنده بودن بسته (TTL) که حداکثر آن 255 است:
C:\> ping –i 250 google.com
تست لوپ بک (Loopback Test)، پینک کردن آدرس 127.0.0.1 راه بسیار ساده ای برای تست تنظیمات اولیه شبکه در ویندوز است اما اطلاعاتی دیگری در مورد دستگاه های متصل به شبکه و یا سخت افزارهای شبکه نمی دهد:
C:\> ping 127.0.0.1
مشابه این فرمان در نسخه شش اینترنت (IPv6) برابر ping ::1 است.
اطلاع از نام هاست یک نشانی اینترنتی :
C:\> ping –a 216.58.207.46
ابزار NSLookUp
کاربرد : بررسی نام های دامنه و نگاشت نشانی های اینترنت به هر نام
توضیح مختصر :
همانطور که احتمالا میدانید سیستم نام دامنه یا DNS و یا سرور نام دامنه (هر دو صورت صحیح است) سروری است که نام دامنه را به نشانی های آی پی ترجمه میکند یعنی وقتی شما آدرس گوگل را در مرورگر خود تایپ میکنید (www.Google.com) سرور نام دامنه آن را به نشانی آی پی گوگل یعنی 216.58.207.46 ترجمه میکند. در صورتیکه شما در شبکه سازمانی تان سروری برای نگهداری وبسایت داشته باشید احتمالا یک سرور نام دامنه (DNS) هم دارید لذا با این فرمان قادر خواهید بود اطلاعات مربوط به نام ها و نشانی های آی پی را پرس و جو کنید. سرورهای نام دامنه رکوردهای مختلفی دارند که با گزینه های مختلف با این ابزار میتوانید این رکوردها را بررسی کنید. معادل این ابزار در محیطهای شبه یونیکس ابزارهای host و dig هستند. دستور nslookup به دو روش تعاملی و غیر تعاملی کار میکند، در حالت تعاملی کافیست دستور nslookup را بدون هیچ آرگومان و گزینه ای وارد کنید تا وارد خط فرمان آن شوید.
مثالی از فرمان ها:
پیدا کردن رکورد A یک دامنه مانند www.Google.com :
C:\> nslookup google.com
پیدا کردن رکوردهای NS گوگل :
C:\> nslookup –type=ns Google.com
پیدا کردن رکوردهای SOA گوگل :
C:\> nslookup –type=SOA Google.com
پیدا کردن رکوردهای MX که برای تبادل ایمیل استفاده میشود :
C:\> nslookup –type=MX Google.com
پیدا کردن همه رکوردهای DNS برای یک دامنه (گوگل) :
C:\> nslookup –type=any Google.com
بررسی رکوردهای DNS از روی نشانی (Reverse DNS Lookup) :
C:\> nslookup 216.58.207.46
پرس و جوی DNS با فعال کردن حالت دیباگ، با فعال کردن حالت دیباگ اطلاعات دقیقتری برای رکوردهای نام دامنه گزارش میشوند:
C:\> nslookup -debug example.com
تغییر شماره پورت (بصورت پیشفرص سرور DNS از شماره پورت 53 استفاده میکند):
C:\> nslookup -port=56 example.com
ابزار HostName
کاربرد : نمایش نام هاست (میزبان) جاری
توضیح مختصر :
با این فرمان میتوانید نام میزبان جاری یعنی سیستمی که با آن مشغول کار هستید را بگیرید، این نام معمولا در برنامه های سروری مانند SQL Server و نرم افزارها برای ارتباط با بانک اطلاعاتی استفاده میشود. بعبارت صحیحتر نام میزبان نامی است که کامپیوتر شما در شبکه با آن نام شناخته مبشود، دقت داشته باشید نام هاست (میزبان) با نام دامنه مانند www.Google.com متفاوت است و نباید با آدرس اینترنتی (FQDN) اشتباه گرفته شود (البته یک نام میزبان هم میتواند آدرس اینترنتی باشد اما هر آدرس اینترنتی نام میزبان نیست). معمولا وقتی نرم افزارها را در سیستم های شبکه جابجا میکنید و یا نیاز به نصب نرم افزاری بر روی یک سیستم جدید دارید برای ارتباط با بانک اطلاعاتی نیاز به داشتن نام میزبان که بانک اطلاعاتی روی آن نصب است دارید.
مثالی از فرمان ها:
نمایش نام هاست جاری :
C:\> hostname
همچنین به جای این دستور میتوانید از دستور زیر با اطلاعات کاملتر دسترسی پیدا کنید (این دستور بعدا معرفی شده است):
C:\> ipconfig /all
دستور زیر نیز همان کار را انجام میدهد :
C:\> nbtstat -n
در ویندوز با تغییر نام کامپیوتر در کنترل پنل میتوانید نام میزبان خود را تغییر دهید.
ابزار Net
کاربرد : مدیریت منابع شبکه، اطلاعات کلی تنظیمات شبکه
توضیح مختصر :
این فرمان که از نام آن پیداست بابت دریافت اطلاعات کلی شبکه، حساب های کاربری، سیستم های شبکه، زمان شبکه و سایر اطلاعات مرتبط میباشد، این ابزار نیز مانند دیگر ابزارهای شبکه در سایر سیستم های عامل مانند مکینتاش و لینوکس وجود دارد که تعداد زیر فرمان ها و گزینه های آن بسته نوع سیستم عامل متفاوت است.
مثالی از فرمان ها:
تنظیمات مربوط به حسابهای کاربری :
C:\> net accounts
نمایش حسابهای کاربری برای میزبان جاری (سیستمی که با آن این فرمان را اجرا میکنید) :
C:\> net user
ابزار Arp
کاربرد : اطلاعات نگاشت آدرس های فیزیکی و آدرس های اینترنتی در شبکه
توضیح مختصر :
نام این ابزار همنام پروتکلی است که با آن در ارتباط است لذا توضیح این پروتکل، کارکرد این ابزار را توصیف میکند، پروتکل ARP یا پروتکل تفکیک آدرس یک پروتکل لایه پیوند در شبکه است که وظیفه ترجمه مک آدرس (آدرس فیزیکی یا آدرس لایه پیوند) را به آدرس اینترنت (لایه اینترنت) دارد، همانطور که میدانید هر دستگاه (اعم از سیستم رایانه رومیزی، لپ تاپ، تبلت، گوشی موبایل و ...) دارای یک آدرس فیزیکی یا مک آدرس است که به کنترلر شبکه (کارت شبکه یا NIC) تخصیص داده میشود که برای شناسائی آن دستگاه در شبکه مورد استفاده قرار می گیرد. مک آدرس از شش گروه اعداد با مبنای هگزادسیمال تشکیل شده که معمولا با خط تیره و یا دو نقطه از هم جدا شده اند.
اگر دستور زیر را بزنید میتوانید اطلاعات کارت شبکه سیستم خود به همراه مک آدرس آن را مشاهده کنید :
C:\> ipconfig /all
کاری که پروتکل ARP انجام میدهد ترجمه آدرس مک به آدرس اینترنتی و برعکس است. پروتکل ARP از جدولی با نام جدول ترجمه آدرس برای اینکار انجام میدهد. در سیستم های عامل لینوکس برنامه های دیگری مانند arping، arpwatch و arptables برای کار با اطلاعات ARP وجود دارند که میتوانید در این مورد بیشتر سرچ کنید.
مثالی از فرمان ها:
برای مشاهده جدول ترجمه آدرس میتوانید از گزینه -a استفاده کنید :
C:\> arp -a
مشاهده مک آدرس یک نشانی اینترنتی بخصوص :
C:\> arp -a 192.168.42.129
اضافه کردن یک نشانی جدید بصورت دستی به جدول ARP:
C:\> arp -s 192.168.42.129 1a-a9-e8-74-2d-aa
حذف یک نشانی اینترنتی بخصوص از جدول ARP:
C:\> arp -d 192.168.42.129
ابزار Route
کاربرد : نمایش و دستکاری اطلاعات مسیریابی شبکه
توضیح مختصر :
در مسیریاب های شبکه (روترها) و یا سیستم های شبکه که وظیفه مسیریابی را دارند جدولی وجود دارد به همین نام، جدول روتینگ (مسیریابی)، در صورتیکه بخواهیم این جدول را ببینیم و یا دستکاری کنیم میتوانیم از این ابزار استفاده کنیم (که به تغییر دادن این جدول بصورت دستی اصطلاحا مسیریابی ایستا گفته میشود).
مثالی از فرمان ها:
نمایش جدول مسیردهی محلی:
C:\> route print
افزودن نشانی جدید به جدول مسیریابی :
C:\> route add <ip_address> <mac_address> <subnet_mask>
حذف یک نشانی بخصوص از جدول :
C:\> route delete <ip_address>
ابزار TraceRT
کاربرد : پیگیری مسیر بسته های شبکه و زمان های تاخیر در هر گره (Network Delays)
توضیح مختصر :
تریس روت که در محیط های سیستم های عامل شبه یونیکس با فرمان Traceroute و در سیستم های عامل ویندوز با فرمان TraceRT اجرا میشود برای بررسی مسیر (Route) و اندازه گیری تاخیرهای انتقال بسته های شبکه (Packets) مورد استفاده قرار میگیرد، شما از طریق این برنامه میتوانید ببینید ارتباط شبکه ای شما به یک خادم (سرور) از چه مسیرهایی عبور میکند و در هر گره چقدر تاخیر دارد، بسته به نوع پیاده سازی این ابزار در سیستم های عامل مختلف از درخواست های پروتکل ICMP و یا UDP استفاده میکند.
همچنین نسخه های با رابط کاربر گرافیکی این برنامه نیز وجود دارند. نرم افزار پینگ پلاتر یکی ازین ابزارهای گرافیکی است که میتوانید نسخه چهارده روزه آن را دانلود و تست کنید.
تریس روت برنامه ساده ای است که میتواند روی هر میزبان اینترنتی اجرا شود، هنگامی که کاربر نام میزبان مقصدی را مشخص میکند، این برنامه در میزبان منبع (یعنی رایانه شما) چندین بسته خاص (معمولا سه بسته) را به سمت آن مقصد ارسال میکند، هنگامی که این بسته ها برای رسیدن به مقصد تلاش میکنند از مجموعه ای از مسیریاب ها عبور میکنند، هنگامی که مسیریابی، یکی از این بسته ها را دریافت میکند، پیام کوتاهی به منبع (یعنی رایانه شما) میفرستد که حاوی نام و آدرس آن مسیریاب است. اگر N-1 مسیریاب بین منبع و مقصد وجود داشته باشد، منبع N بسته خاص را به شبکه ارسال میکند و هر بسته با مقصد نهایی آدرس دهی خواهد شد، منبع زمانی را ثبت میکند که بین زمان ارسال بسته و زمان دریافت پیام بازگشتی متناظر سپری شده است؛ همچنین نام و نشانی مسیریابی را که پیام را بر میگرداند ثبت میکند. در این روش منبع میتواند مسیر طی شده توسط بسته ها را از منبع به مقصد دوباره بسازد و منبع میتواند تاخیرهای رفت و برگشت (Delay) به تمام مسیریابهای میانی را تعیین کند. برنامه تریس روت این تجربه را سه بار تکرار میکند یعنی 3*N بسته را به مقصد ارسال میکند. در تصویر زیر اجرای این برنامه برای سرور گوگل را میبینید :
اگر سیستم منبع کمتر از سه پیام پاسخ از هر مسیریاب (بسته به اتلاف بسته در شبکه) دریافت کند، تریس روت یک ستاره جلوی نشانی آی پی آن مسیریاب قرار میدهد و سپس کمتر از سه مرتبه رفت و برگشت را برای آن مسیریاب گزارش میکند، همانطور که میبینید طبیعی است که با دور شدن مسافت فیزیکی مسیریاب ها از تهران تا سرور گوگل ! مدت زمان تاخیر های رفت و برگشت به ترتیب بیشتر و بیشتر میشوند.
در نسخه ششم پروتکل اینترنت (IPv6) این برنامه با نام tracert6 و یا traceroute6 شناخته میشود.
مثالی از فرمان ها:
دستورات تریس روت و گزینه های آن واضح هستند و نیازی به توضیح بیشتری ندارند:
با اجرای دستور زیر میتوانید به راهنمای دستور تریس روت دسترسی پیدا کنید :
C:\> tracert --help
ابزار PathPing
کاربرد : ترکیب قابلیت های Ping و TraceRT در یک ابزار
توضیح مختصر :
همانطور که از نام این ابزار بر میآید ترکیبی از قابلیت های مسیریابی (Path) و پینگ (Ping) با هم است که از ویندوز 2000 به سیستم عامل ویندوز اضافه گردید. لذا این ابزار فقط در سیستم عامل ویندوز موجود است، اما مشابه آن مانند MTR در سیستم های عامل با هسته لینوکس وجود دارند.
مثالی از فرمان ها:
C:\> pathping google.com
ابزار NetStat
کاربرد : پیدا کردن مشکلات شبکه و میزان ترافیک
توضیح مختصر :
یکی از کاملترین و جامع ترین ابزارهای مدیریت و نگهداری شبکه ابزار نت استت است، اگر این فرمان را بدون هیچ گزینه ای وارد کنید به شما فهرستی از اتصال های فعال در سیستم را به همراه نوع پروتکل، نشانی آی پی، نام میزبان و وضعیت هرکدام میدهد.
در خروجی فرمان هر ستون شامل موارد زیر است:
Proto :
به معنای نوع پروتکل TCP و یا UDP
Local Address :
نشانی اینترنتی سیستم محلی و پورت مورد استفاده هر کدام
Foreign Address :
نشانی اینترنت و شماره پورت سیستم ریموت
State :
وضعیت اتصال
مثالی از فرمان ها:
برای نمایش آمار فقط برای پروتکل UDP و یا TCP :
C:\> netstat -sp tcp
C:\> netstat -sp udp
برای نمایش اتصالات TCP به همراه شناسه پروسس (PID) در هر پنج ثانیه (با کلیدهای ترکیبی Ctrl+C میتوانید اجرای هر دستوری را متوقف کنید) :
C:\> netstat -o 5
برای نمایش اتصالات TCP فعال به همراه شناسه پروسس به حالت عددی (بدون نام میزبان) :
C:\> netstat -no
نمایش اطلاعات کنترلر شبکه (NIC):
C:\> netstat -e
نمایش اطلاعات پروتکل ها :
C:\> netstat -s
نمایش جدول مسیردهی :
C:\> netstat -r
ابزار NbtStat
کاربرد : نمایش آمار پروتکل ها و اتصالات TCP با استفاده از NBT
توضیح مختصر :
در سیستم های قدیمی برای ارتباط دو یا چند سیستم در یک شبکه محلی از شبه پروتکلی استفاده میشد به نام نت بایوس (NetBIOS) که نحوه نام گذاری و آدرس دهی خاص خود را برای هر گره در شبکه داشت لذا برای برنامه های قدیمی که بر مبنای ابزارهای برنامه نویسی نت بایوس پیاده سازی شده اند جهت اتصال به اینترنت و استفاده از پروتکل اینترنت (TCP/IP) پروتکلی به نام NBT ایجاد شد که امکان اتصال برنامه های قدیمی را بر بستر پروتکل اینترنت ایجاد میکند (و امکان ترجمه نام های نت بایوس را به نشانی های آی پی در پروتکل اینترنت مهیا میکند).
امروزه نت بایوس منسوخ شده است و تنها در صورتیکه در شبکه سازمانی تان از نسخه های بسیار قدیمی ویندوز و با برنامه های قدیمی بر مبنای نت بایوس استفاده میکنید این ابزار میتواند جهت نگهداری شبکه به شما کمک کند.
با استفاده از دستورNBTSTAT می توان به اطلاعات مربوط به پروتکل های NBT، به جدول هایی که در آن اسم های NetBIOS قرار گرفته و مربوط به سیستم محلی و ریموت است دسترسی پیدا کرد و در صورت لزوم این اطلاعات را حذف و یا اصلاح کرد.
مثالی از فرمان ها:
نمایش کش محلی :
C:\> nbtstat -c
نمایش فهرست نام های محلی :
C:\> nbtstat -n
نمایش آمارهای ثبت شده :
C:\> nbtstat -r
نمایش اجلاس سرویس ها :
C:\> nbtstat -s
ابزار IPConfig
کاربرد : نمایش تنظیمات شبکه و اطلاعات پروتکل های DHCP و DNS
توضیح مختصر :
همانطور که از نام این ابزار بر میآید پیکربندی های مربوط به پروتکل اینترنت و نشانی های اینترنتی با این ابزار انجام میشود. در صورتیکه این دستور را بدون هیچ گزینه و سوئیچی وارد کنید یک خروجی کلی از وضعیت شبکه به شما میدهد:
مثالی از فرمان ها:
نمایش همه اطلاعات شبکه :
C:\> ipconfig /all
تقاضای نشانی جدید از DHCP :
C:\> ipconfig /renew
آزاد کردن نشانی از DHCP :
C:\> ipconfig /release
نمایش کش DNS :
C:\> ipconfig /displaydns
پاک کردن کش DNS :
C:\> ipconfig /flushdns
خروجی گرفتن از تنظیمات :
C:\> ipconfig /batch
ابزار TaskList
کاربرد : نمایش فهرست پردازش ها و سرویس های مرتبط با هرکدام.
توضیح مختصر :
این دستور مانند برنامه ی Task Manager ویندوز فهرستی از پراسس ها و شماره آنها و میزان حافظه مصرفی هرکدام را نمایش میدهد، این دستور مانند دستور ps در سیستم های عامل شبه یونیکس عمل میکند.
مثالی از فرمان ها:
نمایش سرویس های مربوط به هر پراسس:
C:\> tasklist -svc
مکان فایل های dll مربوط به هر پراسس :
C:\> tasklist -m
دستور Getmac
کاربرد : پیدا کردن آدرس مک آداپتورهای شبکه
توضیح مختصر:
این دستور برای نمایش آدرس مک یا Media Access Control (MAC) برای هر یک از آداپتورهای شبکه (NIC) میباشد.
مثالی از فرمان ها:
C:\> GetMac
خروجی :
سخن پایانی
ابزارها و نرم افزارهای شبکه بسیار متنوع هستند، مطالعه ابزارهای FTP، Telnet و SSH را به همه کاربران تازه کار جهت ارتباط با دستگاه های متصل به شبکه توصیه میکنم، هدفم در این پست پرکاربردترین ابزارهای عیب یابی و نگهداری شبکه در ویندوز به زبان ساده بود اما سعی کردم بار علمی مطلب کم نشود. بعنوان اولین پستم در ویرگول و تست این ابزار جدید و اولین موضوعی که به ذهنم رسید امیدوارم مطلب مفیدی نوشته باشم.
مطلبی دیگر از این انتشارات
معرفی کتابِ مینیمالیسمِ دیجیتال
مطلبی دیگر از این انتشارات
گرفتن کوئری های سریع با Azure Data Studio
مطلبی دیگر از این انتشارات
جاوا اسکریپت، آچار فرانسه برنامه نویسی