پک عملی شماره ۳ — نسخه عمیق

CMD برای پشتیبان شبکه

این بار فقط دستور نمی‌بینی؛ یاد می‌گیری هر دستور چرا اجرا می‌شود، خروجی چه می‌گوید، هر Error چه برداشتی دارد و قدم بعدی عیب‌یابی چیست

تفسیر خروجیIf → Thenسناریوی واقعیScreenshot واقعیTroubleshooting
Command Prompt واقعی Windows
مسیر کامل کارگاه
۱CMD را درست باز کن و سطح دسترسی را بفهم۲روش حرفه‌ای خواندن خروجی CMD۳Help و /?؛ Syntax را از خود Windows بپرس۴dir، cd، type؛ برای Log و فایل تنظیمات۵hostname؛ قبل از هر تغییر مطمئن شو روی سیستم درست کار می‌کنی۶whoami؛ بفهم با چه حساب و گروه‌هایی کار می‌کنی۷systeminfo؛ نسخه، Boot Time و وضعیت کلی سیستم۸ipconfig؛ اول بفهم Windows چه تنظیم شبکه‌ای دارد۹ping؛ فقط «جواب داد/نداد» نیست، باید نتیجه را تفسیر کنی۱۰tracert؛ بفهم بسته تقریباً از چه مسیرهایی عبور می‌کند۱۱pathping؛ وقتی قطعی و Packet Loss لحظه‌ای داری۱۲nslookup؛ دقیقاً بفهم DNS چه پاسخی می‌دهد۱۳arp -a؛ ببین Windows برای IPهای Local چه MACی می‌شناسد۱۴getmac /v؛ MAC درست Adapter را پیدا کن۱۵route print؛ وقتی چند Gateway، VPN یا Adapter داری۱۶netstat -ano؛ Port را به Process وصل کن۱۷netsh؛ وضعیت IPv4 و Wi‑Fi را عمیق‌تر ببین۱۸net use؛ Mapping و Sessionهای SMB را بفهم۱۹net view؛ Shareهای Server را ببین ولی نتیجه را مطلق ندان۲۰net user و net localgroup؛ Local Account را از Domain جدا کن۲۱gpupdate؛ Refresh Policy، نه درمان جادویی GPO۲۲gpresult؛ پاسخ سؤال «واقعاً چه GPOیی اعمال شده؟»۲۳tasklist و taskkill؛ اول Process را شناسایی کن، بعد اگر لازم بود ببند۲۴sc query؛ وضعیت Service را از خود Service Control Manager بخوان۲۵DISM و SFC؛ خروجی را بخوان و بدان هر پیام چه معنی دارد۲۶chkdsk؛ فرق Scan با Repair را بفهم۲۷shutdown؛ Restart کنترل‌شده، نه ناگهانی۲۸w32tm؛ Time Source را بفهم، فقط ساعت را دستی عوض نکن۲۹Redirect و findstr؛ خروجی را برای Ticket نگه دار۳۰سناریوی ترکیبی: یک Client اینترنت ندارد۳۱سناریوی ترکیبی: DNS داخلی۳۲سناریوی ترکیبی: Group Policy۳۳سناریوی ترکیبی: Shared Folder۳۴سناریوی ترکیبی: قطعی لحظه‌ای۳۵سناریوی ترکیبی: Port و Service۳۶جدول تشخیص سریع۳۷چک‌لیست پایان پک
روش آموزش این نسخه

هر خروجی باید برایت یک معنی داشته باشد

صرفاً حفظ کردن جمله‌ای مثل «برای دیدن IP بنویس ipconfig» چیزی از عیب‌یابی به تو یاد نمی‌دهد. باید بتوانی خروجی را نگاه کنی و بگویی: این Client DHCP است، این IP منطقی نیست، Gateway خالی است، DNS با شبکه شرکت هم‌خوانی ندارد، پس قدم بعدی من دقیقاً چیست

مشکل کاربر
دستور مناسب
خواندن خروجی
معنی نتیجه
قدم بعدی
بررسی نتیجه
۱
شروع اصولی

CMD عادی یا Administrator؟ اول این را بفهم

دستورهای مشاهده‌ای مثل ipconfig، ping، nslookup، route print و hostname معمولاً برای خواندن وضعیت هستند و اغلب با CMD عادی قابل اجرا هستند. اما DISM، SFC و بعضی عملیات Repair یا مدیریت سیستمی نیاز به Elevated Command Prompt دارند

Command Prompt واقعی با دسترسی Administrator از Microsoft Support
قاعده

فقط چون Administrator هستی دلیل نمی‌شود همه چیز را تغییر بدهی. ابتدا با دستورهای Read-only اطلاعات بگیر و فقط وقتی تشخیص مشخص داری وارد دستورهای تغییردهنده شو

۲
خواندن خروجی

وقتی CMD چیزی می‌گوید، دقیقاً باید چه برداشتی داشته باشی؟

چهار نوع نتیجه زیاد می‌بینی: خروجی موفق، خروجی دارای Warning، Error مستقیم، و خروجی‌ای که از نظر Command موفق است ولی مشکل اصلی را حل نمی‌کند. مثال: «The command completed successfully» فقط می‌گوید خود فرمان موفق بوده، نه اینکه تمام سرویس نهایی سالم است

نمونه واقعی پیام SUCCESS در Command Prompt از Microsoft Support
مثال برداشت درست

اگر CMD پیام SUCCESS نشان داد، فقط می‌دانی همان دستور با موفقیت انجام شده است. این پیام ثابت نمی‌کند مشکل کاربر کاملاً حل شده؛ سرویس نهایی را جداگانه دوباره تست کن

۳
ابزار مکمل

Help و /?؛ Syntax را از خود Windows بپرس

اگر Syntax یادت نیست از Help داخلی استفاده کن. این کار بهتر از حدس زدن Switch است. در خروجی Usage و گزینه‌ها را می‌بینی. اگر پارامتری تغییر ایجاد می‌کند قبل از اجرا اثرش را بررسی کن

