TRACEPATH(8) iputils TRACEPATH(8)

tracepath - ردیابی مسیر به سمت مقصد شبکه همراه با کشف MTU مسیر

tracepath [-4] [-6] [-n] [-b] [-l pktlen] [-m max_hops] [-p port] [-V] {destination}

مسیر شبکه را تا destination ردیابی کرده و مقدار MTU را در طول این مسیر کشف می‌کند. این ابزار از پورت UDP port یا یک پورت تصادفی استفاده می‌کند. عملکرد آن مشابه traceroute است؛ با این حال، به دسترسی‌های کاربر ارشد نیازی ندارد و فاقد گزینه‌های پیچیده است.

tracepath -6 جایگزین مناسبی برای traceroute6 و یک نمونه کلاسیک از کاربرد صف‌های خطای لینوکس (Linux error queues) است. وضعیت در مورد IPv4 نامناسب‌تر است، چرا که مسیریاب‌های تجاری IP اطلاعات کافی را در پیام‌های خطای ICMP بازنمی‌گردانند. احتمالاً با به‌روزرسانی آن‌ها این وضعیت تغییر خواهد کرد. در حال حاضر، این ابزار از ترفند ون جاکوبسون (Van Jacobson) استفاده می‌کند که با پیمایش محدوده‌ای از پورت‌های UDP تاریخچه ردیابی را حفظ می‌نماید.

-4

فقط استفاده از IPv4.

-6

فقط استفاده از IPv6.

-n

چاپ آدرس‌های IP فقط به‌صورت عددی.

-b

چاپ هر دو مورد: نام میزبان و آدرس‌های IP.

-l

تنظیم طول اولیه بسته روی pktlen به‌جای ۶۵۵۳۵ برای IPv4 یا ۱۲۸۰۰۰ برای IPv6.

-m

تنظیم حداکثر تعداد جهش‌ها (یا حداکثر TTL) روی max_hops به‌جای ۳۰.

-p

تنظیم پورت مقصد اولیه برای استفاده.

-V

نمایش نسخه برنامه و خروج.

root@mops:~ # tracepath -6 3ffe:2400:0:109::2
 1?: [LOCALHOST]                              pmtu 1500
 1:  dust.inr.ac.ru                   0.411ms
 2:  dust.inr.ac.ru        asymm  1   0.390ms pmtu 1480
 2:  3ffe:2400:0:109::2               463.514ms reached
     Resume: pmtu 1480 hops 2 back 2

ستون اول، TTL بسته آزمایشی (پروب) را به همراه دونقطه نشان می‌دهد. معمولاً مقدار TTL از پاسخ دریافتی از شبکه به دست می‌آید، اما گاهی اوقات حاوی اطلاعات لازم نیست و ناچار به حدس زدن آن هستیم. در این حالت پس از عدد، علامت ? قرار می‌گیرد.

ستون دوم، جهش شبکه‌ای (hop) را نشان می‌دهد که به بسته آزمایشی پاسخ داده است. این مقدار یا آدرس مسیریاب است یا در صورتی که بسته آزمایشی به شبکه ارسال نشده باشد، عبارت [LOCALHOST] نمایش داده می‌شود.

بقیه خط، اطلاعات گوناگونی درباره مسیر منتهی به جهش شبکه مربوطه را نشان می‌دهد. این بخش شامل مقدار RTT است و علاوه بر آن در صورت تغییر Path MTU، مقدار آن را نیز نشان می‌دهد. اگر مسیر نامتقارن باشد یا پروب پیش از رسیدن به جهش مشخص‌شده خاتمه یابد، تعداد جهش‌ها در جهت بازگشت در کنار کلمه کلیدی "asymm" نشان داده می‌شود. این اطلاعات کاملاً قابل اطمینان نیستند؛ برای نمونه خط سوم عدم‌تقارن ۱ را نشان می‌دهد، زیرا اولین بسته آزمایشی با TTL برابر با ۲ به دلیل فرآیند کشف Path MTU در اولین جهش رد شد.

خط آخر خلاصه‌ای از اطلاعات مربوط به تمام مسیرها به سمت مقصد را نمایش می‌دهد. این خط مقدار Path MTU کشف‌شده، تعداد جهش‌ها تا مقصد و حدس ما درباره تعداد جهش‌ها از مقصد تا مبدا را نشان می‌دهد که در صورت نامتقارن بودن مسیر می‌تواند متفاوت باشد.

در صورت بروز خطا، tracepath کد خطای کوتاهی را چاپ می‌کند.

خروجی کد مفهوم
!A EACCES ارتباط به دلایل مدیریتی مسدود شده است (Communication administratively prohibited)
!H EHOSTUNREACH میزبان مقصد در دسترس نیست (Destination host unreachable)
!N ENETUNREACH شبکه مقصد در دسترس نیست (Destination network unreachable)
!P EPROTO پروتکل مقصد در دسترس نیست (Destination protocol unreachable)
pmtu N EMSGSIZE پیام بیش از حد طولانی است (Message too long)
reached ECONNREFUSED اتصال رد شد (Connection refused)
  ETIMEDOUT مهلت اتصال به پایان رسید (Connection timed out)
NET ERROR N   هر خطای دیگر

traceroute(8), traceroute6(8), ping(8).

tracepath توسط Alexey Kuznetsov <kuznet@ms2.inr.ac.ru> نوشته شده است.

فاقد هرگونه مشکل امنیتی شناخته‌شده.

این گزاره موجز شایسته توضیح بیشتری است. tracepath برخلاف ابزارهایی مانند traceroute، ping و سایر برنامه‌های مشابه، برنامه‌ای با دسترسی ویژه یا ممتاز نیست. tracepath می‌تواند توسط هر کاربری که دسترسی لازم به شبکه برای ارسال دیتاگرام‌های UDP به مقصد موردنظر با استفاده از پورت مشخص‌شده را دارد، اجرا شود.

tracepath بخشی از بسته iputils است.

iputils