NDISC6(8) System Manager's Manual NDISC6(8)

ndisc6 - ابزار کشف همسایه در ICMPv6

ndisc6 [-1mnqv] [-r attempts] [-s source_ip] [-w wait_ms] <IPv6 address> <iface>

NDisc6 یک برنامه یونیکس است که فرآیند کشف همسایه (Neighbor Discovery) در ICMPv6 را در فضای کاربری پیاده‌سازی می‌کند (این کار به طور معمول توسط هسته انجام می‌گیرد). این برنامه برای یافتن آدرس لایه پیوند (آدرس لایه ۲ یا همان مک‌آدرس در شبکه اترنت) هر گره IPv6 حاضر در همان پیوند محلی (on-link) استفاده می‌شود.

آدرس IPv6 گره مورد نظر و همچنین رابط شبکه‌ای که جستجو روی آن صورت می‌پذیرد باید مشخص شوند.

-1 یا --single
خروج بلافاصله پس از دریافت نخستین اعلان (پیش‌فرض).
نمایش متن راهنما و خروج.
انتظار برای اعلان‌های تکراری احتمالی و چاپ همه آن‌ها.
اگر پارامتر اول یک آدرس معتبر IPv6 نباشد، از تفکیک آن به عنوان نام میزبان DNS صرف‌نظر شود.
فقط نمایش آدرس لایه پیوند؛ در صورت بروز شکست چیزی نمایش داده نمی‌شود. این گزینه عمدتاً برای فراخوانی برنامه از درون اسکریپت‌های شل کاربرد دارد.
ارسال بسته‌های کشف همسایه ICMPv6 به تعداد دفعات مشخص‌شده تا زمان دریافت پاسخ یا انصراف. به طور پیش‌فرض، ndisc6 پیش از توقف ۳ بار تلاش می‌کند (مقادیر MAX_MULTICAST_SOLICIT و MAX_UNICAST_SOLICIT برگرفته از RFC2461).
تعیین آدرس IPv6 مورد استفاده به عنوان مبدأ برای بسته‌های درخواست همسایه (neighbor solicitation).
نمایش نسخه و پروانه برنامه و سپس خروج.
نمایش اطلاعات همراه با جزئیات کامل. این حالت پیش‌فرض است.
انتظار به میزان wait_ms میلی‌ثانیه برای دریافت پاسخ پیش از تلاش مجدد. به طور پیش‌فرض، ndisc6 بین هر تلاش ۱ ثانیه درنگ می‌کند (مقدار RETRANS_TIMER از RFC2461).

اگر ndisc6 پس از تعداد دفعات تلاش مشخص‌شده و انتظار برای wait_ms میلی‌ثانیه در هر بار هیچ پاسخی دریافت نکند، با کد 2 خارج خواهد شد. در صورت بروز خطا، با کد 1 خارج می‌شود. در غیر این صورت، خروج با کد 0 خواهد بود. این امکان را فراهم می‌سازد تا از کد خروج برای بررسی حضور یک میزبان روی پیوند محلی استفاده شود.

اگر هیچ پاسخی دریافت نکردید در حالی که مطمئن هستید میزبان مقصد فعال است، به احتمال زیاد آن میزبان بر روی پیوند محلی (on-link) قرار ندارد؛ به این معنی که برای رسیدن به آن باید از یک یا چند روتر عبور کنید. بر اساس طراحی، گره‌های IPv6 به دلایل امنیتی بسته‌های کشف همسایه ICMPv6 دریافت‌شده از گره‌های خارج از پیوند محلی (سگمنت اترنت یکسان) را نادیده می‌گیرند. از نظر فنی، این کار با اطمینان از این که حد جهش (TTL) برابر با 255 است کنترل می‌شود.

توجه داشته باشید که نمی‌توانید از ndisc6 برای یافتن آدرس لایه پیوند میزبان محلی خود استفاده کنید.

ndisc6 باید به صورت setuid به کاربر root تنظیم شود تا کاربران عادی نیز بتوانند از آن استفاده کنند. این برنامه پیش از هرگونه اقدام به ارسال یا دریافت داده از شبکه، دسترسی‌های ریشه خود را رها می‌کند تا آسیب‌پذیری‌های احتمالی امنیتی کاهش یابد.

ping6(8), rdisc6(8), ipv6(7)

Rémi Denis-Courmont <remi at remlab dot net>

http://www.remlab.net/ndisc6

$Date$ ndisc6