تمرین

ipconfig /?
۴
ابزار مکمل

dir، cd، type؛ برای Log و فایل تنظیمات

dir محتویات مسیر را نشان می‌دهد، cd مسیر فعلی را عوض می‌کند و type فایل متنی را در CMD چاپ می‌کند. اگر مسیر فاصله دارد از کوتیشن استفاده کن

تمرین

dir
cd /d C:\Windows\Logs
type C:\Windows\System32\drivers\etc\hosts
۵
ابزار مکمل

hostname؛ قبل از هر تغییر مطمئن شو روی سیستم درست کار می‌کنی

خروجی فقط Computer Name است. اگر با Asset/Ticket نمی‌خواند، قبل از هر تغییر مطمئن شو Remote Session روی سیستم درست است

تمرین

hostname
۶
ابزار مکمل

whoami؛ بفهم با چه حساب و گروه‌هایی کار می‌کنی

whoami حساب فعلی را نشان می‌دهد. /groups گروه‌های Security Token فعلی را می‌دهد. اگر تازه Group Membership عوض شده ولی Session قدیمی است، Sign out می‌تواند برای Token جدید لازم باشد

تمرین

whoami
whoami /user
whoami /groups
۷
ابزار مکمل

systeminfo؛ نسخه، Boot Time و وضعیت کلی سیستم

در خروجی دنبال OS Name، OS Version، System Boot Time، Memory و Hotfixها بگرد. اگر Boot Time خیلی قدیمی است و کاربر ادعا می‌کند Restart کرده، Fast Startup/نوع Shutdown را هم در نظر بگیر

تمرین

systeminfo
۸
آموزش عمیق دستور

ipconfig؛ اول بفهم Windows چه تنظیم شبکه‌ای دارد

این دستور را چرا اجرا می‌کنیم؟

اگر کاربر می‌گوید «اینترنت ندارم»، قبل از هر تغییر باید وضعیت واقعی کارت شبکه را ببینی. ipconfig به تو می‌گوید Client چه IP، Subnet، Gateway و در حالت /all چه DHCP و DNSهایی دارد

دستور

ipconfig /all

نمونه خروجی و نحوه خواندن آن

Ethernet adapter Ethernet:

   Description . . . . . . . . . . . : Intel(R) Ethernet Controller
   Physical Address. . . . . . . . . . : 4C-52-62-11-22-33
   DHCP Enabled. . . . . . . . . . . . : Yes
   IPv4 Address. . . . . . . . . . . . : 192.168.10.25(Preferred)
   Subnet Mask . . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . . : 192.168.10.1
   DHCP Server . . . . . . . . . . . . : 192.168.10.1
   DNS Servers . . . . . . . . . . . . : 192.168.10.10
اگر در خروجی این را دیدیمعنی‌اش چیست؟
DHCP Enabled: Yesیعنی IP این Adapter باید از DHCP گرفته شود، نه اینکه دستی تنظیم شده باشد
IPv4 Address: 192.168.10.25آدرس فعلی Client است؛ باید با IP Plan یا Client سالم همان VLAN مقایسه شود
Subnet Mask: 255.255.255.0در این مثال شبکه /24 است و Client مقصدهای 192.168.10.x را Local در نظر می‌گیرد
Default Gateway: 192.168.10.1مسیر خروج Client به شبکه‌های دیگر است
DNS Servers: 192.168.10.10نام‌ها از این DNS Resolve می‌شوند؛ در Domain معمولاً این بخش بسیار مهم است

اگر این حالت را دیدی، چه نتیجه‌ای بگیری؟

  • IPv4 برابر 169.254.x.x بودClient روی DHCP است ولی Lease معتبر نگرفته؛ Link، VLAN، DHCP Server یا DHCP Relay را بررسی کن
  • Default Gateway خالی بودClient ممکن است با دستگاه‌های Local ارتباط داشته باشد ولی برای شبکه‌های دیگر Route پیش‌فرض ندارد
  • DNS با Client سالم فرق داشتقبل از تغییر، سیاست DNS سازمان را بررسی کن؛ تفاوت DNS می‌تواند علت مشکل Name Resolution باشد
  • چند Adapter دیدیفقط Adapter فعال و مرتبط با اتصال فعلی را تحلیل کن؛ VPN/VMware/Hyper-V می‌توانند خروجی را شلوغ کنند
قدم بعدی

بعد از خواندن خروجی، مستقیم چیزی را تغییر نده. اگر IP و Gateway منطقی‌اند، مرحله بعد Ping Gateway است. اگر IP از نوع 169.254 است، تمرکز را روی DHCP و اتصال Layer 2 بگذار

سناریوی واقعی

کاربر می‌گوید فقط سیستم خودش اینترنت ندارد. ipconfig /all نشان می‌دهد IPv4=169.254.34.18. این یعنی قبل از DNS و اینترنت باید بررسی کنی چرا Client از DHCP آدرس نگرفته است

۹
آموزش عمیق دستور

ping؛ فقط «جواب داد/نداد» نیست، باید نتیجه را تفسیر کنی

این دستور را چرا اجرا می‌کنیم؟

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

دستور

ping 192.168.10.1
ping 8.8.8.8
ping example.com
ping -t 192.168.10.1

نمونه خروجی و نحوه خواندن آن

Pinging 192.168.10.1 with 32 bytes of data:
Reply from 192.168.10.1: bytes=32 time<1ms TTL=64
Reply from 192.168.10.1: bytes=32 time<1ms TTL=64
Reply from 192.168.10.1: bytes=32 time<1ms TTL=64
Reply from 192.168.10.1: bytes=32 time<1ms TTL=64

Ping statistics for 192.168.10.1:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
اگر در خروجی این را دیدیمعنی‌اش چیست؟
Reply from ...مقصد یا دستگاهی در مسیر برای ICMP Echo پاسخ داده است
time<1msتاخیر پاسخ در این نمونه بسیار کم است؛ برای Gateway داخل LAN طبیعی است
TTL=64مقداری است که همراه پاسخ می‌آید؛ به تنهایی معیار سلامت شبکه نیست
Lost = 0 (0% loss)در این نمونه هر چهار تست پاسخ گرفته‌اند؛ برای قطعی لحظه‌ای باید تعداد تست بیشتری بگیری

