| MTR-PACKET(8) | System Administration | MTR-PACKET(8) |
نام (NAME)
mtr-packet - ابزار ارسال و ردیابی بستههای شبکه برای MTR
توضیحات (DESCRIPTION)
mtr-packet ابزاری برای ارسال بستههای کاوش شبکه جهت سنجش اتصال و عملکرد شبکه است. چندین بسته کاوش شبکه را میتوان به صورت همزمان توسط یک فرآیند منفرد از mtr-packet ارسال کرد و بستههای کاوش بیشتری را میتوان توسط نمونهای از mtr-packet که در حال حاضر کاوشهای شبکهای در حال ارسال دارد، تولید نمود. این ابزار برای استفاده توسط برنامههایی طراحی شده است که آن را به همراه پایپهای یونیکس متصل به جریانهای ورودی و خروجی استاندارد اجرا میکنند.
mtr-packet درخواستهای دستور را از stdin، که هر کدام با یک نویسه خط جدید از هم جدا شدهاند، میخواند و پاسخهای دستور را به stdout، که آنها نیز با نویسه خط جدید جدا شدهاند، ارسال میکند. ساختار نحوی درخواستها و پاسخها یکسان است. قالب زیر استفاده میشود:
TOKEN یک مقدار عددی صحیح و یکتا است. همان مقدار به عنوان TOKEN برای پاسخ استفاده خواهد شد. این کار برای پیوند دادن پاسخها با درخواستها ضروری است، زیرا دستورات ممکن است با ترتیبی متفاوت از ترتیب درخواستشان تکمیل شوند. فراخوانکننده mtr-packet باید همیشه از مقدار TOKEN برای تعیین اینکه کدام درخواست دستور تکمیل شده است استفاده کند.
COMMAND رشتهای است که نوع درخواست دستور را مشخص میکند. یک دستور متداول send-probe است که یک بسته کاوش شبکه را ارسال میکند.
رشتههای ARGUMENT-NAME و رشتههای ARGUMENT-VALUE همیشه به صورت جفت میآیند. ارائه یک ARGUMENT-NAME بدون ARGUMENT-VALUE متناظر، یک خطای نحوی است. رشتههای معتبر ARGUMENT-NAME به COMMAND مورد استفاده بستگی دارند.
درخواستها (REQUESTS)
- send-probe
- ارسال یک بسته کاوش شبکه به یک آدرس IP مشخص. باید یکی از آرگومانهای ip-4 یا ip-6 ارائه شود. یک دستور معتبر send-probe با یکی از پاسخهای reply، no-reply یا ttl-expired پاسخ میدهد.
- آرگومانهای زیر را میتوان استفاده کرد:
- ip-4 IP-ADDRESS
- آدرس پروتکل اینترنت نسخه ۴ برای کاوش.
- ip-6 IP-ADDRESS
- آدرس پروتکل اینترنت نسخه ۶ برای کاوش.
- protocol PROTOCOL
- پروتکل مورد استفاده برای کاوش شبکه. پروتکلهای icmp، sctp، tcp و udp قابل استفاده هستند. پروتکل پیشفرض icmp است.
- port PORT-NUMBER
- پورت مقصد مورد استفاده برای کاوشهای sctp، tcp یا udp.
- local-ip-4 IP-ADDRESS
- آدرس محلی پروتکل اینترنت نسخه ۴ برای استفاده هنگام ارسال کاوشها.
- local-ip-6 IP-ADDRESS
- آدرس محلی پروتکل اینترنت نسخه ۶ برای استفاده هنگام ارسال کاوشها.
- local-port PORT-NUMBER
- برای کاوشهای udp، شماره پورت محلی که کاوشها از آن ارسال میشوند.
- timeout TIMEOUT-SECONDS
- تعداد ثانیههای انتظار برای دریافت پاسخ کاوش پیش از نادیده گرفتن آن به عنوان مفقود شده و تولید پاسخ دستور no-reply.
- ttl TIME-TO-LIVE
- مقدار زمان بقا (time-to-live) برای هدر بسته پروتکل اینترنت که در ساخت کاوش استفاده میشود. این مقدار تعداد پرشهای شبکه (hops) را مشخص میکند که کاوش پیش از تولید پاسخ توسط یک میزبان واسط شبکه، از میان آنها عبور خواهد کرد.
- size PACKET-SIZE
- اندازه بسته مورد استفاده برای ارسال کاوش، به بایت، شامل هدر پروتکل اینترنت و هدر پروتکل انتقال.
- bit-pattern PATTERN-VALUE
- بار مفید بسته (payload) با بایتهایی با مقدار مشخصشده پر میشود. مقادیر الگوی معتبر در محدوده ۰ تا ۲۵۵ هستند.
- tos TYPE-OF-SERVICE
- در مورد IPv4، فیلد «نوع سرویس» (type of service) در هدر IP روی این مقدار تنظیم میشود. در مورد IPv6، فیلد «کلاس ترافیک» (traffic class) تنظیم میگردد.
- mark ROUTING-MARK
- مقدار نشان بسته برای استفاده در مسیریابی مبتنی بر علامت (mark-based routing). (فقط در لینوکس موجود است.)
- check-support
- بررسی پشتیبانی از یک ویژگی خاص در این نسخه از mtr-packet و در این محیط عملیاتی خاص. دستور check-support با feature-supported پاسخ خواهد داد. آرگومان feature الزامی است.
- feature FEATURE-NAME
- نام ویژگی درخواستشده.
- برخی از ویژگیهایی که میتوان بررسی کرد عبارتند از: send-probe، ip-4، ip-6، icmp، sctp، tcp، udp و mark. ویژگی version را میتوان برای بازیابی نسخه mtr-packet بررسی کرد.
پاسخها (REPLIES)
- reply
- میزبان مقصد کاوش send-probe را دریافت کرد و پاسخ داد. آرگومانهای reply عبارتند از:
- ip-4 IP-ADDRESS
- آدرس پروتکل اینترنت نسخه ۴ میزبانی که به کاوش پاسخ داد.
- ip-6 IP-ADDRESS
- آدرس پروتکل اینترنت نسخه ۶ میزبانی که به کاوش پاسخ داد.
- round-trip-time TIME
- مدت زمانی که میان ارسال کاوش و پاسخ آن سپری شد. این زمان به صورت یک عدد صحیح بر حسب میکروثانیه سپریشده ارائه میشود.
- no-reply
- پیش از اتمام مهلت زمانی (timeout)، هیچ پاسخی برای درخواست کاوش دریافت نشد.
- ttl-expired
- مقدار زمان بقا (time-to-live) برای کاوش ارسالشده پیش از رسیدن کاوش به مقصد مورد نظر به پایان رسید. آرگومانهای ttl-expired عبارتند از:
- ip-4 IP-ADDRESS
- آدرس پروتکل اینترنت نسخه ۴ میزبانی که مقدار زمان بقا در آن به پایان رسید.
- ip-6 IP-ADDRESS
- آدرس پروتکل اینترنت نسخه ۶ میزبانی که مقدار زمان بقا در آن به پایان رسید.
- round-trip-time TIME
- مدت زمانی که میان ارسال کاوش و پاسخ آن سپری شد. این زمان به صورت یک عدد صحیح بر حسب میکروثانیه سپریشده ارائه میشود.
- mpls MPLS-LABEL-LIST
- فهرستی از مقادیر سوئیچینگ برچسب چندپروتکلی (MPLS) بازگردانده شده با پاسخ کاوش. اگر آرگومان mpls حاضر باشد، یک یا چند برچسب MPLS با یک فهرست جدا شده با کاما از مقادیر نمایش داده میشوند. مقادیر در گروههای چهارتایی ارائه میشوند. چهار مقدار نخست در فهرست مربوط به اولین برچسب MPLS، چهار مقدار بعدی مربوط به دومین برچسب MPLS و به همین ترتیب خواهند بود. مقادیر به این ترتیب ارائه میشوند: label، traffic-class، bottom-of-stack، ttl.
- no-route-network
- no-route-host هیچ مسیری به شبکه یا خود میزبان برای درخواست send-probe که برای رسیدن به میزبان استفاده شده بود وجود نداشت.
- network-down
- کاوش ارسال نشد زیرا شبکه قطع است.
- host-down
- کاوش ارسال نشد زیرا میزبان از کار افتاده است.
- probes-exhausted
- کاوش ارسال نشد زیرا در حال حاضر تعداد بسیار زیادی کاوش تعیینتکلیفنشده در حال ارسال وجود دارند.
- permission-denied
- سیستمعامل اجازه ارسال کاوش با گزینههای مشخصشده را نداد.
- invalid-argument
- درخواست دستور حاوی آرگومانهای نامعتبر بود.
- feature-support
- پاسخی ارائه شده به check-support که نشاندهنده در دسترس بودن یک ویژگی خاص است. آرگومان ارائهشده عبارت است از:
- support PRESENT
- در اکثر موارد، مقدار PRESENT یا ok (نشاندهنده پشتیبانی از ویژگی) یا no (نشاندهنده عدم پشتیبانی از ویژگی) خواهد بود.
- در صورتی که version نام ویژگی درخواستشده (FEATURE-NAME) باشد، نسخه mtr-packet به عنوان مقدار PRESENT ارائه میشود.
مثالها (EXAMPLES)
یک برنامه کنترلکننده ممکن است mtr-packet را به عنوان یک فرآیند فرزند شروع کند و دستور زیر را روی stdin صادر کند:
این دستور یک کاوش شبکه را به رابط لوپبک ارسال میکند. هنگامی که کاوش تکمیل شود، mtr-packet پاسخی مانند زیر را روی stdout ارائه خواهد داد:
این نشان میدهد که آدرس لوپبک به کاوش پاسخ داد و زمان رفت و برگشت کاوش ۱۲۶ میکروثانیه بود.
به منظور ردیابی مسیر تا یک میزبان راه دور، از چندین دستور send-probe که هر یک دارای مقدار ttl متفاوتی هستند استفاده میشود.
هر میزبان میانی با یک پیام ttl-expired پاسخ میدهد و میزبان مقصد با یک reply پاسخ خواهد داد:
توجه داشته باشید که پاسخها در این مثال بدون ترتیب چاپ شدهاند. (پاسخ به کاوش ۱۷ پیش از پاسخ به کاوش ۱۶ میرسد.) به همین دلیل مهم است که دستورات با مقادیر توکن یکتا ارسال شوند و از آن مقادیر توکن برای تطبیق پاسخها با دستورات مبدأ آنها استفاده گردد.
پیوندهای زبانی (LANGUAGE BINDINGS)
یک بسته پایتون 3.x برای ارسال ناهمگام بستههای کاوش شبکه با استفاده از mtr-packet در دسترس است. ببینید: https://pypi.org/project/mtrpacket
اطلاعات تماس (CONTACT INFORMATION)
برای جدیدترین نسخه، صفحه وب mtr را ببینید: http://www.bitwizard.nl/mtr
برای وصلهها، گزارشهای اشکال یا درخواستهای ویژگی، لطفاً یک گزارش موضوع (issue) در گیتهاب باز کنید: https://github.com/traviscross/mtr.
همچنین ببینید (SEE ALSO)
mtr(8), icmp(7), tcp(7), udp(7), TCP/IP Illustrated (Stevens, ISBN 0201633469).
| 0.96 | mtr-packet |