دستگاههای شبکه
ما مبانی طراحی اولیه چیدمانهای رایج شبکه محلی (LAN) را پوشش دادیم. اکنون بیایید با بررسی آن دسته از دستگاههای رایج شبکه که معمولاً در تنظیمات شبکههای بزرگتر میبینید، شکافها را پر کنیم.
روترها و سوئیچها (Routers and Switches)
روترها و سوئیچها برای عملکرد موفقیتآمیز تقریباً تمام شبکههای مدرن امروزی ضروری هستند. در همین راستا، بسیاری از شبکههای خانگی ما اکنون به قابلیتهای مسیریابی و سوئیچینگ محلی خود مجهز شدهاند که یک دهه پیش در خانهها دیده نمیشد.
به یاد داشته باشید که روترها شبکهها را به هم متصل میکنند و سوئیچها صرفاً دامنههای پخش (Broadcast Domains) متعدد ایجاد میکنند. بله، واقعاً به بخشهای خوب برگشتیم، اما هنوز عقبنشینی نکنید؛ مفاهیمی مانند دامنههای پخش نقش بزرگی در تلاشهای جالبتر ما مانند شنود (Sniffing) و دریافت بسته (Packet Capturing) ایفا خواهند کرد. درک عمیق از عملکرد روترها و سوئیچها به شما برتری قابل توجهی هنگام جاسوسی از اطلاعات در یک شبکه (البته جاسوسی مجاز!) خواهد داد.
روترها (Routers)
بیایید با روترها شروع کنیم. هدف ما در اینجا ارائه درک درستی از عملکردهای اساسی روترهاست تا بتوانید از این دانش برای تکنیکها و ابزارهای پیچیدهتر هک استفاده کنید. یک مرور سریع بر مبانی:
عملکرد اصلی یک روتر، هدایت بستهها (ترافیک لایه ۳) به مکان مناسب بر اساس آدرسدهی شبکه است. از آنجا که روترها ترافیک را در لایه شبکه هدایت میکنند، دستگاههای لایه ۳ محسوب میشوند. وقتی درباره روترها صحبت میکنیم، درباره پروتکلهای رایجی مانند IP صحبت میکنیم — یعنی با آدرسدهی IP سر و کار داریم.
روترها همچنین به عنوان دروازهای (Gateway) بین انواع مختلف شبکهها استفاده میشوند، مانند شبکههایی در محدودههای IP متفاوت یا شبکههایی که پروتکل یکدیگر را نمیفهمند. برای مثال، در یک شرکت یا کسبوکار، نمیتوان یک اتصال فیبر نوری T1 را مستقیماً به کامپیوتر کلاینت وصل کرد و انتظار سرعت شبکه فوقالعاده بالایی داشت. کامپیوتر، یا دقیقتر بگوییم کارت رابط شبکه (NIC)، قادر به صحبت کردن به همان زبان اتصال خارجی نیست. روترها این شکاف را پر میکنند و به پروتکلهای مختلف در شبکههای مختلف اجازه برقراری ارتباط میدهند.
روترها همچنین از ترجمه آدرس شبکه (NAT) استفاده میکنند. این یک فناوری بسیار مفید است که به کلاینتهای شبکه داخلی اجازه میدهد یک آدرس IP عمومی (Public) واحد را برای دسترسی به دنیای خارج به اشتراک بگذارند. اساساً یک روتر دو رابط دارد: یکی برای دنیای خارج و یکی برای شبکه داخلی. به اتصال خارجی یا سمت عمومی، یک آدرس IP عمومی اختصاص داده میشود که از ارائهدهنده خدمات اینترنت محلی (ISP) خریداری شده است. سمت داخلی روتر به اینترانت محلی شما متصل است که حاوی تمام IPهای داخلی و منابع محافظتشده شماست. از سمت داخلی شما آزادید هر طرح IP که میخواهید ایجاد کنید زیرا داخلی است. وقتی یک کلاینت داخلی درخواستی برای یک منبع خارجی میدهد، روتر آن ترافیک را دریافت کرده و با IP عمومی خود به سمت بیرون میفرستد. این فرآیند از آدرس IP کلاینت داخلی محافظت میکند و همچنین تمام درخواستهای خروجی را از طریق همان IP عمومی هدایت میکند. از آنجا که NAT امروزه بسیار رایج است، به ندرت متوجه میشوید که واقعاً در حال وقوع است.
دلیل واقعی استفاده از NAT در دنیای واقعی فقط برای امنیت نیست. این یک صرفهجویی بزرگ مالی برای کسبوکار و همچنین روشی برای صرفهجویی در آدرسهای IP برای ISP است.
سوئیچها (Switches)
سوئیچها دادهها (فریمها) را بر اساس آدرسهای سختافزاری کامپیوترها یا دستگاههای مقصد تحویل میدهند. آدرسهای سختافزاری، که آدرسهای کنترل دسترسی رسانه (MAC) نیز نامیده میشوند، شناسههای دائمی هستند که توسط سازنده روی هر NIC حک شدهاند. آدرسهای MAC به یک مقدار هگزادسیمال ششجفتی تقسیم میشوند — برای مثال، c0-cb-38-ad-2b-c4. نیمه اول MAC مختص سازنده است. بنابراین، در این مورد c0-cb-38 فروشنده را شناسایی میکند. قسمت ad-2b-c4 خود دستگاه یا NIC را شناسایی میکند.
سوئیچها دستگاههای لایه ۲ در نظر گرفته میشوند زیرا فقط یک سطح پایینتر از عملکردهای روتر لایه ۳ کار میکنند. به یاد داشته باشید، لایه ۳ لایه شبکه است. لایه شبکه شامل تمام آدرسدهی IP است؛ لایه ۲ صرفاً با آدرسهای MAC سر و کار دارد (به تمرین ۲.۱ مراجعه کنید). توجه داشته باشید که امروزه سوئیچهای زیادی وجود دارند که در هر دو لایه ۲ و ۳ کار میکنند، اما برای سادگی و اهداف ما، سوئیچها در لایه ۲ هستند.
تمرین: کار با آدرسهای MAC
یافتن آدرس MAC
از آنجا که به آدرسهای MAC اشاره کردیم، باید با ظاهر آنها و همچنین نحوه یافتن یکی در یک سیستم خاص آشنا باشید. با در نظر گرفتن این موضوع، این تمرین به شما نشان میدهد که چگونه آدرس MAC را پیدا کنید.
در سیستم ویندوز:
- یک پنجره خط فرمان (Command Window) باز کنید و دستور
ipconfig /allرا وارد کنید. کاراکترهای جلوی عبارتPhysical Addressهمان آدرس MAC هستند.
در سیستم لینوکس:
- یک شل (Shell) باز کنید و دستور
ifconfig(یاip link) را وارد کنید.
توجه: در هر دو سیستم ممکن است بیش از یک آدرس MAC ببینید اگر سیستم بیش از یک کارت شبکه نصب شده یا آداپتور مجازی داشته باشد.
برای گسترش بیشتر بحث ما در مورد سوئیچها، بیایید نگاهی سریع به دامنههای پخش (Broadcast Domains) و دامنههای برخورد (Collision Domains) بیندازیم، زیرا این مفهوم مستقیماً بر قابلیتهای اسکن شبکه ما تأثیر میگذارد.
- یک دامنه پخش به سادگی به این معنی است که ترافیک ارسال شده در سیم، برای تمام میزبانها یا گرههای متصل به آن شبکه پخش خواهد شد. درخواستهای ARP که برای کشف آدرسهای سختافزاری به شبکه ارسال میشوند، نمونهای از ترافیک پخش هستند.
- دامنههای برخورد بخشهای شبکهای هستند که در آنها ترافیک ارسال شده به طور بالقوه با ترافیک دیگر برخورد خواهد کرد. در یک دامنه برخورد، دادههای ارسال شده برای همه گرههای متصل پخش نمیشوند؛ بلکه با هر ترافیک دیگری که روی سیم موجود باشد، برخورد میکنند.
بنابراین این به این معنی است که وقتی لپتاپ کوچک تست نفوذ خود را روی یک سیم میاندازید و به یک سوئیچ وصل میشوید، باید آگاه باشید که مهم نیست NIC شما چقدر تصمیم بگیرد بیبندوبار (Promiscuous) باشد، ترافیک ضبط شده شما محدود به دامنه برخوردی (یا همان پورت سوئیچ) خواهد بود که به آن متصل هستید.
تکنیکهای مورد استفاده برای تبدیل یک سوئیچ به یک هاب غولپیکر و در نتیجه یک دامنه برخورد بزرگ، در بخشهای آینده بررسی خواهند شد. فعلاً فقط محدودیتهای اولیه یک سوئیچ را از نظر شنود و ضبط بسته درک کنید.
با انفجار روترها و سوئیچهای بیسیم که در دهه گذشته بازار را اشباع کردهاند، شنود دوباره بخشی از قدرت و سهولت خود را به دست آورده است. شنود یک شبکه وایفای، ترافیک تمام کلاینتهای آن را ضبط میکند؛ این محدود به یک دامنه برخورد پورت سوئیچ خاص نیست. یک ابزار ساده و یک لپتاپ میتوانند دادههای فوقالعاده مفیدی را استخراج کنند.
هابها (Hubs) دستگاههایی شبیه به سوئیچ هستند با این تفاوت که در لایه فیزیکی کار میکنند و دستگاههای «ساده» (Dumb) در نظر گرفته میشوند. آنها هیچ تصمیمی در مورد جهت دادهها یا آدرسدهی نمیگیرند. قیمتهای بسیار کاهش یافته و تمرکز فزاینده بر امنیت باعث شده است که سوئیچها هابها را عملاً منسوخ کنند، مگر در کاربردهای خاص.