اگر این حالت را دیدی، چه نتیجه‌ای بگیری؟

  • Request timed outدر زمان تعیین‌شده پاسخ ICMP نگرفتی؛ مقصد می‌تواند Down باشد، مسیر مشکل داشته باشد یا ICMP توسط Firewall بسته شده باشد
  • Destination host unreachableمعمولاً یک Host یا Router می‌گوید Route قابل استفاده‌ای به مقصد ندارد؛ ببین پیام از IP خودت، Gateway یا Hop دیگری آمده
  • Ping IP بیرونی جواب داد ولی Ping نام جواب نداداحتمال Name Resolution/DNS را جدی‌تر کن و nslookup بزن
  • Gateway هم Packet Loss داشتمشکل Local، Wi-Fi، کابل، Port، VLAN یا خود Gateway را قبل از ISP بررسی کن
قدم بعدی

برای اینترنت، ترتیب پیشنهادی: Gateway → IP بیرونی → نام اینترنتی. اگر Gateway Fail است سراغ DNS نرو. اگر IP بیرونی OK و نام Fail است سراغ DNS برو

سناریوی واقعی

کاربر می‌گوید سایت‌ها باز نمی‌شوند. ping 8.8.8.8 پاسخ دارد ولی ping example.com می‌گوید نام پیدا نشد. این الگو به تو می‌گوید اینترنت از نظر IP احتمالاً برقرار است و باید DNS را بررسی کنی

۱۰
آموزش عمیق دستور

tracert؛ بفهم بسته تقریباً از چه مسیرهایی عبور می‌کند

این دستور را چرا اجرا می‌کنیم؟

وقتی مقصد دور است و می‌خواهی بفهمی ترافیک تا کدام Hop پیش می‌رود، tracert مسیر را مرحله‌به‌مرحله نمایش می‌دهد

دستور

tracert -d 8.8.8.8

نمونه خروجی و نحوه خواندن آن

Tracing route to 8.8.8.8 over a maximum of 30 hops

  1    <1 ms    <1 ms    <1 ms  192.168.10.1
  2     4 ms     4 ms     5 ms  10.20.0.1
  3     *        *        *     Request timed out.
  4    18 ms    17 ms    18 ms  203.0.113.1
  5    22 ms    21 ms    22 ms  8.8.8.8

Trace complete.
اگر در خروجی این را دیدیمعنی‌اش چیست؟
Hop 1معمولاً Gateway یا اولین Router مسیر است؛ باید با طراحی شبکه تو سازگار باشد
* * * Request timed outآن Hop برای Probe پاسخ نداده؛ اگر Hopهای بعدی جواب می‌دهند الزاماً خرابی نیست
Trace completeمسیر تا مقصد تکمیل شده است
-dنام Hopها Resolve نمی‌شود و تست معمولاً سریع‌تر و ساده‌تر برای تحلیل IP-Level است

اگر این حالت را دیدی، چه نتیجه‌ای بگیری؟

  • Hop اول اشتباه بودRoute Table، VPN، چند Adapter و Default Gateway را بررسی کن
  • از یک Hop به بعد همه Timeout شدندآن نقطه یا مسیر بعد از آن ارزش بررسی دارد؛ با تست‌های دیگر تأیید کن
  • یک Hop Timeout شد ولی بعدی‌ها جواب دادندهمان Timeout به‌تنهایی مشکل محسوب نمی‌شود
قدم بعدی

Tracert را به‌تنهایی حکم نهایی قرار نده. نتیجه را با Ping، Pathping، Route و وضعیت Application ترکیب کن

سناریوی واقعی

Gateway پاسخ دارد و اینترنت روی بعضی مقصدها کند است. tracert نشان می‌دهد Hopهای اول طبیعی‌اند و افزایش شدید Delay از مسیر بیرونی شروع می‌شود؛ حالا محدوده بررسی از LAN دورتر شده است

۱۱
آموزش عمیق دستور

pathping؛ وقتی قطعی و Packet Loss لحظه‌ای داری

این دستور را چرا اجرا می‌کنیم؟

Pathping ابتدا مسیر را پیدا می‌کند و بعد مدتی روی Hopها Sample می‌گیرد. برای ارتباط ناپایدار، داده آماری بیشتری از یک Ping چهارپکتی می‌دهد

دستور

pathping 8.8.8.8

نمونه خروجی و نحوه خواندن آن

Computing statistics for 75 seconds...
            Source to Here   This Node/Link
Hop  RTT    Lost/Sent = Pct  Lost/Sent = Pct  Address
  0                                           PC-01
  1    1ms     0/100 = 0%      0/100 = 0%    192.168.10.1
  2    6ms     2/100 = 2%      2/100 = 2%    10.20.0.1
  3   18ms     2/100 = 2%      0/100 = 0%    203.0.113.1
اگر در خروجی این را دیدیمعنی‌اش چیست؟
RTTزمان رفت و برگشت تقریبی تا Hop است
Lost/Sentنسبت Packetهای از دست‌رفته به ارسال‌شده است
Source to HereLoss تجمعی تا آن نقطه را نشان می‌دهد
This Node/Linkبه تشخیص Loss نسبت‌داده‌شده به همان بخش کمک می‌کند، ولی محدودیت پاسخ ICMP را در نظر بگیر

اگر این حالت را دیدی، چه نتیجه‌ای بگیری؟

  • Loss از Gateway شروع شداول Wi-Fi/LAN/Port/Gateway را بررسی کن
  • یک Hop Loss نشان داد ولی Hopهای بعدی Loss نداشتندممکن است آن Router پاسخ ICMP را محدود کرده باشد؛ نتیجه را خرابی قطعی حساب نکن
