HacK و بررسی امنیت شبكه دارای 144 صفحه می باشد و دارای تنظیمات و فهرست کامل در microsoft word می باشد و آماده پرینت یا چاپ است
فایل ورد HacK و بررسی امنیت شبكه کاملا فرمت بندی و تنظیم شده در استاندارد دانشگاه و مراکز دولتی می باشد.
بخشی از فهرست مطالب پروژه HacK و بررسی امنیت شبكه
مدل مرجع OSI و لایه بندی پروتكل
چگونه TCP/IP سازگار می باشد؟
مفهوم TCP/IP
پروتكل كنترل انتقال داده TCP
بیت كنترل TCP ، دست دادن سه طرفه
فیلدهای دیگر در هدر TCP
پروتكل دیتاگرام كاربر
پروتكل اینترنت (IP) و پروتكل كنترل پیام اینترنت (ICMP)
شبكه های محلی و مسیریابها
آدرس IP
بخش بندی یك بسته در IP
دیگر قسمت های تشكیل دهنده IP
امنیت یا كمبود در IP سنتی
ICMP
تفسیر آدرس شبكه
دیواره آتش
حفاظت افراد با دیواره آتش
راه حل های حفاظتی برای شبكه ها
حفاظت لایه كاربردی
Thesencure Socket Layer
امنیت در سطح ICSec-IP
هدرشناسایی (AH)IPSec
آیا IPsec و IPV6 ما را حفاظت می كند ؟
سیستم های شناسایی دخول سرزده
گریز از IDS ها در سطح شبكه
Frage Router
گریز از IDs در سطح برنامه كاربردی
Whisher
راه های مقابله با گریز های IDS
در جستجوی مودمهای شبكه
Thc-Scan
حملات بعد از پیدا شدن مودم های فعال
مقابله با نفوذ از طریق مودم های ناامن
نقشه برداری از شبكه
Cheops
تعیین پورت های باز بر روی یك ماشین
مكانیزم پویش مؤدبانه
پویش مخفیانه
مقابله و دفاع در مقابل پویش و جستجوی پورت
firewalk بر علیه firewall
ابزارهای جستجوی نقاط آسیب پذیر
حمله به سیستم عامل
پیدا كردن نقاط آسیب پذیر
Xterms
ردیابی sniffing))
ردیابی از طریق هاب : كشف آرام
Snort
Sniffit
اسب های تراوا در سطح برنامه های كاربردی
ویژگی BO2K
سایت های وب
مقدمه
در 1980، یك سازمان بینالمللی استانداردسازی، طرحی را به نام Open System interconnection (DSI) به وجود آورد. این مدر براساس لایهبندی پروتكل پایهگذاری شده است. و آن به این صورت است كه وقتی دو كامپیوتر میخواهند با هم ارتباط برقرار ككنند، سریهایی از قسمتهای كوچك استاندارد نرمافزاری روی هر سیسیتم برای بهتر كردن این ارتباط، عملیاتی را انجام میدهند. یك قسمت برای حصول اطمینان از اینكه داده به طور مناسب بستهبندی شده است تلاش میكند و قسمت دیگر از فرستادن پیامهای گم شده به طور مجرد مراقبت میكند و قسمتهای دیگر پیامها را در سراسر شبكه میفرستند. هر كدام از این قسمتها كه تحت عنوان لایه از آنها یاد میشود، كار مشخص و كوچكی برای انجام ارتباطات دارند. قسمتهای ارتباطی كه با هم استفاده میشوند. Protocl Stack (پشته پروتكل) نامیده میشوند زیرا آنها شامل گروهی از این لایهها هستند كه بر روی هم سوال شدهاند. مدل OSI شامل هفت نوع از این لایهها میباشد كه هر كدام نقش مشخصی در انتقال دادهها را در شبكه دارند.
در توده ارتباطاتی لایهبندی شده، یك لایه روی قسمت فرستنده با همان لایه روی سیستم (قسمت) گیرنده در ارتباط است. به علاوه لایههای پایینتر به لایههای بالایی سرویس میدهند. به عنوان مثال لایه پایینتر ممكن است پیامهای گم شده را به جای ارسال به لایه بالاتر كه وظیفه فرمتبندی دادهها را به صورت دقیق به عهده دارد مجدداً به لایه پایین ارسال كند. این لایه، لایه سطح بالایی خود را كه ممكن است داده را در قسمت اول تولید میكند، سرویس دهد. وقتی كه یك لایه برای انجام امور به لایه دیگر متكی میشود،لایهها به وجود میآیند. بنابراین نرمافزار یك لایه میتواند در حالی كه تمامی لایههای دیگر یكسان باقی میمانند، به جای برناه دیگر جایگزین شوند.
مدل مرجع OSI از هفت لایه زیر تشكیل شده است:
• لایه 7: لایه برنامه كاربردی (Application layer): این لایه به عنوان پنجرهای به كانال ارتباطی برای برنامه كاربردی و البته با توصیف دادهها و تبدیل آنها به اطلاعات با مفهوم برای برنامههای كاربردی عمل میكند.
• لایه 6: لایه نمایشی (Presentation layer): این لایه چگونگی نمایش المانهای داده برای ارسال، از جمله منظم كردن بیتها و بایتها در اعداد و فرمتبندی اعداد نمایی و همانند آن را برعهده دارند.
• لایه 5: لایه جلسه (Session layer): این لایه، نشستهایی را بین ماشینهای ارتباطاتی با كمك به شروع، نگهداری و مدیریت آنها هماهنگ میكند.
• لایه 4: لایه انتقالی (Transport layer): این لایه، برای تهیه جریان ارتباطی قابل اعتماد بین دو سیستم، كه شامل انتقال دوباره پیامهای گم شده، قرار دادن آنها در جای مناسب و نظارت و بازرسی خطاها است، استفاده میشود.
• لایه 3: لایه شبكه (Network layer): این لایه برای انتقال داده از یك سیستم از میان مسیریابها به ماشین نهایی در طول شبكه، مسئولیتپذیر است.
• لایه 2: لایه پیوند دادهها (Data link layer): این لایه، داده را در طول شبكه حركت میدهد.
• لایه 1: لایه فیزیكی (Physical layer): این لایه بیتها را در طول پیوند فیزیكی كه میتواند فیبر نوری، ارتباط رادیویی، مس و یا هر رسانه فیزیكی دیگر انتقال میدهد.
چگونه TCP/IP سازگار میباشد؟
وقتی كه مفهوم مدل مرجع OSI، پروتكلهای گوناگون شبكه را پاسخ میدهد، پس بیایید پروتكل TCP/IP را تجزیه كنیم. در TCP/IP لایه كاربردی، لایههای جلسه و نمایش مدل مرجع OSI در لایه كاربردی قرار داده شدهاند. TCP/IP روی داده ارسالی برای برنامه كاربردی تمركز ایجاد میكند.
• لایه كاربردی:این لایه خود TCP/IP نمیباشد. بلكه متشكل از برنامههای خاصی است كه سعی میكنند با استفاده از TCP/IP در طول شبكه با هم ارتباط برقرار كنند. مدل ارتباطی در این لایه ممكن است شامل دو Mail Server، سرویسدهنده و سرویس گیرنده Telnet، سرویس دهنده و سرویس گیرنده FTP و یا سایر برنامههای كاربردی باشد.
• لایه انتقال: این لایه شامل پروتكل كنترلی ارسالی، (TCP) پروتكل دیتاگرام كاربر (UDP)، و پروتكل سادهای كه ما در آینده در این قسمت با جزییات بیشتری تجزیه میكنیم، میباشد. این لایه اطمینان حاصل میكند كه بستهها به مكان مناسب روی ماشین مقصد تحویل داده شدهاند. همچنین برای فراهم كردن بستهها به صورت منظم برای برنامهای كاربردی كه احتیاج به این عمل دارند، میتواند استفاده شود.
• لایه شبكه: این لایه به پروتكل اینترنت (IP) وابسته است و هدف آن فرستادن پیامها از كامپیوتر منبع داده شده به ماشین نهایی داده شده در طول شبكه میباشد. بر طبق اصطلاح مدل مرجع OSI، به لایه IP گاهی اوقات لایه سوم نیز گفته میشود.
• لایه پیوند داده: این لایه پیامها را در طول شبكه از هر كامپیوتر به كامپیوتر دیگر انتقال میدهد. به عنوان مثال، این لایهها روی كامپیوتر دادهها را از كامپیوتر شما به مسیریاب (Router) شبكه محلی شما حركت میدهد. سپس مسیریاب (Router) با استفاده از این لایه پیوندی، داده را به مسیریاب بعدی انتقال میدهد. باز هم طبق اصطلاح مدل OSI، لایه پیوند داده به لایه دوم ارجاع میشود.
• لایه فیزیكی: این لایه یك واسطه فیزیكی از قبیل سیم و یا كابل كه اطلاعات از آن عبور داده میشود، میباشد.
لایههای شبكه و انتقال با هم سیستم پشتهای TCP/IP را تشكیل میدهند كه متشكل از نرمافزارهای اجرایی روی كامپیوتر است. همانند مدل OSI، یك لایه با لایهای مشابه در قسمت دیگر رابطه برقرار میكند. علاوه بر آن، لایه پایینی سرویسی را برای لایههای بالایی تهیه میكند.
مفهوم TCP/IP
اینكه كه درك ابتداییای از لایه پروتكل داریم. TCP/IP را با جزئیات دقیقتری مورد آزمایش قرار میدهیم. خانواده پروتكلهای TCP/IP از اجزای گوناگونی تشكیل یافته است: پروتكل كنترل انتقال *TCP) پروتكل (UDP) User Datagram، پروتكل اینترنت (IP) و پروتكل پیام كنترل اینتر (ICMP).
TCP/IP در رشتههایی از مدارك تولید و نگهداری شده توسط گروه ویژه مهندسی اینترنت (IETF) توضیح داده میشود. John Postel پدر خانواده TCP/IP، رشتههایی از درخواستها یكسری از اسناد و نظریههای تئوری كه توضیح میدهد چگونه TCP/IP كار میكند را تهیه كرد. 193 تا 191 RFC كه IP، TCP و ICMP را توصیف میكنند كه در www.ietf.org/rfc,html با هزاران RFC دیگر كه جنبههای دیگر اینترنت را توصیف میكنند قابل دسترسیاند.
TCP/IP در اصل برای تحقیقات و آكادمیها تهیه شده بود و هیچگونه قابلیت حفاظتی را دارا نبود. پروتكل سنتی TCP/IP برای اطمینان از قا بلیت اعتماد، جامعیت دادهها و اعتبار داده ارسال شده بر روی شبكه مناسب نبود. بدون كنترلهای مخفیانه و صادقانه، وقتی كه شما دادهای را به اینترنت میفرستادید، TCP/IP به هر استفادهكننده دیگری اجازه دیدن و تغییر داده شما را میدهد. به علاوه، بدون اعتبارسنجی (authentication) یك مهاجم میتواند دادهای را كه به نظر میآید از منابع قابل اعتماد دیگر روی شبكه به دست میآید، برای شما بفرستد.
درگذشته، تمام قابلیتهای حفاظتی شبكههای TCP/IP در برنامههای كاربردی ارتباطی به كار گرفته میشدند و در پشته TCP/IP عملی انجام نمیگرفت. فقط اخیراً حفاظت و امنیت، به پروتكل TCP/IP در فرم توسعه پروتكل كه Ipsee نامیده میشود و ما در آینده با جزییات دقیقتری در این قسمت آن را توصیف خواهیم كرد، قرار داده شده است. اگرچه Ipsee آینده خوبی دارد اما هنوز به طور گسترده به كار گرفته نشدهاند. بنابراین، بدون این قابلیتهای حفاظتی پروتكل، برنامههیا كاربردی هنوز برای انجام امور حفاظتی اغلب به خود واگذار میشوند.
پروتكل كنترل انتقال داده (TCP)
TCP بخشی است از اینترنت كه امروزه توسط اكثریت برنامههای كاربردی استفاده میشود. از میان هزاران برنامه كاربردی كه توسط TCP استفاده میشوند برخی از آنها قابل توجهترند.
• انتقال فایل با استفاده از پروتكل انتقالی فایل (FTP)
• telnet، یك رابط خط فرمان از راه دور
• Email با استفاده از پروتكلهای گوناگون كه شامل پروتكل انتقالی پستی ساده (SMTP) و پروتكل (POP) Post Office میباشد.
• مرورگر وب با استفاده از پروتكل انتقالی ابرمتنها (HTTP)
هر كدام از این پروتكلها بستهها را تهیه كرده و آنها را به پشته TCP/IP ماشین محلی عبور میدهند. نرمافزار لایه TCP روی سیستم این داده را میگیرد و با قرار دادن هدر TCP در جلوی هر پیام، بستههای TCP را تولید میكند.
شماره پورت TCP
هدر هر بسته TCP شامل دو عدد درگاه میباشد. پورت مبدأ و پورت مقصد. این اعداد 16 بیتی همانند درهای كوچكی بر روی سیستم یعنی جایی كه داده میتواند فرستاده و یا دریافت شود میباشند. درگاهها درهای فیزیكی نیستند. آنها واحدهای منطقی هستند كه توسط نرمافزار پشته TCP/IP توضیح داده شده است. 65535 پورت TCP مختلف روی هر ماشین وجود دارد. پورت صفر TCP رزرو شده و استفاده نمیشود. هر بسته TCP از میان یكی از این درها از ماشین مبدأ بیرون میآید (عدد پورت TCP مبدأ) و پورت دیگر روی ماشین مقصد مشخص شده است.
وقتی كه یك برنامه كاربردی سرویس دهنده مبتنی بر TCP روی سیستم كار میكند، به درگاه خاصی برای بستههای TCP كه از یك سرویسگیرنده میآید، گوش میدهد. به یك پورت با سرویس شنوایی، پورت باز و به جایی كه چیزی برای شنیدن وجود ندارد پورت بسته گفته میشود. سرویس دهندههای گوناگون برنامه كاربردی به پورتهای مشهور گوش میدهند. پورتهای TCP مورد استفاده اغلب به صورت زیر میباشد:
• TCP Port 21- پروتكل ارسالی فایل (FTP)
• TCP Port 23-Telnet
• TCP Port 25-پروتكل ارسالی پستی ساده (SMTP)
• TCP Port 80-Word Wide Web (HTTP)
• TCP Port 666-Doom (…Id بازی از نرمافزار)
برای اتصال، سرویسدهندگان برنامه كاربردی، لایه TCP سرویس گیرنده بستههایی با پورت مقصد TCP شبیه به پورتی كه برنامه كاربردی سرویس دهنده در حال گوش دادن است را تولید میكنند.
پورت مبدأ برای درخواست بسته (Packet) به صورت دینامیكی توسط سیستم عامل به برنامه متقاضی به شمارهای بیش از 1023 كه پورت شماره بالا (“High-numbered”) نامیده میشود تنظیم شده است. پورت نهایی درخواست مطابق با برنامه كاربردی، جایی كه سرویسدهنده در حال گوش كردن است همانند TCP Port 80 برای عبور و مرور HTTP میباشد. برای بیشتر برنامههای ك اربردی، سرویس دهنده پیامهای پاسخ را به شماره پورتهای ارسال شده خواهد فرستاد. پورت مبد بسته پاسخ، شمارهپورتی است كه سرویسدهنده در حال شنیدن بوده است و پورت مقصد جایی است كه سرویسگیرنده پیام اصلی را فرستاد.
هدایتگر سیستم میتواند هر سرویسدهنده برنامه كاربردی را برای استفاده از هر شماره پورت صادر شده مدیریت كند اما برنامههای سرویس گیرنده از برنامههای كاربردی انتظار دارند كه روی درگاههای نهایی مشخصی شنیده شوند. بنابراین، برای اینكه سرویسگیرنده و كاربر درباره پورت نهایی مرسوم روی سرویسدهنده اطلاعاتی داشته باشند، شمارههای پورتی كه در REC 1700 توصیف شدهاند اغلب مورد استفاده قرار میگیرند.
برای آنكه ببینید چه پورتهایی در Window NT/2000 یا سیستم UNIX مورد استفادهاند میتوانید از دستور «netstat» استفاده كنید. با تایپ «Netstat-na» در خط فرمان، تمام پورتهایی كه دادهها را میفرستند، نمایانگر خواهند شد. نشان «-na» در تمام دستورات به معنای نمایش همه پورتها و لیست كردن آدرسهای شبكه و شماره فرمها در قالب عددی میباشد.
بیتهای كنترلی TCP، دست دادن سه طرفه (Three-way handshke) و شمارههای سریال
بیتهای كنترل TCP، كه همچنین اغلب با عنوان «code bits» نامیده میشوند، قسمتهای بخصوص مفیدی از هدر TCP هستند.
این 6 فیلد كوچك (هر كدام فقط با طول 1 بیت) مشخص میكند كه كدام قسمت از نشست (Session) بسته TCP در رابطه است با مثلاً آغاز نشست و acknowledgment، پایان دادن به یك نشست. همچنین، بیتهای كنترل میتواند معلوم كند كه آیا بسته درخواست شده، توجه لازم كه توسط لایه TCP هدایت شود را دارد؟
اكثری مردم به بیتهای كنترل TCP تحت عنوان «Cod bites» مراجه میكنند. هر كد بیت میتواند به طور غیروابسته تنظیم شود بنابراین هر بسته TCP میتواند شامل یك و یا حتی بیشتر كد بیتهای 6 تایی به ارزش 0 و 1 باشد. اغلب، تنها یكی و یا دو تا از كد بیتها در پیام داده شده به ارزش 1 تنظیم شدهاند. كد بیتها به معانی زیر هستند:
URG: اشارهگر ضروری در فیلد هدر TCP مهم و بامعنا است.
ACK: فیلد Acknowledgment مهم است. این پیام برای مشخص كردن بستههای دریاف شده استفاده میشود.
PSH: این یك عملگر جلوبرنده است كه برای حركت دادن داده در لایه TCP استفاده میشود.
PST: ارتباط به خاطر خطا و سایر وقفهها باید دوباره برقرار شود.
SYN: سیستم باید شماره سریال را همگام نماید این كد در طول برپایی نشست استفاده میشود.
FIN: هیچ داده دیگری از فرستنده وجود ندارد. بنابراین، نشست باید از بین برود.
وقتی كه ما چگونگی آغاز نشستها را در TCP تجزیه و تحلیل كنیم، اهمیت بیتهای كنترل TCP واضح میشود تمامی ارتباطات TCP قانونی با استفاده از دست دادن سه طرفه (Three-way handshake) و ابزار اولیه كه توسط TCP برای انجام كارهایش استفاده میشود برپا شده است. دست دادن سه طرفه، ترسیم شده به سیستم اجازه میدهد تا یك نشست ارتباطی و برقراری مجموعهای از شمارههای سریال برای بستههایی كه در نشست استفاده میشوند را باز كند.
تمامی بستهها در این نشست به جای مناسب میرسند. اگر دو بسته در این انتقال برگشت داده شوند (به این حالت كه مثلاً بسته آخر مسافت كمتری را نسبت به بسته اولیه طی كرده است) لایه TCP میتواند مشكل بستهها را قبل از فرستادن آنها در برنامه كاربردی كشف كند. و آنها را دوباره مرتب نماید. به طور مشابه اگر یك بسته در طول انتقال و ارسال گم شود، TCP میتواند مشكل را با توجه به شمارههای سریال و شمارههای ACK بسته مفقود شده، كشف و نسبت به انتقال دوباره این بستهها اقدام كند. بنابراین، Three-way handshake و شمارههای سریالی كه از آن نتیجه میشوند، به TCP اجازه میدهند كه ارسالهای قابل اعتمادی داشته باشند.
هنگامی كه كد بیتهای SYN و ACK برای برپایی نشست استفاده میشوند، كد بیت FIN برای از میان بردن نشست استفاده میشود. هر طرف پیامی را كه كد بیت FIN تنظیم شده است تا نشستی را كه باید خاتمه یابد مشخص كند، میفرستد.
كد بیت RST برای توقف ارتباطات و آزادسازی شمارههای سریال در حال استفاده به كار میرود. اگر یك ماشین بستهای كه انتظارش را ندارد دریافت كند (مانند پیامهایی شامل بیت ACK وقتی كه هیچ نشستی برپا نشده است) با پیامی كه بیت RST آن تنظیم شده است، واكنش نشان خواهد داد. این روش بیان ماشین است. «اگر شما فكر میكنید كه نشستی وجود دارد، آن را از بین ببرید زیرا من نمیدانم شما راجع به چه مسألهای صحبت میكنید.»
كد بیتهای URG و PSH اغلب كمتر از 4 بیت دیگر استفاده میشوند. كد بیت URG به این معناست كه داده شامل برخی دادههای ضروری میباشد. اگر كد بیت URG به یك تنظیم شده است فیلد اشارهگر مشخص میكند كه در كدام قسمت داده رشتهای، داده ضروری واقعی وجود دارد. TCP مشخص نمیكند كه چگونه داده ضروری باید توسط برنامه كاربردی به كار برده شود. این فقط به لایه كاربردی در یك طرف ارتباط اجازه میدهد تا داده واقعی را برای قسمت دیگر ارتباط نشان دهد. كد بیت PSH به این معناست كه لایه TCP باید بسته را از میان پشته با سرعت عبور دهد.
فیلدهای دیگر در هدر TCP
بجز فیلدهای هدر TCP كه قبلاً توضیح داده شد، فیلدهای گوناگون دیگری هم در در TCP یافت میشوند. این فیلدهای اضافی از قرار زیر هستند:
• Data offset: این فیلد توضیح میدهد كه در كجای بسته TCP هدر پایان یافته و داده شروع میشود. این با طول هدر TCP در كلمات 32 بیتی برابری میكند.
• Reserved: این فیلد برای استفاده آتی رزرو شده است.
• Window: این فیلد برای كنترل شماره بستههای ارسال شده كه بین سیستمها فرستاده میشود استفاده میگردد. این به هر قسمت از ارتباط، راهی را برای كنترل جریان بستهها از قسمت دیگر میدهد تا اطمینان حاصل كنند كه همه بستهها به طور منظم دریافت شدهاند و قبل از آنكه بستههای جدید فرستاده شوند به طور منظم acknowledge بستههای دریافت شده فرستاده میشود.
• Checksum: برای رسیدگی به اینكه بسته TCP (هدر و داده) در انتقال در شبكه خراب نشده است،استفاده میشود.
• Urgent Pointer: این فیلد، اشارهگری به دادهای از بسته را دارد تا مشخص كند كه اطلاعات ضروری كجا واقع شدهاند.
• Options: این مجموعه از فیلدهای با طول گوناگون، میتوانند اطلاعات اضافی درباره قابلیتهای پردازشی TCP را از هر كدام از طرفهای ارتباط مشخص كنند. به عنوان مثال اگر لایه TCP فقط بستههای TCP از ماكزیمم سایز گرفته شده را اداره كند، سیستم میتواند محدودیت را در گزینههای TCP مشخص كند.
• Padding: این فیلد بیتهای اضافی تنظیم شده با مقدار صفر را شامل میشود تا طول هدر TCP را توسعه دهد. بنابراین این روی مرز 32 بیتی خاتمه مییابد.
پروتكل دیتاگرام كاربر (User Datagram Protocol)
وقتی كه به اسم پروتكل به عنوان « TCP/IP» اشاره میشود، اعضای دیگری از این خانواده در كنار IP و TCP وجود دارند. UDP لایه انتقالی دیگری است كه در بالای IP میتواند قرار گیرد. UDP و TCP مانند دو عموزاده هستند. TCP بیشتر مورد توجه است و در اسم فامیلی استفاده میشود ولی UDP هنوز پایه بسیاری از برنامههای كاربردی مهم است. تهیهكننده برنامه كاربردی میتواند انتخاب كند كه داده را با استفاده از TCP بفرستند. یا UDP (با توجه به اینكه برنامه كاربردی چه چیزی را از لایه انتقال نیاز دارد)، بستههای دریافت شده و رشته ارتباطی، یا TCP هستند یا UDP و نمیتوانند هر دو پروتكل را به طور همزمان مورد استفاده قرار دهند. سرویسهایی كه UDP را مورد استفاده قرار میدهند شامل بسیاری از رشتههای دادههای ویدیویی و صوتی برنامههای كاربردی میباشند كه به همان خوبی جستجوها و پاسخهای (Domain Name Service) DNS عمل میكند.
UDP بدون اتصال است (Connectionless) پروتكلی كه وضعیت اتصال را نمیداند و یا به خاطر نمیآورد و هیچ اعتقادی به نشستهای ابتدایی، تصدیق دریافت اطلاعات، خراب شدن یا چیز دیگری ندارد. به علاوه UDP پیامهای گمشده را دوباره ارسال نمیكند و یا حتی آنها را در جای مناسب قرار نمیدهد. بنابراین، اگر پیام 1، پیام 2، و پیام 3 فرستاده شوند، مقصد ممكن است پیام 2، پیام 1 و كپی دیگری از پیام 1 را دریافت كند. پیام3 گم میشود و پیام 1 دوباره فرستاده میشود.
UDP غیرقابل اعتماد است. ممكن است پیامها را گم كند و یا آنها را خراب بفرستد. اما گاهی اوقات عدم قابلیت اطمینان، خوب است. بخصوص وقتی كه میتواند برای شما سرعت را به ارمغان آورد. برخی از برنامههای كاربردی به گرفتن پیامها با سرعت زیاد در طول شبكه علاقهمندند و به قابلیت اطمینان در سطح بالا نیازی ندارند. این برنامههای كاربردی به سربار Three-way handshake و شمارههای سریال روی هر بسته و غیره احتیاج ندارند. در عوض، برای این برنامههای كاربردی، سرعت و سادگی جزء نیازهای ضروری هستند.
به علاوه برخی برنامههای كاربردی پرسش - پاسخ، از UDP به طور چشمگیری استفاده میكنند. وقتی كه آدرس شبكه را برای نام یك حوزه (Domain) خاص جستجو میكنید، DNS پیامی را با یك پرسوجو میفرستذد تا نام دامنه را جستجو كند. (پیام كه میگوید: آدرس «10.21.41.3» است). این برنامههای كاربردی، سرباری در رابطه با برپایی ارتباط با استفاده از دست دادن سه طرفه را برای فرستادن پرسوجو و گرفتن پاسخ نمیخواهند.
UDP شمارههای پورت 16 بیتی را دارند بنابراین 65335 پورتهای UDP قابل دسترس وجود دارند. فقط مانند TCP، داده از پورت سیستم اصلی (پورت مبدأ UDP) میآید و برای یك پورت روی سیستم مقصد (پورت مقصد UDP) در نظر گرفته شده است. یكی از گستردهترین سرویسهای UDPهای مورد استفاده (DNS) برای گوشكردن به پرسوجوهای DNS روی پورت 53 UDP است.
سرویسهای دیگر پایهگذاری شده براساس UDP شامل:
• پروتكل انتقالی فایل كم اهمیت (TFTP)، پورت UDP69
• پروتكل مدیریت شبكه ساده (SNMP)، پورت UDP161
• داده Real Player، صوتی - تصویری، یكسری از پورتهای UDP شامل 7070، اگرچه سرویسگیرنده میتواند فقط برای استفاده پورتهای TCP در صورت لزوم پیكربندی شود.
پروتكل اینترنت (IP) و پروتكل كنترل پیام اینترنت (ICMP)
وقتی كه لایه UDP یا TCP بسته برا تولید میكند، آن باید در طول شبكه فرستاده شود. لایه انتقال (UDP یا TCP) بسته را به لایه شبكه برای بردن آن عبور خواهد داد.
پروتكل اینترنت (IP) عمومیترین لایه شبكهای است كه امروزه استفاده میگردد و برای تمامی حركتهای ترافیكی در طول اینترنت مورد استفاده واقع میشود.
شبكههای محلی و مسیریابها
هدف IP انتقال بستهها در طول شبكه میباشد. شبكههای كامل از بلوكهای ساختمانی اساسی و پایهای به نام Local area networks (LANs) تشكیل یافتهاند. LAN به طور ساده گروهی از كامپیوترها میباشند كه با استفاده از hub یا switch بدون هیچ مسیریابی كه سیستمها را مجزا كند، به هم مرتبطاند. همانطور كه نامشان مشخص میكند LANها به طور نمونه از نظر جغرافیایی كوچكند و معمولاً ساختمان منفرد و محوطه كوچكی را دربرمیگیرند.
LANها با استفاده از مسیریابها به هم متصلند. وظیفه مسیریاب این است كه بستهها را بین LANها برای به وجود آوردن یك شبكه بزرگ، همانطور كه در شكل نشان داده شده است، حركت دهد. یك و یا چند پروتكل لایه شبكه، داده را در طول شبكه از كامپیوتر كاربر نهایی و از میان مجموعهای از مسیریابها، تا سیستم نهایی حركت میدهد. همچنین، سیستمها به طور مستقیم به مسیریابها یا هر پیوند نقطه به نقطه در حال استفاده دیگری مرتبط شدهاند. خود اینترنت، چیزی به جز مجموعه LANهای عظیم و ارتباطات نقطه به نقطه كه با استفاده از گروههای مسیریاب (Router) به هم متصل شدهاند نمیباشد.
یك شبكه تركیبی از lanهای متصل شده به هم توسط مسیریابها میباشد.
آدرس IP
آدرسهای IP ماشین بخصوصی را روی شبكه توضیح میدهند و طولشان 32 بیت میباشد. هر سیستم كه به طور مستقیم به اینترنت متصل میشود آدرس IP منحصر به فردی دارد. از آنجایی كه محدود كردن مردم به خواندن و حفظ كردن یك بلوك 32 بیتی، بسیار مشكل است. لذا آدرسهای IP اغلب به صورت نماد dotted-qual نوشته میشوند. نماد Dotted-qued، هر كدام از 4 بستههای 8 بیتی از آدرس IP را به عنوان عددی بین 0 و 255 كه در آدرس IP به فرم W.X.Y.Z مانند 10.12.41.3 نتیجه میشود را لیست میكند.
هر كدام از بستههای IP، آدرس IP مبدأ را با تعریف سیستمی كه بسه را میفرستد و آدرس IP مقصد كه سیستم مقصد را برای بسته مشخص میسازد شامل میشود.
Netmasks
هر آدرس IP به صورت واقعی از 2 قسمت تشكیل یافته است. آدرس شبكه و آدرس میزبان روی همان شبكه خاص، آدرس شبكه، LAN خاصی را توضیح میدهد كه ترافیك میتواند برای رساندن بسته هدایت شود. آدرس میزبان، ماشین مخصوص روی LAN داده شده را توضیح میدهد.
چگونه كامپیوتر و یا مسیریاب میداند كه كدام قسمت از آدرس IP مربوط به شبكه و كدام مربوط به میزبان است؟ در واقع اطلاعات پایهگذاری شده روی قسمتی كه Netmask نامیده میشود آن را تعریف میكند. Netmask مشخص میكند كه كدام بیتها در آدرس شبكه هستند (و بقیه بیتهای آدرس IP در قسمت میزبان واقع شدهاند). Netmask عددی است كه بیتهایش را وقتی كه قسمتی از آدرس شبكه است، به مقدار 1 تنظیم مینماید. وقتی كه بیت داده شده در آدرس IP قسمتی از آدرس میزبان است، Netmask دارای بیت صفر است. بنابراین شما میتوانید آدرس Netmask را باتركیب ساده تمامی آدرس IP با Netmask با استفاده از عملگر XOR، تشخیص دهید. همانند آدرسهای IP، Netmaskها هم در نماد dorred-qued نوشته میشود.
بخشبندی یك بسته در IP
رسانههای ارسالی گوناگون، خصوصیات اجرایی مختلفی دارند. برخی رسانهها
وقتی پیامها طولانیتر باشند بهتر عمل میكنند در حالی كه دیگر رسانهها از پیامهایی با طول كوتاهتر بهره میبرند. به عنوان م ثال، انعاس دادن یك بسته IP از یك ماهواره بسیار متفاوت است با فرستادن یك بسته از میان فیبر نوری. با توجه به زمان تأخیر (latency) مربوط به ارسال اطلاعات به ماهواره، بستههای بزرگتر كارایی بیشتری دارند در حالی كه بستههای كوچكتر كارایی خوبی را در شبكههای با تأخیر كمتر (loulatency) دارند. برای بهینه ساختن طول بستهها برای پیوندهای گوناگون ارتباطی، IP عناصر شبكه (مانند مسیریابها و firewalls)) را كه قابلیت تبدیل پیامها به قطعات كوچكتر را دارند، (عملی كه fragnetations نامیده میشود) معرفی میكند. سیستم پایانی یا ابزار شبكه میتواند بستههای IP بزرگ را بگیرد و آنها را به تكههای كوچكتر برای ارسال در طول شبكه بشكند. لایه IP سیستم نهایی موظف است كه دوباره تمامی قطعات را قبل از فرستادن داده به لایه حمل اسمبل كند.
هدر IP، یك جفت فیلد برای پشتیبانی این قطعات پیشنهاد میكند. ابتدا فیلد fragment offset به سیستم میگوید تا زمانی كه تمامی پیام مجدداً اسمبل شد، محتویات این قطعات بایستی شامل كدام قسمت باشند. به علاوه، فیلد شناسایی (Identification) استفاده میشود تا به اسمبل مجدد قطعات كمك كند. فیلد شناسایی، توسط سیستم پخشكننده به مقداری واحد تنظیم شده است تا به سیستم مقصد برای اسمبل مجرد پیام كمك كند. به علاوه پرچمها (flag یا نشانه) در هدر IP، اطلاعاتی در ارتباط با fragmentation را مشخص میكند. سیستم فرستنده میتواند این فیلدها را تنظیم كند تا مشخص كند كه پیامها در حین عبور از شبكه نباید مجزا شوند. همچنین اگر یك بسته قطعه قطعه شده است، این نشانها مشخص میكنند كه آیا هنوز قطعاتی از پیام اصلی بر سر راه قرار دارند یا نه. این 2 بایت میتوانند ارزشهای زیر را داشته باشند.
• Flag Bit 1 (the Don’t Fragment bit): 0 = may fragment 1 = don’t fragment
• Flag Bit 2 (the more Fragment bit): 0 = last fragment 1 = more fragments
دیگر قسمتهای تشكیل دهنده IP
هدر IP متشكل است از:
• Version: این 4 بایت توضیح میدهند كه كدام نسخه از پروتكل اینترنت در حال استفاده است نسخه چهارم IP، نسخهای است كه به صورت گسترده در سراسر اینترنت استفاده میشود.
• IHL: این فیلد، the internet Header Length، طول كلی هدر IP است.
• Service type: این فیلد با كیفیت سرویس مرتبط است. برای عناصر شبكه مشخص میكند كه تا چه مقدار به تأخیر افتادن عبور و مرور میتواند حساس باشد.
• Total length: این قسمت طول كلی بسته IP كه شامل هدر IP و دادههای آن است را معین میكند.
• Idinification: این فیلد برای پشتیبانی از اسمبل مجدد تكهها استفاده میشود.
• Flags: این بیتها همانطور كه قبلاً توضیح داده شده است شامل بیت «Don’t fragment» و بیت «More fragment» میباشند.
• Fragment offset: این قسمت مشخص میكند كه تكهها میبایستی در كدام قسمت از پیام جا داده شوند.
• Time to live (TTL): این فیلد برای مشخص كردن بیشترین تعداد جهشهای روتر – به - روتر زمانی كه بسته در طول شبكه عبور داده میشود، مورد استفاده واقع میشود.
• Protocol: این فیلد، پروتكلی كه توسط پیام IP حمل میشود را توضیح میدهد كه اغلب مشابه TCP یا UDP ارزشگذاری میشود.
• Header Checksum: این اطلاعات برای حصول اطمینان از اینكه هدر اشتباهی نكرده باشد استفاده میشود كه در هر جهش توسط مسیریاب دوباره تخمین زده میشود.
• Source IP Address: این فیلد آدرس شبكه و میزبان را از جایی كه بسته آمده است، مشخص میكند.
• Destination IP Address: این فیلد آدرس شبكه و میزبان را به جایی كه بسته فرستاده میشود، مشخص میكند.
• Options: این فیلدهای با طول متغیر، اطلاعات گسترده شده برای لایه IP را مشخص میكند. بخصوص، در مسیریابی مبدا، عملگری كه در زیر با جزییات بیشتری توصیف میشود، مورد استفاده قرار میگیرد.
• Padding: این فیلد به این منظور مورد استفاده قرار میگیرد كه طول هدر IP را در حد 32 بیت نگاه داشته و از 32 بیت بیشتر نگردد.
امنیت یا كمبود در IP سنتی
پروتكلی كه امروزه در اینترنت استفاده میشود، IP با نگارش 4، هیچگونه قابلیت حفاظتی اساسی را شامل نمیشود. تمامی اجزاء تشكیل دهنده بسته به صورت متن واضح آورده شده و هیچ چیز پنهان نیست. هر چیزی در هدر و یا حتی در قطعه داده میتواند مشاهده شده و یا توسط مهاجم تغییر یابد. به علاوه، پروتكل شامل شناسایی (authentication) نیست بنابراین یك مهاجم میتواند پیامهایی را با هر آدرس IP مبدأ تولید كند.
ICMP
یكی دیگر از اعضای فامیل TCP/ IP، پروتكل كنترل پیام اینترنت (ICMP)
است. ICMP، مانند لولهكشی شبكه است. وظیفهای انتقال فرمان و كنترل اطلاعات بین سیستمها و شبكه برای انتشار نقل و انتقالات داده واقعی و گزارش خطاها میباشد. یك سیستم میتواند از ICMP برای امتحان اینكه آیا سیستم دیگر فعال است یا نه (با فرستادن «ping» كه پیام پژواك (ICMP Echo) است) استفاده كند. اگر سیستم Pinged فعال باشد، به فرستادن پیام پاسخ پژواك (ICMP Echo) واكنش نشان میدهد. یك مسیریاب میتواند از ICMP استفاده كند تا به سیستم مبدا اطلاع دهد كه راهی به مقصد مورد نیاز ندارد (یك پیام مبنی بر مقصد غیرقابل جستجو ICMP). یك میزبان میتواند به سیستم دیگر بگوید كه سرعت تعداد پیامهایی را كه مبدأ ICMP میفرستد را كاهش دهد. درست متوجه شدید - ICMP برای سیستمها استفاده میشود تا اطلاعاتی در مورد اینكه چگونه داده در طول شبكه جاری میشود (و یا جریان نمییابد) را مبادله كحند.
ICMP از این فرمت هدر به عنوان IP برای آدرسهای IP مبدأ و مقصد، قطعهبندی بستهها و سایر عملها استفاده میكند. فیلد پروتكل هدر IP با مقداری مطابق با ICMP پر میشود (عدد 1 به معنای ICMP میباشد). بعد از هدر IP در اجزاء داده بسته IP، ICMP فیلدی با نام ICMP type را میافزاید. فرمت باقیمانده بسته IP به این نوع ICMP بستگی دارد. انواع مختلفی از مدلهای پیام ICMP، وجود دارد.
تفسیر آدرس شبكه
بلوكهای آدرسهای IP به سرویسدهندگان و سازمانهای گوناگونی داده شده است. سالهای گذشته كه هیچگونه انتظاری برای اتصال به اینترنت نمیرفت برخی سازمانها اعداد آدرس شبكه را به طور اتفاقی برگزیدهاند و شروع به ساختن شبكههای IPشان با استفاده از این آدرسهای IP تصادفی كردهاند.
شما سازندگان شبكه را میبینیدكه عدد مورد علاقهشان را برگزیدهاند («من عدد 4 را میپسندم») و همه شبكه را با همان عدد (به همه چیز، آدرس IPبه فرم 4.x.y.z داده شده است) میسازند. به این آدرسها اغلب با عنوان «آدرسهای غیرقانونی» «illegal addresses» گفته میشود زیرا به طور رسمی در اختیار سازمانهای دیگری قرار داده شدهاند. متأسفانه، اگر یك نفر با استفاده از آدرسهای غیرقانونی بخواهد به اینترنت متصل شود، ما 2 شبكه با آدرس IP مشابه روی اینترنت خواهیم بود. این موقعیت به طور جدی مسیریابی را برهم میریزد زیرا كه مسیریابهای اینترنت نمیدانند كه عبور و مرورها را برای این آدرسهای مقصد تكراری به كجا بفرستند.
به علاوه با افزایش تعداد اتصال به اینترنت، آدرسهای IP كافی برای تمامی متقاضیان، قابل دسترس نیست. بنابراین، IETF برخی اعداد آدرس را برای خلق شبكههای IP خصوصی در RFC 1918 كنار گذاشته است.
شما میتوانید شبكه IP خودتان را با استفاده از این آدرسهای IP نظیر 10.x.y.z و 112.16.y.z و 122.168.y.z تشكیل دهید. بسیاری از سازمانها با استفاده از این آدرسهای كنار گذاشته شده، شبكهها را خلق میكنند. اگر بكوشید كه داده خود را به یكی از این آدرسها روی اینترنت بفرستید، موفق نخواهید شد زیرا كه این مجموعه كنار گذاشته شده منحصر به فرد نیستند. به آنها تحت عنوان «Unroutable» اشاره میشود زیرا هیچ مسیریابی، روی اینترنت نخواهد دانست كه چگونه به این آدرسهای غیرمنحصر به فرد دست یابد.
چگونه دستیابی به اینترنت را از شبكهای كه از آدرسهای غیرقانونی و یا كنار گذاشته شده و توضیح داده شده در RFC-1918 استفاده میكند، پشتیبانی میكنیم؟ پاسخ این است كه این آدرسهای مشكلدار را با عمل map یا نگاشت آدرسهای IP در مسیریاب شبكه یا firewall، با استفاده از تكنیكی تحت عنوان (NAT) Network address translation معتبر و قانونی میكنیم. برای به كارگیری NAT، یك دروازه (gateway) میان شبكه با آدرسهای غیرقانونی یا كنار گذاشته شده و اینترنت قرار میگیرد. همانطور كه در شكل نشان داده شده است، وقتی كه هر بسته از شبكه داخلی به اینترنت میرود، این مدخل به آدرس IP مبدأ غیرقانونی یا غیرقابل مسیریابی شبكه داخلی در هدر بسته، اجازه میدهد تا با آدرس IP قابل مسیریابی یكتا رونویسی شود. وقتی پاسخها دریافت شدند، دروازه این بستهها را دریافت میكندو آدرسهای IP مقصد را قبل از آنكه بسته را به شبكه داخلی انتقال دهد دوبارهنویسی میكند.
تفسیر آدرس شبكه، آدرسهای IP غیرقابل مسیریابی را از شبكه داخلی
رونویسی (Overwrit) میكند
یك دروازه میتواند آدرسها را برای NAT از راههای مختلفی map كند، از جمله:
• نگاشت به آدرس IP منفرد خارجی (mapping to a single external IP address): برای این نوع از NAT، هر بسته كه از شبكه داخلی میآید به آدرس IP منفردی map شده است. روی شبكه اینترنت، تمامی عبور و مرورها به نظر میرسد كه از آدرس IP دستگاه NAT بیایند. این تكنیك مؤثر آدرسدهی اغلب برای اتصال شبكههای بزرگ به اینترنت وقتی كه آدرسهای IP محدودی قابل دسترسیاند استفاده میشود.
• نگاشت یك به یك (one to one mapping): یك دروازه میتواند هر ماشینی روی شبكه دا خلی را به آردس IP معتبر منحصر به فری كه با هر ماشین یكتا در ارتباط است map كند. بنابراین تمامی عبور و مرورها به نظر میآید كه از گروهی از آدرسهای IP بیایند. این تكنیك اغلب برای نگاشت درخواستهای كاربر در طول شبكه به سرویسدهنده روی شبكه، همانند سرویسدهنده وب استفاده میشود.
• آدرسهای تخصیص داده شده به صورت پویا (Dynamically allocated address): یك دروازه میتواند تعداد زیادی از آدرسهای IP غیرقابل مسیریابی را به تعداد كوچكتری از آدرسهای IP معتبر بخش كند. این نوع دستیابی كمتر از تكنیكهای دیگر معمول است.
برای آنكه آدرسهای IP را از تغییر مصون بداریم. NAT امروزه به طور معمول روی اینترنت استفاده میشود. اگرچه، آیا NAT از نظر امنیتی پیشرفت میكند؟ این میتواند به مخفی كردن كاربردهای آدرس IP شبكه داخلی كه مهاجم میتواند برای تهیه نقشه توپولوژی شبكه استفاده كند، كمك نماید. اگرچ، به خودی خود، NAT مزایای امنیتی كمی را داراست. هنگامی كه مهاجمان نمیتوانند بستهها را به آدرسهای غیرقابل مسیریابی روی شبكه داخلی بفرستند، اما هنوز میتوانند آنها را از درون دروازه NAT بفرستند. دروازهNAT اآدرسها را به نمایندگی از مهاجم نگاشت خواهد كرد. به همین علت، اگر قرار است حفاظتی صورت گیرد، تكنیكهای NAT باید با اعمال firewall امنیتی تركیب شود.
دیواره آتش: نگهبانان ترافیك شبكه و دروازهبانانهای فوتبال
دیوارههای آتش ابزاری برای كنترل جریان عبور و مرور بین شبكهها هستند.
آنها در مرز بین شبكهها قرار گرفته و به عنوان دروازهای برای اخذ تصمیماتی در ارتباط با اینكه چه ارتباطاتی باید پذیرفته و چه ارتباطاتی باید تكذیب شوند، عمل میكنند. با نگاهی به سرویسها، آدرسها و حتی كاربرهای مرتبط با ترافیك، دیوارههای آتش مشخص میكنند كه آیا ارتباطات باید به درون شبكههای دیگر فرستاده شوند و یا اینكه بایستی از بین بروند. با این قابلیت، دیوارههای آتش همانند پلیسهای ترافیك شبكه عمل میكنند.
اگر آنها به طور صحیح پیكربندی شوند، سیستمها در یك طرف دیواره آتش (Firewall) از مهاجمان طرف دیگر دیواره آتش محافظت میشوند. مهاجمان فقط از راههایی كه توسط دیوارههای آتش اجازه داده میشود میتوانند به سیستمهای حفاظت شده دست یابند. سازمانها به طور معمول از دیوارههای آتش استفاده میكنند تا ساختار زیربنایی شبكه خود را از اینترنت و حمله رقبای تجاری خود در طول برقراری ارتباط حفاظت كنند.
تشابه مفید دیگر برای دیواره آتش، دروازهبان در بازی فوتبال است كه وظیفهاش محافظت از تور در برابر شوتهای تیم مقابل میباشد. توپ فوتبال مانند یك بسته است. وظیفه دیواره آتش این است كه مهاجم را از رستادن پیامهای تقاضا نشده به شبكه منع كند. اگرچه، دروازهبان باید به توپ اجازه دهد تا به خارج از تور شوت شود. دیواره آتش باید به برخی از ارتباطات در جهت خروجی را اجازه دهد، بنابراین كاربرهای داخلی میتوانند به شبكههای خارجی دست یابند در حالی كه بیشتر ارتباطات در جهت ورودی بجز سرویسهای خاص، را تكذیب میكنند.
هدف مهاجم این است كه توپ را ازدروازهبان عبور داده به داخل تور بفرستد. برای آنكه استحكام دفاعی خود را دریابیم، بیایید به قابلیتهای دورازهبان با تجزیه و تحلیل تكنولوژیهای دیواره آتش كه امروزه به طور گسترده استفاده میشوند، نگاهی بیندازیم: فیلترهای بسته رایج، فیلترهای بسته Stateful و دیوارههای آتش مبتنی بر Proxy.
برای دریافت اینجا کلیک کنید
تعداد کل پیام ها : 0