منبع اصلی نوشتار زیر در این لینک قرار دارد

پویش شبکه در لایه ی 2

با سلام خدمت کاربران گرامی . در این مقاله در مورد اسکن سیستم های یک شبکه در لایه ی 2 می پردازیم , لازم به ذکر است که در اکثر مواقع برای پیدا کردن سیستم های فعال یک شبکه از چک کردن تمامی آدرس های آی پی شبکه استفاده می کنیم و اسکن را روی لایه ی 3 با استفاده از پروتکل های تعریف شده انجام می دهیم اما در این مقاله به اسکن بر روی لایه ی 2 خواهیم پرداخت و در ادامه تفاوت این دو را در هنگام اجرا بودن فایروال ها بررسی خواهیم کرد .

توپولوژی فرضی شبکه :

OSLearn.ir_0

سرفصل های این مقاله :

1. اسکن از طریق پروتکل ARP

2. تاثیر فایروال ها بر روی اسکن از این طریق

 

1. اسکن از طریق پروتکل ARP :

ابتدا باید گفت که برای اسکن سیستم های فعال یک شبکه در لایه ی 2 , از پروتکل ARP یا Address Resolution Protocol استفاده خواهیم کرد . ابزار هایی هم که در این بخش گفته خواهد شد همگی از این پروتکل برای اسکن فعال یا فعال نبودن یک سیستم در شبکه استفاده می کنند .

ابتدا اجازه دهید نیم نگاهی به تعریف پروتکل ARP از زبان ویکی پدیا داشته باشیم :

ARP یا پروتکل تفکیک آدرس (Address Resolution protocol) پروتکلی است که مسئولیت تبدیل (نام به آدرس) را در رابطه با بسته‌های اطلاعاتی خروجی برعهده دارد. ARP از جدولی خاصی به منظور ذخیره سازی آدرسهایMAC و IP مربوطه استفاده می‌نماید .

همچنین پیشنهاد می کنم با خواندن این مقاله درک نسبی ای از این پروتکل پیدا کنید .

ابزار های زیادی برای پویش با استفاده از این پروتکل وجود دارد . شاید اولین آن ها را بتوان ابزار arping نام برد . این ابزار به طور پیش فرض بر روی کالی نصب است و می توان به شکل زیر از آن استفاده کرد :

root@kali-OSLearn:~# arping -c 4 10.159.12.52

OSLearn.ir_01دومین ابزار را می توان netdiscover نام برد که خروجی ای مرتب تر و خوانا نمایش می دهد . این ابزار هم به طور پیش فرض بر روی کالی نصب است و می توان به شکل زیر از آن استفاده کرد :

root@kali-OSLearn:~# netdiscover -i eth0 -r 10.159.12.0/24

OSLearn.ir_02

نکته : از سویچ i- برای مشخص کردن interface استفاده کردیم .

نکته : از سویچ r- برای مشخص کردن رنج مورد پویش استفاده کردیم .

نکته : برای درک مفاهیم subnet و … به این جزوات مراجعه کنید .

سومین ابزار nmap نام دارد که بسیار قابل انعطاف است و نتنها در این زمینه بلکه در دیگر روش های پویش نیز از این برنامه استفاده می شود . این ابزار هم در کالی نصب است و می توان به شکل زیر از آن استفاده کرد :

root@kali-OSLearn:~# nmap -PR -sn --system-dns 10.159.12.0/24

OSLearn.ir_03

نکته : از سویچ sn- به منظور غیر فعال کردن پورت اسکن استفاده کردیم .

شاید ابزار های دیگری نیز موجود باشد اما چیزی که در تمامی این ابزار ها مشترک است , نحوه ی کارکرد آن ها و استفاده از پروتکل arp برای حل این مسئله است . برای درک این موضوع من وایرشارک را در 3 سیستم خود اجرا می کنم و با برنامه ی arping اقدام به فرستادن پکت هایی از جنس ARP به سیستم اوبونتو می کنم . در آخر پکت ها را در تمامی سیستم ها بررسی می کنم .

 

کالی لینوکس :

OSLearn.ir_04

اوبونتو دسکتاپ :

OSLearn.ir_05

ویندوز XP :

OSLearn.ir_06

همان طور که مشاهده می کنید یک پکت از سمت سیستم کالی در کل شبکه پخش شده است . یعنی حتی ویندوز XP هم پکت اول را دریافت کرده است . حال به قسمت info نگاه کنید :

who has 10.159.12.52? tell 10.159.12.50

همان طور که مشخص است سیستم کالی با آدرس آی پی 10.159.12.50 به دنبال آدرس فیزیکی برای آی پی 10.159.12.52 می گردد . طبق سناریو ای که فرض شده است , آی پی 10.159.12.52 بر روی سیستم اوبونتو set شده است پس اوبونتو به این پکت جواب می دهد و دیگر سیستم ها هیچ پکتی در پاسخ صادر نمی کنند . ( به پکت دوم در سیستم اوبونتو نگاه کنید )

10.159.12.52 is at 00:0c:29:2a:41:47

همین روند را می توان برای کل شبکه در نظر گرفت یعنی به جای وارد کردن یک آدرس آی پی در arping کل شبکه را زیر پویش برد و یا از برنامه ی netdiscover استفاده کرد . در این حالت روند بالا برای تمامی آی پی های موجود در شبکه تکرار می شود و هر سیستمی که پاسخی صادر کند , در لیست سیستم های فعال برای ما نمایش داده خواهند شد . به عنوان مثال :

OSLearn.ir_07

 

2. تاثیر فایروال ها بر روی اسکن از این طریق :

حال اجازه دهید تاثیر set کردن رول های مختلف در فایروال IPTABLES را برای این سناریو و برنامه ها بررسی کنیم .

در حالت اول من وارد سیستم اوبونتو میشم و کل input chain را از حالت accept به drop تغییر می دهم . برای این منظور :

root@ubuntu-OSLearn:~# iptables -P INPUT DROP

حال یک بار دیگر برنامه ی arping را در کالی اجرا می کنم و همزمان نتایج را در وایرشارک هم بررسی می کنم .

OSLearn.ir_08

همان طور که از عکس مشخص است , اوبونتو به ما جوابی صادر کرده است با این که ما کل INPUT chain را روی حالت drop قرار داده بودیم .

 

در حالت دوم INPUT chain را روی حالت accept قرار می دهیم اما آدرس مک سیستم کالی را drop می کنیم . برای این منظور :

root@kali-OSLearn:~# iptables -A INPUT -m mac --mac-source 00:0c:29:27:6e:12 -j DROP

باز همان روند را تکرار می کنیم و می بینیم که اوبونتو پاسخی در جواب برای کالی صادر کرده است .

OSLearn.ir_08

برای حل این مشکل از ابزار و روشی دیگر استفاده می کنیم که در قسمت بعدی یعنی “مقابله با پویشگر در لایه ی 2″ به طور مفصل به آن خواهیم پرداخت . فقط همین قدر بگم که فرض کنید سیستم و یا سروری را در شبکه داریم که نمی خواهیم هیچ گونه ارتباطی با دیگر سیستم های شبکه داشته و دیگر سیستم ها متوجه حضور این سرور در شبکه نباشند و تنها ارتباط خود را از طریق روتر با محیط خارج برقرار کند .

 

موفق و موید باشید .

 

منبع : او اس لرن دات آی آر | http://OSLearn.ir

نویسنده : E2MA3N



برچسب ها : , , , , , , , , , , ,