قدم بعدی

زمان دقیق قطعی کاربر را با خروجی Pathping/Ping تطبیق بده و قبل از Escalation نتیجه را ثبت کن

سناریوی واقعی

کاربر می‌گوید RDP هر چند دقیقه Freeze می‌شود. ping -t به Gateway و Pathping هم‌زمان کمک می‌کنند بفهمی Loss از شبکه داخلی شروع می‌شود یا بعد از Gateway

۱۲
آموزش عمیق دستور

nslookup؛ دقیقاً بفهم DNS چه پاسخی می‌دهد

این دستور را چرا اجرا می‌کنیم؟

اگر IP کار می‌کند اما نام کار نمی‌کند، nslookup به‌صورت مستقیم DNS را Query می‌کند و یکی از مهم‌ترین ابزارهای تفکیک DNS از مشکل شبکه است

دستور

nslookup file01.company.local
nslookup example.com 192.168.10.10

نمونه خروجی و نحوه خواندن آن

Server:  dc01.company.local
Address:  192.168.10.10

Name:    file01.company.local
Address: 192.168.10.20
اگر در خروجی این را دیدیمعنی‌اش چیست؟
ServerDNS Serverی است که پاسخ Query را داده است
Address زیر ServerIP همان DNS Server است
Name/Address پایینپاسخ Resolve شده برای نامی است که پرسیده‌ای

اگر این حالت را دیدی، چه نتیجه‌ای بگیری؟

  • DNS request timed outClient در زمان لازم پاسخ DNS نگرفته؛ مسیر تا DNS، Firewall یا سرویس DNS را بررسی کن
  • Non-existent domain / NXDOMAINDNS می‌گوید چنین رکوردی در فضای مورد سؤال پیدا نشده؛ spelling، Zone و Record را بررسی کن
  • Server در خروجی DNS عمومی بود ولی Client عضو Domain استپیکربندی DNS را با سیاست Domain مقایسه کن؛ برای منابع داخلی می‌تواند مشکل‌ساز باشد
  • یک DNS خاص جواب داد و DNS پیش‌فرض جواب ندادمشکل را روی Resolver پیش‌فرض یا مسیر دسترسی به آن متمرکز کن
قدم بعدی

بعد از اصلاح DNS، اگر Client هنوز پاسخ قدیمی Cache کرده است می‌توانی ipconfig /flushdns را اجرا و دوباره nslookup/Application را تست کنی

سناریوی واقعی

\\FILE01\Public با IP باز می‌شود ولی با نام نه. nslookup file01 می‌گوید Non-existent domain؛ حالا مسئله Permission یا SMB نیست، اول DNS Record/Zone را بررسی می‌کنی

۱۳
آموزش عمیق دستور

arp -a؛ ببین Windows برای IPهای Local چه MACی می‌شناسد

این دستور را چرا اجرا می‌کنیم؟

در Ethernet، Client برای ارسال به همسایه Local به MAC نیاز دارد. ARP Cache نشان می‌دهد برای IPهای محلی چه MACهایی شناخته شده‌اند

دستور

arp -a

نمونه خروجی و نحوه خواندن آن

Interface: 192.168.10.25 --- 0x8
  Internet Address      Physical Address      Type
  192.168.10.1          00-11-22-33-44-55     dynamic
  192.168.10.20         00-aa-bb-cc-dd-ee     dynamic
اگر در خروجی این را دیدیمعنی‌اش چیست؟
InterfaceARP Table مربوط به کدام Interface است
Internet AddressIP همسایه Local
Physical AddressMAC شناخته‌شده برای آن IP
dynamicEntry به‌صورت پویا از ARP یاد گرفته شده است

اگر این حالت را دیدی، چه نتیجه‌ای بگیری؟

  • Gateway Entry وجود داردحداقل ARP Resolution برای Gateway اتفاق افتاده؛ هنوز سلامت کامل Gateway یا Internet ثابت نشده
  • MAC یک IP مرتب تغییر می‌کنددر کنار سایر شواهد می‌تواند نشانه IP Conflict یا تغییر دستگاه باشد؛ DHCP/ARP/Switch را بررسی کن
قدم بعدی

ARP را با DHCP Lease، MAC ثبت‌شده تجهیزات و در صورت دسترسی MAC Table سوئیچ مقایسه کن

سناریوی واقعی

دو کاربر گزارش می‌دهند گاهی Remote Desktop به سیستم اشتباه می‌رود. بررسی IP Plan و ARP یکی از سرنخ‌ها برای احتمال IP تکراری است

۱۴
ابزار مکمل

getmac /v؛ MAC درست Adapter را پیدا کن

خروجی Connection Name، Network Adapter و Physical Address را می‌دهد. در سیستم دارای VPN/VMware حتماً Adapter فیزیکی درست را انتخاب کن

تمرین

getmac /v
۱۵
آموزش عمیق دستور

route print؛ وقتی چند Gateway، VPN یا Adapter داری

این دستور را چرا اجرا می‌کنیم؟

Windows برای هر مقصد بر اساس Routing Table تصمیم می‌گیرد Packet را از کدام Interface و Gateway بفرستد. در سیستم ساده شاید فقط Default Route مهم باشد، ولی VPN و چند NIC جدول را پیچیده می‌کنند

دستور

route print

نمونه خروجی و نحوه خواندن آن

IPv4 Route Table
===========================================================================
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0     192.168.10.1   192.168.10.25     25
     192.168.10.0    255.255.255.0         On-link     192.168.10.25    281
اگر در خروجی این را دیدیمعنی‌اش چیست؟
0.0.0.0 / 0.0.0.0Default Route است؛ مقصدهایی که Route اختصاصی ندارند از این مسیر می‌روند
GatewayNext Hop برای Route است
InterfaceIP Interface محلی‌ای که مسیر از آن استفاده می‌کند
Metricیکی از عوامل انتخاب بین Routeهای قابل استفاده؛ عدد کمتر معمولاً ترجیح بیشتری دارد

