ARP-FINGERPRINT(1) General Commands Manual ARP-FINGERPRINT(1)

arp-fingerprint - انگشت‌نگاری و شناسایی سیستم‌عامل هدف با استفاده از پروتکل ARP

arp-fingerprint [گزینه‌ها] هدف

هدف باید به‌صورت یک آدرس IP یا نام میزبان (hostname) منفرد مشخص شود. شما نمی‌توانید چندین هدف، شبکه‌های IP یا بازه‌هایی از آدرس‌ها را مشخص کنید.

اگر از یک آدرس IP برای هدف استفاده می‌کنید، می‌توانید با استفاده از گزینه -o گزینه --numeric را به arp-scan ارسال کنید تا از تلاش آن برای جستجوهای DNS جلوگیری شود. این کار می‌تواند فرآیند انگشت‌نگاری را به‌ویژه در سیستم‌هایی با پیکربندی DNS کُند یا معیوب، سرعت بخشد.

دستور arp-fingerprint میزبان هدف مشخص‌شده را با استفاده از پروتکل ARP انگشت‌نگاری (شناسایی سیستم‌عامل) می‌کند.

این دستور انواع مختلفی از درخواست‌های ARP را به سمت هدف ارسال کرده و ثبت می‌کند که هدف به کدام انواع پاسخ داده است. بر اساس این پاسخ‌ها، یک رشته اثرانگشت متشکل از «1» برای مواردی که هدف پاسخ داده و «0» برای مواردی که پاسخی نداده است می‌سازد. یک نمونه از رشته اثرانگشت عبارت است از: 01000100000. سپس از این رشته اثرانگشت برای جستجو و یافتن سیستم‌عامل احتمالی هدف استفاده می‌شود.

بسیاری از رشته‌های اثرانگشت میان چندین سیستم‌عامل مشترک هستند، بنابراین همیشه یک نگاشت یک‌به‌یک میان رشته‌های اثرانگشت و سیستم‌های عامل وجود ندارد. همچنین این واقعیت که اثرانگشت یک سیستم با یک سیستم‌عامل خاص (یا فهرستی از سیستم‌های عامل) مطابقت دارد، لزوماً به این معنی نیست که سیستم تحت انگشت‌نگاری حتماً همان سیستم‌عامل است، هرچند این موضوع بسیار محتمل است. دلیل آن این است که فهرست سیستم‌های عامل جامع و کامل نیست؛ بلکه صرفاً شامل مواردی است که تاکنون کشف شده‌اند و قطعاً سیستم‌های عاملی وجود دارند که در این فهرست آورده نشده‌اند.

اثرانگشت ARP یک سیستم عموماً تابعی از هسته (kernel) آن سیستم است (اگرچه امکان پیاده‌سازی عملکرد ARP در فضای کاربری وجود دارد، اما تقریباً هیچ‌گاه چنین انجام نمی‌شود).

گاهی اوقات، یک سیستم‌عامل ممکن است بسته به پیکربندی خود اثرانگشت‌های متفاوتی ارائه دهد. به عنوان مثال، لینوکس به یک آدرس IP مبدأ غیرمحلی در صورتی پاسخ می‌دهد که آن IP از طریق رابط شبکه در حال آزمایش روت (مسیریابی) شده باشد. این امر هم خوب است و هم بد: از یک سو وظیفه انگشت‌نگاری را پیچیده‌تر می‌کند، اما از سوی دیگر می‌تواند امکان تشخیص برخی از جنبه‌های پیکربندی سیستم را فراهم سازد.

گاهی این واقعیت که دو سیستم‌عامل مختلف دارای یک رشته اثرانگشت ARP مشترک هستند، نشان‌دهنده استفاده مجدد از کدهای شبکه (networking code) است. یک نمونه از این مورد، Windows NT و FreeBSD است.

دستور arp-fingerprint از arp-scan برای ارسال درخواست‌های ARP و دریافت پاسخ‌ها استفاده می‌کند.

روش‌های دیگری نیز برای انگشت‌نگاری یک سیستم با استفاده از arp-scan وجود دارد که می‌توان آن‌ها را علاوه‌بر arp-fingerprint به‌کار برد. این روش‌های تکمیلی در arp-fingerprint گنجانده نشده‌اند؛ زیرا یا احتمال دارد باعث ایجاد اختلال در سیستم هدف شوند، یا نیازمند آگاهی از پیکربندی هدف هستند که ممکن است همیشه در دسترس نباشد.

بیشتر درخواست‌های ARP که arp-fingerprint ارسال می‌کند غیر استاندارد هستند، بنابراین ممکن است باعث اختلال در سیستم‌هایی شوند که پشته پروتکل TCP/IP قدرتمندی ندارند.

نمایش پیام کوتاه راهنمای استفاده و خروج.
نمایش پیام‌های پیشرفت با جزئیات کامل (verbose).
ارسال گزینه‌های مشخص‌شده به arp-scan. در صورتی که رشته گزینه‌ها شامل فاصله باشد، باید آن را در علامت نقل‌قول قرار دهید؛ به عنوان مثال: -o "-I eth1". گزینه‌های پرکاربرد عبارتند از: --interface (-I) و --numeric (-N).
انگشت‌نگاری تمام میزبان‌های موجود در شبکه محلی. در صورت مشخص شدن این گزینه، نیازی به تعیین هیچ میزبان هدفی نیست.

$ arp-fingerprint 192.168.0.1
192.168.0.1   01000100000     Linux 2.2, 2.4, 2.6
$ arp-fingerprint -o "-N -I eth1" 192.168.0.202
192.168.0.202 11110100000     FreeBSD 5.3, Win98, WinME, NT4, 2000, XP, 2003

دستور arp-fingerprint با زبان Perl پیاده‌سازی شده است، بنابراین برای استفاده از آن باید مفسر Perl بر روی سیستم شما نصب باشد.

arp-scan(1)

http://www.royhills.co.uk/wiki صفحه ویکی arp-scan.

October 27, 2022