راهنماهای کاربردی

عیب‌یابی مشکل یک وب‌سایت

چگونه با استفاده از ابزارهای TraceNet یک وب‌سایت مشکل‌دار را به‌صورت لایه‌لایه و ساخت‌یافته عیب‌یابی کنیم.

1. نمای کلی

این راهنما توضیح می‌دهد چطور با استفاده از ابزارهای TraceNet، مشکلات وب‌سایت را به‌صورت سیستماتیک عیب‌یابی کنید. هدف این است که به پرسش‌های کلیدی در مورد اتصال و جست‌وجو (lookup) پاسخ بدهید.

سلسله‌مراتب عیب‌یابی

گام 01

تفکیک نام دامنه (DNS resolution)

آیا دامنه به یک IP اشاره می‌کند؟

گام 02

دسترس‌پذیری شبکه

آیا اصلاً می‌توانیم به سرور برسیم؟

گام 03

تحلیل مسیر

مشکل دقیقاً در کجای مسیر شبکه رخ می‌دهد؟

گام 04

در دسترس بودن پورت

آیا سرویس وب واقعاً در حال گوش‌دادن است؟

گام 05

بررسی زمینه و sanity check

سرور کجاست؟ آیا IP منطقی به نظر می‌رسد؟

  • چرا این وب‌سایت اصلاً لود نمی‌شود؟
  • مشکل از DNS است، شبکه، سرور، یا HTTPS؟
  • مشکل از سمت من است یا از سمت سرور؟

2. چه زمانی از این راهنما استفاده کنیم

هر زمان که نشانه‌هایی از مسدود شدن شبکه، قطع شدن سرور یا خطاهای تفکیک نام (resolution) دیدید، از این راهنما استفاده کنید.

  • خطاهای مرورگر: This site can't be reached, DNS_PROBE_FINISHED_NXDOMAIN, ERR_CONNECTION_TIMED_OUT, ERR_CONNECTION_REFUSED
  • وب‌سایت از بعضی موقعیت‌های جغرافیایی در دسترس است، اما از بعضی‌جاها نه
  • وب‌سایت قبلاً کار می‌کرد ولی ناگهان از کار افتاده است
  • وب‌سایت با IP کار می‌کند اما با دامنه نه

اگر مشکل شما مشخصاً مربوط به HTTPS / خطاهای گواهی است، به راهنمای جداگانهٔ «عیب‌یابی مشکلات HTTPS / SSL» مراجعه کنید — با این حال، هنوز هم مفید است که ابتدا مراحل DNS و شبکهٔ این راهنما را اجرا کنید.

3. ابزارهای استفاده‌شده در این راهنما

این راهنما برای جدا کردن محل خرابی، از ابزارهای اصلی عیب‌یابی TraceNet استفاده می‌کند (با فرض هدف نمونه: example.com):

  • DNS Lookup – بررسی رکوردهای A/AAAA/CNAME/MX/TXT/NS
  • Ping Test – بررسی دسترس‌پذیری پایه و از دست رفتن بسته‌ها
  • Traceroute – بررسی مسیر و تأخیر تا مقصد
  • Port Scanner – بررسی باز بودن پورت‌های مورد انتظار (HTTP/HTTPS)
  • GeoIP Lookup – بررسی محل تقریبی IP (برای sanity check)
  • Reverse DNS – بررسی رکوردهای PTR برای IP (زمینهٔ اختیاری)

گام 1 – بررسی تفکیک DNS (DNS Lookup)

با استفاده از ابزار DNS Lookup در TraceNet تأیید کنید که دامنه به‌درستی به یک یا چند IP تفکیک می‌شود.

Case A – A/AAAA record present (Normal)

عادی
خروجی کنسول
A record:
  example.com → 93.184.216.34

AAAA record:
  example.com → 2606:2800:220:1:248:1893:25c8:1946

یعنی چه؟ DNS به‌درستی دامنه را به یک IP نگاشت می‌کند. اگر وب‌سایت لود نمی‌شود، مشکل به احتمال زیاد در دسترس‌پذیری شبکه، پورت‌ها یا تنظیمات وب‌سرور است.

گام‌های بعدی:

  • •به تست Ping (گام 2) بروید.

Case B – No A/AAAA records

پیکربندی نادرست
خروجی کنسول
A record: no results
AAAA record: no results

یعنی چه؟ دامنه هیچ IP پیکربندی‌شده‌ای ندارد. مرورگرها نمی‌توانند وصل شوند، چون جایی برای اتصال وجود ندارد.

چه کار کنید:

  • •املای دامنه را بررسی کنید.
  • •در رجیسترار یا ارائه‌دهندهٔ DNS بررسی کنید: رکوردهای A صحیح را که به IP سرور شما اشاره می‌کنند اضافه کنید.
  • •اگر مالک دامنه نیستید، مشکل را به مدیر وب‌سایت گزارش کنید.