اگر این حالت را دیدی، چه نتیجه‌ای بگیری؟

  • دو Default Route دیدیVPN، چند NIC یا Metricها را بررسی کن؛ ممکن است مسیر خروجی برخلاف انتظار باشد
  • Route شبکه مقصد به VPN بودطبیعی است اگر طراحی VPN همین را می‌خواهد؛ قبل از حذف Route معماری را بررسی کن
قدم بعدی

در سطح Support اول Route را تحلیل کن. Route add/delete تغییر واقعی شبکه است و بدون Rollback Plan و شناخت Topology انجام نده

سناریوی واقعی

بعد از اتصال VPN اینترنت کاربر تغییر مسیر می‌دهد. route print نشان می‌دهد VPN یک Default Route جدید با Metric بهتر ساخته است؛ حالا علت را می‌فهمی بدون اینکه DNS را تصادفی تغییر بدهی

۱۶
آموزش عمیق دستور

netstat -ano؛ Port را به Process وصل کن

این دستور را چرا اجرا می‌کنیم؟

برای اینکه بفهمی یک سرویس روی Port مشخص Listen می‌کند یا یک Connection برقرار است، netstat یکی از ابزارهای ساده و مهم CMD است

دستور

netstat -ano | findstr :443

نمونه خروجی و نحوه خواندن آن

  TCP    0.0.0.0:443       0.0.0.0:0        LISTENING       4120
  TCP    192.168.10.25:53122  203.0.113.20:443 ESTABLISHED     8652
اگر در خروجی این را دیدیمعنی‌اش چیست؟
0.0.0.0:443 LISTENINGیک Process روی Port 443 روی همه IPv4 Interfaceهای مربوطه Listen می‌کند
ESTABLISHEDTCP Session برقرار است
عدد انتهای خطPID است و باید با tasklist یا Task Manager تطبیق داده شود

اگر این حالت را دیدی، چه نتیجه‌ای بگیری؟

  • هیچ LISTENING برای Port سرویس نیستService/Application ممکن است اجرا نشده باشد، روی Port دیگری Bind شده باشد یا Startup شکست خورده باشد
  • LISTENING هست ولی Client Remote وصل نمی‌شودFirewall، Bind Address، Route و ACL را بررسی کن؛ Local Listen فقط یک بخش مسئله است
قدم بعدی

PID را با tasklist پیدا کن و در صورت Service بودن، وضعیت Service و Logهای Application را بررسی کن

سناریوی واقعی

نرم‌افزار داخلی باید روی TCP/443 سرویس بدهد. netstat هیچ LISTENING نشان نمی‌دهد؛ پس قبل از بررسی Switch و Router، خود Application/Service را بررسی می‌کنی

۱۷
ابزار مکمل

netsh؛ وضعیت IPv4 و Wi‑Fi را عمیق‌تر ببین

در show interfaces وضعیت اتصال Wi‑Fi، SSID و Signal را می‌بینی. در show config وضعیت IP Interfaceها را. اینجا روی مشاهده تمرکز کن و تغییرات netsh را بدون نیاز انجام نده

تمرین

netsh interface ipv4 show config
netsh wlan show interfaces
netsh wlan show profiles
۱۸
آموزش عمیق دستور

net use؛ Mapping و Sessionهای SMB را بفهم

این دستور را چرا اجرا می‌کنیم؟

وقتی Shared Folder Map نمی‌شود، net use به تو می‌گوید چه Mappingها و Sessionهایی وجود دارند و می‌توانی Mapping مشخصی را ایجاد یا حذف کنی

دستور

net use
net use Z: \\FILE01\Public
net use Z: /delete

نمونه خروجی و نحوه خواندن آن

Status       Local     Remote                    Network
-------------------------------------------------------------------------------
OK           Z:        \\FILE01\Public           Microsoft Windows Network
The command completed successfully.
اگر در خروجی این را دیدیمعنی‌اش چیست؟
Status OKMapping از دید net use برقرار است
Local Z:Drive Letter محلی است
Remoteمسیر UNC مقصد را نشان می‌دهد
command completed successfullyخود فرمان با موفقیت اجرا شده؛ هنوز Permission روی هر فایل داخل Share را جدا باید بررسی کرد

اگر این حالت را دیدی، چه نتیجه‌ای بگیری؟

  • System error 53مسیر شبکه پیدا نشده؛ Name Resolution، Connectivity، SMB و نام Server/Share را بررسی کن
  • System error 5 / Access is deniedمسیر پیدا شده اما مجوز رد شده؛ Authentication/Share/NTFS Permission را بررسی کن
  • Drive Letter قبلاً استفاده شدهMapping فعلی را ببین و Letter آزاد انتخاب کن یا Mapping قدیمی را طبق نیاز حذف کن
قدم بعدی

خطای Path و خطای Permission را جدا کن. اول دسترسی تا Server و Share، بعد User/Group و Permission

سناریوی واقعی

کاربر می‌گوید Z: باز نمی‌شود. net use نشان می‌دهد Z: هنوز به Server قدیمی Map است؛ مشکل قبل از Permission مشخص می‌شود

۱۹
ابزار مکمل

net view؛ Shareهای Server را ببین ولی نتیجه را مطلق ندان

اگر Shareها نمایش داده شدند، Name Resolution/SMB حداقل تا حدی کار می‌کند. اگر System error گرفتی متن و شماره خطا را ثبت کن و Connectivity/DNS/Firewall را جدا بررسی کن

تمرین

net view \\FILE01
۲۰
ابزار مکمل

net user و net localgroup؛ Local Account را از Domain جدا کن

net user فهرست Local Userها را می‌دهد و net localgroup administrators اعضای Local Administrators را. قبل از حذف/اضافه عضو سیاست امنیتی سازمان را رعایت کن

تمرین

net user
net localgroup administrators
۲۱
آموزش عمیق دستور

gpupdate؛ Refresh Policy، نه درمان جادویی GPO

این دستور را چرا اجرا می‌کنیم؟

