ابزار ARP-SCAN پروسه ای لایه دویی برای یافتن هاست های فعال در درون شبکه LAN است. درواقع برعکس اسکنرهای لایه سه ای در اینجا با MAC ADDRESS هاست ها اسکن انجام می شود.
ARP چیست؟
ARP پروتکل تبدیل IP به MAC و برعکس آن است. در FRAME ارسالی داده یک آدرس مقصد MAC و یک آدرس مقصد IP وجود دارد که آدرس IP همواره در طول مسیر ثابت می ماند اما آدرس MAC بعد از عبور از هر NODE مقدار جدیدی می گیرد. به همین دلیل در مسیریابی شما آدرس IP را مورد هدف قرار می دهید. اما آدرس IP در نهایت باید برای رسیدن به مقصد به MAC متناظرش تبدیل شود.
جدول ARP
یکی از اساسی ترین برتری های سوئیچ نسبت به هاب پروسه ای است که به همین جدول ARP اشاره می کند.
اگر به طور ساده بخواهیم روند سوئیچینگ داده را توضیح دهیم به این صورت است که تعدادی هاست به سوئیچ شبکه متصل اند. هر کدام از این هاست ها دارای IP و MAC مورد نظر خود هستند و در یک دامنه Broadcast قرار دارند.
حال فرض کنید که می خواهید از هاست A به هاست B دیتایی ارسال کنید. هاست A در بسته ارسالی خود آدرس IP مقصد را قرار می دهد اما اطلاعی از آدرس MAC مقصد ندارد.
سوئیچ در ابتدا آدرس IP و MAC هاست A را در جدول ARP وارد کرده و سپس این بسته را برای کل هاست های متصل به خود ارسال می کند و از آن ها می پرسد که آیا شما مالک این آدرس مقصد هستید؟
همه هاست ها این درخواست را رد کرده و بسته را دور می اندازند جز هاست B که بسته را گرفته و اعلام می کند که مالک این IP است.
در این لحظه سوئیچ از جواب هاست B آدرس MAC آن را یافته و در همان جدول دو آدرس IP و MAC هاست B را نیز وارد میکند. پس از این هر بسته ای که به آدرس مقصد A یا B ارسال شود مستقیم توسط این جدول شناخته شده و دیگر از سایر هاست ها سوالی پرسیده نمی شود.
در واقع آدرس MAC برای ارتباط بین هاست ها در هر شبکه ای نیاز است و آدرس IP ای که شما جستجو می کنید باید توسط جدول مخصوصی به MAC متناظرش تبدیل گردد که به این جدول ARP TABLE می گوییم. توجه نمایید که این توضیحات در IP های ورژن 4 صدق می کنند و در IPV6 به دلیل وجود پروتکل NDP و نحوه ساخت این IP که مرتبط با MAC دستگاه است جایگزین این پروسه می شوند.
برای مشاهده جدول ARP در سیستم عامل های مختلف باید روال زیر طی شود:
در ویندوز:
Arp -a
لایه 2 سیسکو:
Show mac-address-table
در لایه 3 سیسکو:
Show arp
در لینوکس:
Arp
در توزیع BSD (شبه یونیکس):
Arp -a
در ادامه با ابزار ARP-SCAN در کالی لینوکس اسکن لایه دویی هاست های فعال شبکه را بررسی می کنیم. این ابزار با ارسال بسته های ARP به کل هاست های شبکه (به صورت برودکست) به اسکن شبکه می پردازد.
اگر interface خاصی را انتخاب نکنید نیز خود به صورت خودکار interface ای که عدد کوچکتری دارد (به جز loopback interface ) را انتخاب می کند و روی آن interface بسته برودکستی خود را ارسال می کند. به عنوان مثال اگر eth0 و eth4 داشته باشید eth0 انتخاب می شود.
این ابزار به دلیل استفاده از raw socket حتما به دسترسی root نیاز دارد.
برخی از دستورات کاربردی این ابزار را قبل از توضیحات بیشتر بررسی می کنیم :
مشاهده ورژن ابزار:
اگر می خواهید شبکه ای که به interface مورد نظرتان (یا پیش فرض) متصل است را اسکن کنید:
-l or --localnet
نمونه ای برای وقتی که می خواهید هاستی با MAC خاصی را در شبکه بیابید :
جهت سریع تر شدن اسکن می توانید از کلید q- یا quiet– استفاده کنید که در این حالت فقط IP و MAC هاست را نشان می دهد و حداکثر حدود 5MB مموری مصرف می کند و با سرعت بیشتری نتایج را مشاهده خواهید کرد.
ابزار ARP-SCAN گزینه های بسیار زیادی دارد که می توانید از توضیحات لینوکس با دستور زیر آن ها را بررسی نمایید.
اگر ابزارهای بهتری برای اسکن در لایه دو شبکه می شناسید خوشحال می شویم آن را با ما در کامنت در میان بگذارید.
دیدگاهتان را بنویسید