Case C – NXDOMAIN (Domain does not exist)

پیدا نشد
خروجی کنسول
Status: NXDOMAIN
No records found for examp1e.com

یعنی چه؟ دامنه در DNS وجود ندارد. این حالت معمولاً برای اشتباه تایپی واضح یا دامنه‌های ثبت‌نشده رخ می‌دهد.

چه کار کنید:

  • •املای دامنه را دوباره چک کنید.
  • •بررسی کنید که ثبت دامنه فعال باشد.

Case D – Wrong or unexpected IP

بررسی مسیریابی
خروجی کنسول
example.com → 151.101.1.140 (CDN واقع در آمریکا)
GeoIP نشان می‌دهد: US (San Francisco)

یعنی چه؟ دامنه ممکن است از CDN استفاده کند، یا پس از مهاجرت، DNS هنوز به میزبان قدیمی/نادرست اشاره می‌کند.

چه کار کنید:

  • •با مالک سرویس تأیید کنید که IP (ها) دقیقاً چه باید باشد.
  • •از GeoIP Lookup استفاده کنید تا بررسی کنید منطقهٔ جغرافیایی با انتظار شما هم‌خوانی دارد.

گام 2 – تست دسترس‌پذیری (Ping Test)

بررسی کنید که آیا IP تفکیک‌شده به ICMP echo (ping) پاسخ می‌دهد و تأخیر و از دست رفتن بسته‌ها چطور است.

Case A – 0% packet loss, stable latency

سالم
خروجی کنسول
Packets: 4 sent • 4 received • loss 0%
Min/Avg/Max RTT: 24/30/38 ms

یعنی چه؟ اتصال شبکه بین پروب TraceNet و سرور سالم است. تأخیر پایین و پایدار نشان‌دهندهٔ مسیر خوب است.

اگر وب‌سایت هنوز لود نمی‌شود:

  • •احتمالاً مشکل در سطح پورت/فایروال، برنامهٔ وب‌سرور یا SSL است.
  • •به Traceroute و Port Scanner ادامه دهید.

Case B – 100% packet loss

فیلتر شده / آفلاین
خروجی کنسول
Packets: 4 sent • 0 received • loss 100%

یعنی چه؟ سرور یا شبکه خاموش است، یا سرور آنلاین است ولی ICMP (ping) را مسدود می‌کند. توجه: شکست ping همیشه به این معنی نیست که وب‌سایت از کار افتاده؛ بعضی سرورهای production عمداً ICMP را مسدود می‌کنند.

گام‌های بعدی:

  • •Traceroute را اجرا کنید تا ببینید از کجا از دست رفتن بسته رخ می‌دهد.
  • •Port Scanner را برای پورت‌های 80/443 اجرا کنید (اگر پورت‌ها باز باشند، ممکن است وب‌سایت هنوز بالا باشد).

Case C – Partial packet loss or very high latency

ناپایدار
خروجی کنسول
Packets: 4 sent • 2 received • loss 50%
Min/Avg/Max RTT: 80/220/450 ms

یعنی چه؟ ناپایداری یا ازدحام شبکه. احتمالاً روتر یا لینک سربار است، یا مسیر ISP مشکل دارد.

گام‌های بعدی:

  • •از Traceroute استفاده کنید تا مشخص شود تأخیر یا از دست رفتن بسته‌ها از کجا جهش پیدا می‌کند.
  • •اگر عملکرد قابل قبول نیست، نتایج را با ارائه‌دهندهٔ شبکهٔ خود به اشتراک بگذارید.

گام 3 – تحلیل مسیر (Traceroute)

هر hop بین پروب TraceNet و مقصد را ببینید تا مشخص کنید اتصال در کجا می‌شکند یا کند می‌شود.

Case A – Traceroute completes normally

مسیر سالم
خروجی کنسول
1. 192.168.1.1 – 1 ms
2. 10.0.0.1 – 4 ms
3. 203.0.113.1 – 12 ms
4. 198.51.100.34 – 24 ms
5. 93.184.216.34 – 30 ms

یعنی چه؟ مسیر از TraceNet تا سرور سالم است. هر hop در زمان قابل‌قبولی پاسخ می‌دهد.

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

  • •احتمالاً مشکل در سطح پورت/فایروال، پیکربندی وب‌سرور یا HTTPS/SSL است.

Case B – Traceroute stops in the middle (timeouts)

hop فیلترشده
خروجی کنسول
1–7: responses OK
8: * * *
9: * * *
10: * * *

یعنی چه؟ برخی شبکه‌ها یا فایروال‌ها در طول مسیر، بسته‌های traceroute/ICMP را drop می‌کنند.