Gpupdate باعث Refresh شدن Group Policy می‌شود. اگر DNS، DC Connectivity یا Scope مشکل دارد، /force به‌تنهایی آن مشکلات را حل نمی‌کند

دستور

gpupdate /force

نمونه خروجی و نحوه خواندن آن

Updating policy...

Computer Policy update has completed successfully.
User Policy update has completed successfully.
اگر در خروجی این را دیدیمعنی‌اش چیست؟
Computer Policy ... successfullyRefresh بخش Computer بدون خطای اعلام‌شده کامل شده
User Policy ... successfullyRefresh بخش User کامل شده
Logoff/Restart requiredبرخی Extensionها یا Policyها برای اعمال نهایی نیاز به Sign out یا Restart دارند

اگر این حالت را دیدی، چه نتیجه‌ای بگیری؟

  • The processing of Group Policy failedمتن ادامه Error را بخوان؛ DNS، DC، SYSVOL، Network و Event Log می‌توانند سرنخ بدهند
  • Update موفق بود ولی تنظیم مورد نظر نیامدبا gpresult بررسی کن اصلاً آن GPO در Resultant Set وجود دارد یا نه
قدم بعدی

بعد از gpupdate، با gpresult /r یا گزارش HTML بررسی کن. موفق بودن Refresh به معنی اعمال شدن هر GPO دلخواه تو نیست

سناریوی واقعی

Drive Map جدید دیده نمی‌شود. gpupdate موفق است ولی gpresult نشان می‌دهد GPO مورد نظر اعمال نشده است؛ حالا باید OU/Filtering را بررسی کنی نه اینکه /force را ده بار تکرار کنی

۲۲
آموزش عمیق دستور

gpresult؛ پاسخ سؤال «واقعاً چه GPOیی اعمال شده؟»

این دستور را چرا اجرا می‌کنیم؟

به‌جای اینکه از روی GPMC حدس بزنی چه چیزی باید اعمال شده باشد، gpresult Resultant Set را از دید همان Client/User نشان می‌دهد

دستور

gpresult /r
gpresult /h "%USERPROFILE%\Desktop\gpresult.html"

نمونه خروجی و نحوه خواندن آن

USER SETTINGS
--------------
    Applied Group Policy Objects
    -----------------------------
        Drive Mapping Policy
        Desktop Security Policy

    The following GPOs were not applied because they were filtered out
    -------------------------------------------------------------------
        Test Policy
            Filtering:  Denied (Security)
اگر در خروجی این را دیدیمعنی‌اش چیست؟
Applied Group Policy ObjectsGPOهایی که در Resultant Set این Scope اعمال شده‌اند
Denied (Security)GPO در Scope بوده ولی Security Filtering اجازه اعمال نداده
User/Computer Settingsباید Scope درست را تحلیل کنی؛ Policy کاربر و کامپیوتر یکی نیستند

اگر این حالت را دیدی، چه نتیجه‌ای بگیری؟

  • GPO اصلاً در اعمال نشده استOU، Link، Security Filtering، WMI Filter، Loopback و Replication را بررسی کن
  • Denied Security دیدیعضویت Group و Delegation/Filtering را بررسی کن
قدم بعدی

گزارش HTML را برای بررسی جزئی‌تر و ضمیمه Ticket نگه دار؛ مخصوصاً وقتی مشکل باید Escalate شود

سناریوی واقعی

کاربر عضو گروه درست است ولی Policy اعمال نشده. gpresult نشان می‌دهد Security Filtering آن GPO را Deny کرده؛ حالا علت قابل‌اثبات داری

۲۳
آموزش عمیق دستور

tasklist و taskkill؛ اول Process را شناسایی کن، بعد اگر لازم بود ببند

این دستور را چرا اجرا می‌کنیم؟

Tasklist Processها و PID را نشان می‌دهد. Taskkill تغییر ایجاد می‌کند و باید بعد از شناسایی دقیق Process استفاده شود

دستور

tasklist | findstr app.exe
taskkill /PID 4120

نمونه خروجی و نحوه خواندن آن

app.exe                       4120 Console                    1     85,220 K
SUCCESS: Sent termination signal to the process with PID 4120.
اگر در خروجی این را دیدیمعنی‌اش چیست؟
4120PID Process است و می‌توانی با PID netstat تطبیق بدهی
SUCCESSWindows درخواست Terminate را پذیرفته است
بدون /Fابتدا روش غیرForce را امتحان می‌کنی تا Application فرصت Shutdown عادی داشته باشد

اگر این حالت را دیدی، چه نتیجه‌ای بگیری؟

  • ERROR: Access is deniedممکن است Process با Privilege بالاتر اجرا شود یا Process محافظت‌شده باشد؛ قبل از Elevation بررسی کن چه چیزی را می‌بندی
  • Process داده ذخیره‌نشده داردTaskkill می‌تواند باعث از دست رفتن داده شود؛ با User هماهنگ کن
قدم بعدی

برای Process مربوط به Service، معمولاً بهتر است Service را از روش مدیریتی مناسب بررسی کنی نه اینکه Process را کورکورانه Kill کنی

سناریوی واقعی

netstat PID=4120 را برای Port مشکل‌دار نشان می‌دهد. tasklist ثابت می‌کند PID متعلق به app.exe است؛ حالا می‌توانی Log و Service همان Application را هدف بگیری

۲۴
آموزش عمیق دستور

sc query؛ وضعیت Service را از خود Service Control Manager بخوان

این دستور را چرا اجرا می‌کنیم؟

قبل از Restart یک Service باید بدانی الان RUNNING است، STOPPED است یا در وضعیت دیگری گیر کرده

دستور

sc query w32time

نمونه خروجی و نحوه خواندن آن