گام‌های بعدی:

  • •اگر Ping و تست پورت هم شکست می‌خورند → به احتمال زیاد مشکل واقعی اتصال است.
  • •اگر Ping و پورت‌ها OK هستند → احتمالاً فقط فیلتر شدن traceroute است، نه قطعی واقعی.

Case C – High latency at a specific hop

جهش تأخیر
خروجی کنسول
1–5: <10 ms
6: 150 ms (لینک بین‌قاره‌ای / روتر سربار)
7–10: 160–170 ms

یعنی چه؟ hop شمارهٔ 6 نقطه‌ای است که تأخیر به‌طور محسوسی افزایش یافته است. hopهای بعدی این تأخیر را به ارث می‌برند.

چه کار کنید:

  • •خروجی traceroute را ثبت کنید و اگر عملکرد قابل قبول نیست، آن را با ارائه‌دهندهٔ هاستینگ به اشتراک بگذارید.

گام 4 – بررسی پورت‌های وب (Port Scanner)

بررسی کنید که پورت‌های وب مورد انتظار (80/443) روی IP مقصد قابل دسترس باشند.

Case A – Port 80/443 is open

پورت باز است
خروجی کنسول
TCP 80  → Open
TCP 443 → Open

یعنی چه؟ سرویس وب در سطح TCP قابل دسترس است. اگر سایت هنوز شکست می‌خورد، احتمالاً خطای برنامه (مثل 500، 502) یا مشکل SSL است.

گام‌های بعدی:

  • •برای HTTP: پاسخ را با یک کلاینت HTTP بررسی کنید.
  • •برای HTTPS: از TraceNet SSL Checker استفاده کنید.

Case B – Port 80/443 is closed or filtered

مسدود / بسته
خروجی کنسول
TCP 80  → Closed
TCP 443 → Filtered / Timed out

یعنی چه؟ هیچ سرویسی روی آن پورت گوش نمی‌دهد یا فایروال ترافیک ورودی را مسدود می‌کند. ممکن است وب‌سرور اجرا نشده باشد.

چه کار کنید:

  • •اگر مدیریت سرور با شماست: وضعیت Nginx/Apache و also security groupها/فایروال‌های ابری را بررسی کنید.
  • •اگر مدیر نیستید: به مالک گزارش بدهید: «دامنه تفکیک می‌شود، اما پورت‌های 80/443 بسته یا فیلتر شده به نظر می‌رسند.»

Case C – Unexpected open ports

پورت‌های جایگزین
خروجی کنسول
TCP 80   → Closed
TCP 443  → Open
TCP 8080 → Open

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

چه کار کنید:

  • •دسترسی به https://example.com یا http://example.com:8080 را امتحان کنید.

گام 5 – sanity check (GeoIP و Reverse DNS)

این بررسی‌ها برای خودِ اتصال ضروری نیستند، اما کمک می‌کنند IP معقول به نظر برسد و با انتظارات شما هم‌خوانی داشته باشد.

  • GeoIP Lookup: محل فیزیکی تقریبی و منطقهٔ سرور را تأیید کنید.
  • Reverse DNS Lookup: رکوردهای PTR برای IP را بررسی کنید (مثلاً dns.google برای 8.8.8.8) تا مالکیت ارائه‌دهنده را تأیید کنید.

6. کنار هم گذاشتن همه‌چیز – سناریوهای نمونه

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

  • سناریو 1 – پیکربندی نادرست DNS: DNS Lookup هیچ نتیجه‌ای ندارد. Ping، Traceroute و Port Scanner قابل اجرا نیستند. اقدام: رکوردهای DNS را اصلاح کنید.
  • سناریو 2 – سرور خاموش یا فایروال مسدودکننده: دامنه تفکیک می‌شود، اما Ping نشان‌دهندهٔ 100٪ از دست رفتن بسته است، Traceroute نزدیک میزبان timeout می‌شود و Port Scanner پورت‌ها را بسته/فیلترشده نشان می‌دهد. اقدام: بررسی کنید ماشین روشن است و قوانین فایروال درست هستند.
  • سناریو 3 – شبکه OK، اما مشکل برنامه: دامنه تفکیک می‌شود، Ping OK است، Traceroute کامل می‌شود و پورت‌ها باز هستند، اما مرورگر خطای 500 نشان می‌دهد. اقدام: لاگ‌های وب‌سرور و اپلیکیشن را بررسی کنید.
  • سناریو 4 – خطاهای HTTPS اما HTTP سالم: DNS، Ping و پورت‌ها OK هستند. HTTP لود می‌شود، اما HTTPS خطای گواهی می‌دهد. اقدام: از SSL Checker استفاده کنید.