SERVICE_NAME: w32time
        TYPE               : 20  WIN32_SHARE_PROCESS
        STATE              : 4  RUNNING
                                (STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
اگر در خروجی این را دیدیمعنی‌اش چیست؟
STATE : 4 RUNNINGService در حال اجراست
WIN32_EXIT_CODE : 0در این خروجی Exit Code سیستم صفر است
STOPPEDیعنی Service اکنون اجرا نیست؛ علت را از Startup Type و Event Log بررسی کن

اگر این حالت را دیدی، چه نتیجه‌ای بگیری؟

  • Service وجود نداشتService Name را با Display Name اشتباه نگیر؛ نام واقعی سرویس را پیدا کن
  • Service مرتب Stop می‌شودفقط Start کردن مکرر کافی نیست؛ Event Log و Log Application را بررسی کن
قدم بعدی

اگر نیاز به تغییر Service داری اثر سرویس بر کاربران و سرویس‌های وابسته را بررسی کن

سناریوی واقعی

Time Sync مشکل دارد. sc query w32time نشان می‌دهد Service STOPPED است؛ حالا یک سرنخ داری ولی هنوز باید علت Stop و تنظیم Time را بررسی کنی

۲۵
آموزش عمیق دستور

DISM و SFC؛ خروجی را بخوان و بدان هر پیام چه معنی دارد

این دستور را چرا اجرا می‌کنیم؟

این ابزارها برای خرابی Component Store و فایل‌های محافظت‌شده Windows هستند. طبق راهنمای Microsoft، برای سناریوی فایل‌های سیستمی خراب ابتدا DISM و سپس SFC اجرا می‌شود

دستور

DISM.exe /Online /Cleanup-Image /RestoreHealth
sfc /scannow
DISM و SFC؛ خروجی را بخوان و بدان هر پیام چه معنی دارد

نمونه خروجی و نحوه خواندن آن

Beginning system scan. This process will take some time.
Beginning verification phase of system scan.
Verification 100% complete.

Windows Resource Protection did not find any integrity violations.
اگر در خروجی این را دیدیمعنی‌اش چیست؟
did not find any integrity violationsSFC فایل سیستمی خراب یا مفقودِ قابل تشخیص پیدا نکرد
found corrupt files and successfully repaired themخرابی پیدا شد و SFC اعلام می‌کند Repair انجام شده؛ Restart/Retest بسته به مشکل لازم است
found corrupt files but was unable to fix some of themبخشی از خرابی باقی مانده؛ CBS.log و Repair Source/روش بعدی باید بررسی شود
could not perform the requested operationScan کامل نشده؛ شرایط اجرا و روش‌های پیشنهادی Microsoft را بررسی کن

اگر این حالت را دیدی، چه نتیجه‌ای بگیری؟

  • DISM Error دادError Code را ثبت کن؛ Source، Windows Update، Component Store یا دسترسی می‌تواند مسئله باشد
  • SFC Repair کردمشکل اصلی Application را دوباره تست کن؛ Repair شدن فایل لزوماً ثابت نمی‌کند علت اصلی همان بوده
قدم بعدی

این دستورات را برای هر کندی و هر Error اجرا نکن. وقتی شواهد به خرابی Windows Componentها می‌رسد استفاده کن و نتیجه را مستند کن

سناریوی واقعی

Windows Featureها Errorهای غیرعادی دارند و Eventها به فایل‌های سیستمی اشاره می‌کنند. DISM کامل می‌شود و SFC می‌گوید corrupt files successfully repaired؛ بعد از Repair سرویس مشکل‌دار را دوباره بررسی می‌کنی

۲۶
آموزش عمیق دستور

chkdsk؛ فرق Scan با Repair را بفهم

این دستور را چرا اجرا می‌کنیم؟

CHKDSK ساختار File System و Volume را بررسی می‌کند. /scan برای بررسی Online مناسب است؛ /f تلاش می‌کند خطاها را Fix کند و ممکن است روی Drive سیستم نیاز به Restart داشته باشد

دستور

chkdsk C: /scan
chkdsk C: /f

نمونه خروجی و نحوه خواندن آن

Windows has scanned the file system and found no problems.
No further action is required.
اگر در خروجی این را دیدیمعنی‌اش چیست؟
found no problemsدر Scan فعلی خطای File System گزارش نشده است
found problemsنیاز به بررسی نوع خطا و تصمیم درباره Repair وجود دارد
volume is in use / schedule at restartبرای Fix روی Volume در حال استفاده ممکن است نیاز به اجرای Offline در Restart باشد

اگر این حالت را دیدی، چه نتیجه‌ای بگیری؟

  • I/O Error یا نشانه خرابی Disk داریموضوع را فقط File System فرض نکن؛ سلامت Storage و Backup را جدی بررسی کن
  • سیستم Production استقبل از /f و Restart اثر عملیاتی و Backup را مشخص کن
قدم بعدی

با /scan شروع کن و Repair را فقط وقتی لازم است و با برنامه انجام بده

سناریوی واقعی

کاربر Errorهای File System دارد. /scan خطا گزارش می‌کند؛ قبل از /f مطمئن می‌شوی Backup مهم وجود دارد و زمان Restart هماهنگ شده است

۲۷
ابزار مکمل

shutdown؛ Restart کنترل‌شده، نه ناگهانی

/r یعنی Restart و /t 60 یعنی 60 ثانیه Delay. /a Shutdown زمان‌بندی‌شده را لغو می‌کند. روی Server یا سیستم حساس بدون هماهنگی Restart نکن

تمرین

shutdown /r /t 60
shutdown /a
۲۸
آموزش عمیق دستور

w32tm؛ Time Source را بفهم، فقط ساعت را دستی عوض نکن

این دستور را چرا اجرا می‌کنیم؟

در Domain اختلاف زمان می‌تواند روی Kerberos و Authentication اثر بگذارد. w32tm به تو کمک می‌کند Source و وضعیت Windows Time را ببینی

دستور

w32tm /query /status
w32tm /query /source

نمونه خروجی و نحوه خواندن آن

Leap Indicator: 0(no warning)
Stratum: 4
Last Successful Sync Time: 8/17/2026 8:20:15 PM
Source: DC01.company.local
اگر در خروجی این را دیدیمعنی‌اش چیست؟
Last Successful Sync Timeآخرین زمان Sync موفق را نشان می‌دهد
Sourceسیستمی است که Client زمان را از آن می‌گیرد
no warningLeap Indicator در این نمونه هشدار خاصی اعلام نمی‌کند

اگر این حالت را دیدی، چه نتیجه‌ای بگیری؟

  • Source: Local CMOS Clock روی Client Domain دیدیساختار Time و دسترسی Client به Domain Time Source را بررسی کن
  • Last Successful Sync قدیمی بودService، Connectivity، DNS و Source را بررسی کن
قدم بعدی

معماری Time Domain را بی‌دلیل تغییر نده. اول تشخیص بده Client از چه Sourceی استفاده می‌کند و چرا Sync موفق نیست

سناریوی واقعی

کاربر خطای Authentication مقطعی دارد و ساعت سیستم چند دقیقه عقب است. w32tm /query /source منبع غیرمنتظره نشان می‌دهد؛ حالا مسئله Time Service را هدفمند بررسی می‌کنی

۲۹
ابزار مکمل

Redirect و findstr؛ خروجی را برای Ticket نگه دار

علامت > خروجی را در فایل می‌نویسد و | خروجی را به دستور بعدی می‌دهد. findstr خطوط مورد نظر را فیلتر می‌کند. قبل از ارسال Log اطلاعات حساس را بررسی کن

تمرین

ipconfig /all > "%USERPROFILE%\Desktop\ipconfig.txt"
netstat -ano | findstr :443
سناریو ۱

یک Client اینترنت ندارد؛ خروجی‌ها را به هم وصل کن

  1. ipconfig /all → اگر 169.254 دیدی، هنوز سراغ DNS نرو
  2. اگر IP درست بود Ping Gateway → اگر Fail شد، مسیر Local را بررسی کن
  3. اگر Gateway OK بود Ping IP بیرونی
  4. اگر IP بیرونی OK و نام Fail بود nslookup
  5. بعد از هر تغییر همان Test قبلی را دوباره اجرا کن تا اثر تغییر ثابت شود
سناریو ۲

Share با IP باز می‌شود ولی با نام نه

  1. ipconfig /all → DNS Client را ببین
  2. nslookup FILE01 → آیا Record برمی‌گردد؟
  3. اگر NXDOMAIN است Zone/Record را بررسی کن
  4. اگر DNS Timeout است مسیر یا سرویس DNS را بررسی کن
  5. بعد از اصلاح، Share را با نام دوباره بررسی کن
سناریو ۳

GPO جدید نمی‌آید؛ فقط gpupdate /force کافی نیست

  1. whoami /groups → Token کاربر
  2. ipconfig /all → DNS Domain
  3. gpupdate /force → Error را کامل بخوان
  4. gpresult /r → آیا GPO Applied است یا Denied؟
  5. اگر Denied Security بود Filtering/Group را بررسی کن
سناریو ۴

Shared Folder Map نمی‌شود؛ Error 53 با Access Denied یکی نیست

  1. System error 53 → مسیر/نام/SMB/Connectivity
  2. Access is denied → Authentication و Permission
  3. net use → Mappingهای قدیمی
  4. nslookup → نام Server
  5. در آخر Share/NTFS Permission را با User واقعی بررسی کن
سناریو ۵

شبکه لحظه‌ای قطع می‌شود؛ یک Ping چهارتایی کافی نیست

  1. ping -t به Gateway
  2. هم‌زمان ثبت زمان Freeze کاربر
  3. pathping به مقصد بیرونی
  4. اگر Gateway هم Loss دارد، LAN/Wi‑Fi را بررسی کن
  5. اگر Gateway پایدار است ولی Loss بیرونی است، WAN را جدا بررسی کن
سناریو ۶

Application باز نمی‌شود؛ Port و Process را به هم وصل کن

  1. netstat -ano | findstr :PORT
  2. اگر LISTENING نیست، Application/Service را بررسی کن
  3. اگر LISTENING است PID را بردار
  4. tasklist برای شناسایی Process
  5. اگر Local سالم ولی Remote Fail است، Firewall و Network Path را بررسی کن
جدول تشخیص

اگر کاربر این را گفت، اول کدام دستور؟

نشانهدستور اولچه چیزی را می‌خواهی بفهمی؟
اینترنت ندارمipconfig /allآیا IP/Gateway/DNS منطقی است؟
فقط نام‌ها باز نمی‌شوندnslookupDNS چه پاسخی می‌دهد؟
شبکه قطع و وصل می‌شودping -t gatewayقطعی از LAN شروع می‌شود یا نه؟
Port برنامه کار نمی‌کندnetstat -anoآیا Port Listen است و PID چیست؟
GPO نیامدهgpresult /rPolicy واقعاً Applied شده یا نه؟
Share Map نمی‌شودnet useMapping/Session فعلی و نوع خطا چیست؟
ساعت Domain مشکل داردw32tm /query /sourceClient زمان را از کجا می‌گیرد؟
پایان پک

بعد از این نسخه باید واقعاً بتوانی خروجی را بخوانی

  • 169.254 را می‌بینی و می‌فهمی چرا اول DHCP/Layer 2 بررسی می‌شود
  • Request timed out و Destination host unreachable را یکی حساب نمی‌کنی
  • Timeout یک Hop در tracert را فوراً خرابی Router اعلام نمی‌کنی
  • NXDOMAIN و DNS Timeout را از هم جدا می‌کنی
  • Default Route و Metric را در route print می‌شناسی
  • LISTENING و ESTABLISHED و PID را در netstat تفسیر می‌کنی
  • Success فرمان را با «حل شدن کامل مشکل» اشتباه نمی‌گیری
  • Applied و Denied GPO را در gpresult از هم جدا می‌کنی
  • خروجی SFC را می‌خوانی و می‌دانی هر پیام چه معنایی دارد
  • برای هر نتیجه، قدم بعدی منطقی انتخاب می‌کنی