محمد مهدی خلعت بری بدون دیدگاه

آپدیت ها، دغدغه همیشگی مدیران سیستم مایکروسافتی

مقدمه

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

بررسی پیوسته سیستم عامل، دریافت اطلاعات از مشتریان و گذشت زمان است که باعث می شود ارائه دهندگان اینگونه نرم افزارها به اشکالات و کاستی های برنامه های خود پی ببرند و به صورت دوره ای وصله (Patch) های جدید منتشر کنند تا این مشکلات را برطرف کنند. با این حساب سیستم عاملی امن تر است که با جامعه آماری گسترده تر و بررسی سریعتر وصله های جدید برای سیستم عامل خود ارائه دهد تا سیستم عامل پیوسته امن تر شود، حال هر سیستم عاملی باشد ویندوز یا لینوکس یا حتی مکینتاش.

پس سیستم عاملی که بروز نباشد حتی با آنتی ویروس هم امن نیست. با این تفاسیر و مشاهده ی ویروس ها و حملات جدید که همین راه را برای نفوذ به سیستم ها انتخاب کرده اند بجاست که بخشی از هزینه ای که صرف خرید نرم افزارهای امنیتی می شود برای بروزرسانی سیستم عامل ها صرف شود. برای یک کاربر خانگی که حداکثر دو تا سه رایانه در خانه دارد، میتوان با فعال کردن قسمت Automatic updates، این مشکل را حل کند. اما این روش در ادارات و سازمان ها مناسب نیست. تصور کنید که سازمانی ۵۰ رایانه دارد اگر همین امروز بخش بروزرسانی آنها را فعال کنید اولا با احتساب تقریبی حجم آپدیت ها به اندازه ۳۰۰ مگابایت برای هر رایانه ۱۵۰۰۰ مگابایت از پهنای باند اینترنت آن سازمان (دو صورت وجود) صرف دریافت آپدیت ها می شود و نهایتا هم با در نظر گرفتن اینکه این روند هر ماه باید انجام شود، اولا هزینه ی اینترنت مصرفی سازمان بالاتر می رود و کاربران از کاهش سرعت اینترنت ناراضی خواهند بود، ثانیا مشخص نیست که آیا همه ی کامپیوتر ها به روز شده اند یا نه.

سرویس بروزرسانی محصولات مایکروسافت Windows Server Update Service  که مختصرا آنراWSUS  می نامند، امکان مدیریت و توزیع وصله (بروزرسانی) های امنیتی و سیستمی بر روی کامپیوترهایی که از سیستم عامل ویندوز استفاده میکنند را در شبکه های متوسط و بزرگ مانند ادارات و سازمانها فراهم میکند. این سرور امکان ارائه این وصله ها نه تنها برای سیستم عامل بلکه برای سایر محصولات شرکت مایکروسافت (از جمله مجموعه ی Office، SQL server، Exchange و …) را در اختیار مدیران شبکه ها قرار می دهد. این سرور بطور دوره ای کلیه وصله های ارائه شده توسط شرکت مایکروسافت را دریافت کرده و در شبکه داخلی توزیع می کند که از این نظر در کاهش پهنای باند مصرفی و افزایش سرعت و کارایی اینترنت سازمانی تاثیر بسزایی دارد.

 

با برپایی این سرور در شبکه، رایانه های موجود با ارتباط با WSUS وصله های تایید شده توسط مسئول شبکه را دریافت خواهند کرد، یعنی برای هر رایانه بطور مجزا امکان انتخاب وصله های مورد نظر وجود دارد (مثلا مدیر شبکه می توان وصله ای را که کنترل غیر قانونی بودن ویندوز را به عهده دارد برای نصب روی رایانه ها تایید نکند)، دریافت و نصب وصله ها توسط Windows Automatic Updates بدون دخالت کاربران انجام شده و کلیه تنظیمات لازم از روی سرور و توسط مدیر شبکه انجام می شود.

 

مزایا

  • مدیریت آسان کلیه رایانه های متصل به شبکه برای بروز رسانی سیستم عامل
  • صرفه جویی در مصرف پهنای باند (دریافت یک نسخه و انتشار آن در کل سیستم های سازمان)
  • انتشار بروز رسانی های جدید برروی رایانه ها و سرورهای سازمان
  • دریافت کلیه Patch ها و سرویس پک های محصولات مایکروسافت و مدیریت آن برروی یک سرور
  • دسترسی دائمی به آخرین بروزرسانی های سیستم عامل بدون نیاز به اینترنت
  • افزایش سرعت در بروزرسانی سیستم عامل ها در تمام کلاینتها
  • افزایش ضریب امنیت شبکه با توجه به بروز رسانی سیستم عاملها
  • صرفه جوبی در زمان مدیر شبکه
  • بروزرسانی خوکار نرم افزارهای مربوط به شرکت مایکروسافت

 

انواع Update ها

  • Critical Update

یک بروز رسانی در نظر گرفته شده برای رفع مشکلی در نرم افزار است که بروز این مشکل در محصولات، شرایطی بحرانی را ایجاد می کند.

  • Driver

یک جزء نرم افزاری است که برای پشتیبانی از یک سخت افزار جدید طراحی شده است.

  • Hotfix

آپدیتی است که برای رفع یک مشکل خاص ارائه می شود. با Hotfix می توان به رفع مشکل، بدون Restart و یا متوقف کردن سرویس و سیستم دچار اختلال پرداخت. عموما Hotfix را با Patch یکسان می دانند اما تفاوت این دو در این است که Hotfix به طور ویژه برای رفع مشکل یک مشتری در نظر گرفته شده و برای عموم کاربران توزیع نمی شود. باید در نظر داشت که Hotfix، آپدیت های امنیتی را شامل نمی شود. همچنین Hotfix قابلیت های ارائه شده برای رفع یک مشکل که بصورت خاص مورد آزمایش قرار گرفته تا در اختیار عموم کاربران قرار گیرد را شامل می شود.

  • Update

در این نوع آپدیت یک قابلیت جدید برای محصولات مایکروسافت در نظر گرفته می شود و این آپدیت برای رفع مشکلات امنیتی و اختالات مربوط به سیستم عامل ها و نرم افزار ها نمی باشد، باید در نظر داشت که Update الزاما امنیتی نیست.

  • Security Update

کاربران مایکروسافت جمعیت بالایی را تشکیل می دهند بنابراین نقاط ضعف امنیتی بسیاری در محصولات آن مشاهده خواهد شد و مایکروسافت این نقاط ضعف را شناسایی کرده و آپدیت رفع نقاط ضعف و مشکلات امنیتی محصولات خود را در اختیار کاربران قرار می دهد. آسیب پذیری های امنیتی در بولتن امنیتی مایکروسافت در سطوح حساس، مهم، متوسط و ضعیف یا پایین طبقه بندی می شوند.

  • Feature Packs

بسته ای است که قابلیت های جدید ارائه شده برای یک محصول را در بر می گیرد.

  • Update Rollups

مجموعه ای است از Hotfix ها، Security آپدیت ها، Critical  آپدیت ها و نیز آپدیت هایی است که برای سهولت در Deploy شدن در یک پکیج قرار گرفته اند Rollup .ها عموما یک هدف خاص مانند امنیت محصول و یا یکComponent  از یک محصول مثلا IIS را پشتیبانی می کند.

 

  • Service Pack

پکیجی است در بردارنده ی همه ی Hotfix ها،Critical  آپدیت ها، Security  آپدیت ها و همچنین آپدیت هایی برای سیستم عامل ها و نرم افزار ها. علاوه بر این Service Pack راه حل مشکلات و نقاط ضعفی که پس از عرضه محصول توسط گروهی محدودی از مشتریان شناسایی شده و نیز درخواست آنان مبنی بر تغییر در Design و قابلیت های یک محصول را شامل می شود.

  • Definition Update

این نوع از آپدیت ها برای بروز رسانی نرم افزارهای امنیتی استفاده می شود. نرم افزارهایی مثل آنتی ویروس و Anti Malware که توسط شرکت مایکروسافت ارائه شده اند، در واقع یک Definition Update روش حذف و یا برخورد با یک کد مخرب را برای این محصولات، نمایش می دهد. این آپدیت ها بیشتر برای محصولاتی که دارای پایگاه داده هستند، کاربرد دارد.

  • Tool

ابزار یا قابلیتی است که به انجام رساندن و تکمیل یک وظیفه و یا مجموعه ای از وظایف کمک می کند.

 

پیش نیاز ها

  • وب سرور یا IIS

در ویندوز سرور ۲۰۰۸ باید این رول در کنسول Server Manager روی سرور بطور مجزا نصب کنید اما در ویندوز سرور ۲۰۱۲ به بعد نیازی به نصب این رول بطور جداگانه نیست.

  • report viewer

در ویندوز سرور ۲۰۰۸ باید این سرویس روی سرور بطور مجزا نصب کنید اما در ویندوز سرور ۲۰۱۲ به بعد نیازی به نصب این سرویس بطور جداگانه نیست.

  • Storage

فضای خالی ۶ گیگابایت یا بیشتر در درایوی با فرمت NTFS مورد نیاز می باشد.

  • Processor

حداقل 1.4 گیگاهرتز پردازنده مورد نیاز است.

  • RAM

WSUS به حداقل 2 گیگابایت حافظه ی رم اضافی نسبت به حافظه ی مورد نیاز خود سرور نیاز دارد.

  • Microsoft .NET Framework 4.0
  • Database

WSUS به یکی از دیتابیس های زیر نیاز دارد:

  • Windows Internal Database (WID)
  • Microsoft SQL Server 2017
  • Microsoft SQL Server 2016
  • Microsoft SQL Server 2014
  • Microsoft SQL Server 2012
  • Microsoft SQL Server 2008 R2

مدیریت

برای عضویت کامپیوتر ها در WSUS سرور آسان ترین راه استفاده از تنظیمات گروپ Policy می باشد. اگر کامپیوترها عضو Domain باشند، از طریق ساخت GPO و لینک دادن آن به Domain ، کاربران Domain عضو WSUS میشوند و از سرویس WSUS استفاده میکنند. با وارد شدن به کنسول WSUS، با گزینه های زیادی مواجه میشویم که مدیریت کامل آپدیت ها و کاربران متصل به این سرور را در اختیار ما قرار میدهد. در زیر بخشی ازین گزینه ها معرفی میشود.

 

Configure Automatic Updates

فعال کردن این Policy آپشن هایی را در اختیار ما قرار می دهد که باید یکی از این آپشن ها را انتخاب کنیم. در زیر به شرح هر کدام از این قابلیت ها می پردازیم :

  • Notify for Download and notify for install

اطلاع رسانی سرور قبل از دانلود آپدیت ها و نیز پیش از نصب آنها

  • Auto download and notify for install

تنظیمات پیش فرض، دانلود اتوماتیک آپدیت ها و نیز اطلاع رسانی زمانیکه آپدیت ها آماده برای نصب هستند.

  • Auto download and schedule the install

دانلود اتوماتیک آپدیت ها و نصب آنها طبق یک برنامه ی ویژه ی زمانی. اگر این آپشن را انتخاب کنیم باید روز و ساعت مورد نظر را نیز برای جستجوی آپدیت ها و نصب آنها مشخص کنیم .

  • Allow local admin to choose setting

این آپشن به ادمین های لوکال اجازه می دهد که پیغام های آپدیت اتوماتیک را دریافت کرده و آنها را نصب کنند، انتخاب این گزینه قابلیت برنامه ریزی زمانی برای نصب آپدیت ها را در اختیار ادمین Local قرار می دهد. باید بخاطر داشت که ادمین Local اجازه ی غیر فعال کردن Automatic update را ندارد.

 

Allow non-administrators to receive update notifications

فعال کردن این Policy باعث می شود تا علاوه بر یوزر های ادمین،کاربران دیگر نیز پیغام مبتنی بر نصب آپدیت را دریافت کرده و بتوانند آپدیت ها را نصب کنند .

 

Automatic updates detection frequency

برای پرسش کلاینت ها از WSUS سرور در مورد در دسترس بودن آپدیت ها یک فاصله زمانی را مشخص می کند بصورت پیشفرض برای این Policy تعریف شده که کلاینتها برای این منظور هر 22 ساعت یکبار با سرور ارتباط برقرار کنند.

 

انواع تائیدیه(Approvals)  برای آپدیت ها

پس از اینکه آپدیت ها توسط WSUS سرور دریافت شدند بصورت اتوماتیک برای ارتباط با کامپیوتر های عضو WSUS سرور اسکن می شوند با این حال قبل از Deploy شدن آپدیت ها در شبکه برای نصب، باید آنها را به صورت دستی Approve و تایید کرد. انتخاب هر کدام از گزینه های ذکر شده در زیر برای WSUS سرور تعریف می کند که چه رفتاری با آپدیت ها داشته باشد:

  • Approved

آپدیت های دانلود شده،برای نصب تائید شده اند.

  • Unapproved

جهت عدم تائید آپدیت ها برای نصب از این گزینه استفاده می کنیم، اما آپدیت مذکور در لیست پیش فرض آپدیتها باقی خواهد ماند.

  • Declined

انتخاب این گزینه باعث می شود که آپدیت به کلی از لیست آپدیت ها حذف شود، بنابراین WSUS سرور قادر نخواهد بود این آپدیت را برای ارزیابی و نصب به کامپیوتر ها عرضه کند.

 

afshinnova بدون دیدگاه

شبکه اشتراک گذاری فایل چیست؟

(Network File Sharing (NFS به معنی اشتراک گذاری فایل ها در شبکه می باشد. که توسطSun Micro systems برای سیستم های یونیکسی ساخته شد به شما اجازه  مجوز خواندن و یا نوشتن برای فایل های خود در شبکه میدهد. به این صورت که شما یک درایو و یا پوشه را در شبکه خود در اختیار دیگران قرار می دهید. فایل های به اشتراک گذاشته شده می تواند : فایل های صوتی یا تصویری , کتاب الکترونیکی , برنامه های کامپیوتری , گرافیک باشد . این توزیع خصوصی یا عمومی داده ها و منابع دارای یک سری سطح دسترسی همراه است که توسط ادمین شبکه تعیین میشود.

 

اشتراک گذاری اطلاعات را میتوان با چند روش انجام داد  که رایج ترین آنها :

  1. دستگاه های ذخیره ساز قابل حمل مانند : USB , CD/DVD, HDD

  2. دیتا سنتر ها

  3. شبکه های P2P توزیع شده

اشتراک گذاری فایل از طریق رسانه های قابل حمل از طریق پروتکل های شبکه مانند  پروتکل انتقال فایل (FTP) به یک سرویس چند منظوره کامپیوتری تبدیل شد. مکانیزم اشتراک گذاری فایل از راه دور همانند FTP , خط تلفن و چت اینترنتی (IRC) در دهه ۱۹۹۰ معرفی شدند.

یکی دیگر از روش هایی که برای اشتراک گذاری فایل انجام می شود سیستم عامل در اختیار ما میگذارد که به آن شبکه اشتراک گذاری فایل یا به اختصار NFS میگویند . اشتراک گذاری فایل ها در شبکه دارای دو معیار به شرح زیر می باشد:

  • Peer-to-Peer (P2P) File Sharing

در این سیستم اشتراک گذاری  با استفاده از نرم افزار های مخصوص که کامپیوتر های دیگر به شبکه P2P  متصل هستند جست و جو میکند اجازه دسترسی به فایل های رسانه مانند کتاب, موسیقی و فیلم را می دهد.این تکنولوژی به اشتراک گذاری فایل به وسیله چندین طراحی پیشرفت کرده که اولین آنها نپستر(Napster) که یک سیستم اشتراک گذاری فایل های صوتی که ژوئن ۱۹۹ فعالیت خود را آغاز کرد.

عملکرد آن به اینگونه بود که کاربران موسیقی مورد علاقه خود را در رایانه افرادی آن فایل صوتی را داشتند  ٫ دریافت کنند و بازار فروش موسیقی را دور بزنند این سیستم در سال ۲۰۰۱ توسط دادگاه بدلیل نقض قوانین حق نشر بسته شد. توضیحات اضافی در مورد این سیستم را در این لینک میتوانید مطالعه کنید.

Napster

در این سیستم فایل شیرینگ شما توانایی دسترسی مستقیم ٫ دانلود و ویرایش فایل ها را دارید و همچنین توسط نرم افزار های ثالث قادر به تقسیم بندی فایل های بزرگ به قطعات کوچکتر هستید.

  • File Hosting Services (خدمات میزبانی فایل)

این نوع خدمات جایگزین فایل شیرینگ P2P شد این سرویس ها اغلب با روش های همکاری اینترنتی مانند ایمیل ٫ وبلاگ ها به شما امکان دانلود با لینک مستقیم را میدهند ٫ این وب سایت های خدماتی فایل ها را میزبانی میکنند تا کاربران بتوانند آنها را دانلود کنند که نظیر آن در ایران کم نیست .

وقتی شما از یک شبکه فایل شیرینگ استفاده میکنید کامیپوترتان نیز بخشی از شبکه میشود و دیگران قادر به دانلود فایل از سیستم شما میشوند. به اشتراک گذاری فایل هایی که دارای حق نشر هستند غیرقانونی محسوب میشود.

از مسائل امنیتی که از آن باید آگاه باشید نرم افزار های جاسوسی یا ابزار های تبلیغاتی است ٫ زیرا بعضی از وب سایت های اشتراک فایل برنامه های جاسوسی را در وب سایت های خود قرار داده اند و اغلب این برنامه ها بدون اجازه کاربر بر روی سیستم نصب میشوند.

 

afshinnova 2 دیدگاه

لینوکس و برتری آن نسبت به ویندوز قسمت اول

 

زندگی امروزی متکی بر فناوری اطلاعات و دانش است که هر لحظه به خطر اوردن جریان اطلاعات و دانش منجر به بروز خسارت های تجازی جبران ناپذیری خواهد شد. امروزه همه به دنبال یک سکوی امن تر برای اجرای برنامه های کاربردی و سرویس دهنده ها هستند . لینوکس از نظر پایداری سرعت و امنیت حرفایی برای گفتن دارد همچنین قابلیت هایی که در ویندوز وجود ندارد و یا فقط با اضافه کردن نرم افزارهای اضافی قابل دسترسی می باشند.

از ابتدا لینوکس برای محیط های شبکه ای و چند کاربره طراحی شده است و همین باعث رعایت مسائل  امنیتی از آغاز در آن شده.درحالی که ویندوز اینگونه نبوده و در حال حاضر هم ویندوز دارای ضعف امنیتی فراوانی است.

بطور مثال اگر یک برنامه مخرب با استفاده از این ضعف های امنیتی می تواند کل سیستم عامل را نابود کند در حالی که در لینوکس مورد مشابهی پیش بیاید حداکثر به دایرکتوری خانگی کاربر آسیب می رساند.

  • یک مقدمه کوتاه

از مهم ترین زیر ساختهای توسعه در کشور های دنیا فناوری اطلاعات است . رشد روز افزون این فناوری باعث ایجاد یک شکاف در بین کشور های توسعه یافته و درحال توسعه می شود. مقوله  نرم افزار آزاد / متن باز تاثیر بسزای در رشد فناوری اطلاعات گذاشته است. این جنبش  پس از سال ها تلاش در راستای آزادی نرم افزار  در سراسر دنیا امروزه به رشد و بالندگی رسیده و باعث پیشرفت و تحولی عمیق در حوزه فناوری اطلاعات شده است.

بر اساس آمار امروزه افراد مختلفی در سراسر جهان به استفاده از نرم افزارهای متن باز و در راس همه آنها سیستم عامل لینوکس روی آورده اند در کشور ما نیز علاقمندان بسیاری به صورت خودجوش در حال استفاده از این سیستم عامل می باشند از آن جایی که این حرکت جوان است نیازمند فرهنگ سازی و تولید محتوای آموزشی ضروری به نظر می رسد.

  • نرم افزار آزاد و متن باز

FOSS مخفف عبارت Free Open Source Software است به معنی نرم افزار آزاد و متن باز به دلیل استفاده آزاد و رایگان و اشتراک گذاری آزاد و رایگان و با نرم افزارهای اختصاصی تفاوت دارد.

ریچارد استالمن  در سال ۱۹۸۳ با راه اندازی جنبش نرم افزار آزاد آن را شروع کرد و بعد در سال ۱۹۸۵ با تاسیس بنیادی با نام بنیاد نرم افزار آزاد هر برنامه برای اینکه آزاد شناخته شود باید چهار حق را برای دیگران قائل باشد.

  • آزادی اجرای برنامه برای هرکاری ( آزادی صفرم)
  • آزادی مطالعه چگونگی کار برنامه و تغییر آن ( پیش نیاز : سورس کد برنامه ) ( آزادی یکم)
  • آزادی تکثیر و کپی برنامه ( آزادی دوم)
  • آزادی در تقویت و بهتر کردن برنامه و توزیع آن برای همگان ( پیش نیاز : سورس کد برنامه ) (آزادی سوم)

برای مثال شخصی یک برنامه آزاد را دریافت کند و آن را تغییر بدهد و در اختیار دیگران قرار دهد این کار را باید به شکل آزاد انجام دهد. نرم افزار های بسته مانند ویندوز و فتوشاپ از قانون تولید کننده حمایت میکند. ولی اگر قرار باشد قانون همین حمایت را از نرم افزار های آزاد انجام دهد نیازمند متن قانونی به GPL است. GPL یا اجازه نامه عمومی  یک متن قانونی است که اگر نرم افزاری اشاره کند این برنامه بر اساس مجوز GPL منتشر شده موظف است حقوق مولف را در مورد آن تضمین کند.

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

 

 

  • سیستم عامل

سیستم عامل همانطور که می دانید برنامه ای است که با سخت افزار شما ارتباط مستقیم دارد و امکان اجرای برنامه های کاربردی بر بستر سخت افزار را ممکن میسازد. سیستم عامل های زیادی در دنیا طراحی و پیاده سازی شده اند که متداول ترین آنها

  1. ویندوز : این سیستم عامل توسط شرکت مایکروسافت ارائه شده و دارای یک رابط گرافیکی برای استفاده آسان کاربران از آن دارا است.
  2. Mac OS X : این سیستم عامل توسط شرکت اپل ارائه شده است و روی کامپیوتر های مکینتاش استفاده میگردد .

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

  • لینوکس

لینوکس تنها یک هسته ( Kernel) و با همان وظایف گفته شده است. بسیار کم پیش می آید در کاربرد روزانه ی خود با خود هسته لینوکس سر و کار داشته باشید. هسته نقش اصلی را در سیستم عامل برعهده دارد. در کار با کامپیوتر سیستم عامل اهمیت بالایی دارد از این رو استالمن تصمیم گرفت یک سیستم عامل آزاد بنویسد. سیستم عاملی که هر کس بتواند برای کاری که می خواهد از آن استفاده کند آن را بهبود بخشد و با دیگران به اشتراک بگذارد. نام این پروژه GNU گذاشتند.

بهترین معماری که در آن زمان بر روی کامپیوتر های بزرگ به شکل تجاری و بسته موجود بود UNIX نام داشت . استالمن شروع به نوشتن یک سیستم عامل کاملا آزاد بر اساس UNIX نمود. بر اساس این معماری لازم بود تا چهار جزء تکمیل شوند :

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

سرعت پیشرفت GNU به حدی بالا بود که سه جزء اخر را با کیفیتی باورنکردنی تکمیل کرد.کیفیت نرم افزارهای آزاد تولیده برای سه بخش آخر در حدی بودند که بسیاری از سیستم عامل های دیگر ( به خصوص یونیکسی ها) شروع به استفاده از آن کردند.

 

afshinnova بدون دیدگاه

i2p چیست و چگونه راه اندازی کنیم؟


Invisible Internet Project (i2p) به معنی پروژه اینترنت مخفی در سال ۲۰۰۳ توسط گروه i2p-Team با زبان جاوا نوشته شد. i2p  با استفاده شبکه های همپوشان ( overlay network) سعی دارد , افراد با استفاده از نام های جعلی بصورت امن با هم ارتباط داشته باشند . i2p دارای سرویس هایی از قبیل :‌ سرویس ایمیل – وب  – تورنت – چت کردن است که همگی آنها بصورت مخفی و امن در دسترس هستند.  در این شبکه کاربران با یک اتصال اینترنتی به i2p متصل شده و پس از آن منابع – پنهای باند و … با دیگران در جامعه i2p به اشتراک میگذارند. هر کامپیوتر به عنوان یک روتر در شبکه عمل میکند که باعث ایجاد سرویس غیر متمرکز کامل میشود.امنیت اتصال در رده بسیار بالایی قرار دارد  نرم افزار i2p ورودی و خروجی پروکسی تونل های دیگر را فراهم میسازد . پیام ها و داده ها از قبل از ورود به مقصد در مسیر مابین مبدا  و مقصد از یکسری تونل عبور داده میشوند که نتیجه این عبور ها رمزنگاری اطلاعات تا رسیده به مقصد است. این رمزنگاری و مخفی سازی بر آن شد تا i2p بتواند پس از آزمایش های مختلف میزبانی دارک وب را پذیرا باشد.

تفاوت I2P و TOR

tor از یک مسیر پیازی معروف استفاده میکند درحالی که i2p از مسیر یابی سیر استفاده میکند . در این سیستم مسیریابی پیام ها حاوی اطلاعات رمزنگاری شده است که به اصطلاح به آن گل میخک (cloves) گفته میشود . از طریق این سیستم ردیابی سیر  تونل های یک جانبه و متمرکز مجددا تنظیم میشود که این باعث میشود ردیابی و یا هک کردن پیام ها بسیار دشوار تر نسبت به سایر شبکه های دیگر است.

سرویس i2p به شما امکاناتی از قبیل  :

ایمیل  با آدرس mail.i2p

میزبانی (Host) سایت با دامنه i2p. که به آن eepsite

اشتراک فایل ها با کاربران تورنت

و همچنین تعدادی پلاگین  بصورت پیش فرض در این سرویس وجود دارد که محبوب ترین آنها :

نرم افزار رمزنگاری فایل ها در فضای ابری

سرویس گفتگو آنلاین

باز کردن یک دروازه (Gateways) برای کاربران جهت دسترسی به سایت های eepsite و همچنین دسترسی کاربران i2p به اینترنت عمومی

سوال اینجاست که i2p تا چه حد مورد اطمینان است؟

در واقع i2p از مدل p2p برای اطمینان از اینکه جمع اوری داده و اطلاعات کاربران و همچنین نظارت بر روی شبکه بصورت پیچیده باشد و همچنین پیام ها به صورت متعدد رمزگذاری و تجزیه  و تحلیل آنها هم بسیار سخت انجام شود.

به این نکته توجه داشته باشید که i2p   رمزگذاری را در هنگام ارسال و دریافت اطلاعات فقط از طریق مرورگری که کانفیگ شده باشد انجام میدهد و کل سیستم را رمزگذاری نمیکند.

راهنمای نصب و استفاده

با مراجعه به وب سایت i2p میتوانید نسخه مخصوص سیستم عامل خود را دانلود کنید همچنین نصب داشتن java برای اجرا لازم است . در صورتی که نسخه ویندوزی i2p را استفاده میکنید در هنگام نصب تیک گزینه system service را غیرفعال کنید. و پس از پایان نصب فایل(Start I2P ( no window را انتخاب کنید . سپس مرورگر خود را باز کرده و به تنظیمات پراکسی بروید  مقادیر زیر را وارد نمایید

127.0.0.1 و پورت 4444 را وارد نمایید . و سپس ادرس 127.0.0.1:7657 را در مرورگر خود وارد نمایید و وارد تنظیمات شوید.

i2p config page

salar بدون دیدگاه

خصوصیات مهم پرتکل STP

دوستانی که در حال فراگیری دوره های CCNA و CCNP هستند بدون شک با پرتکل STP آشنا هستند،به جرأت میشه گفت هر کسی درکِ درستی از این پرتکل داشته باشه میشه گفت % 60 بحث سویچینگ رو به خوبی یاد گرفته است.اینکه من الآن بیام صفر تا صد STP رو بخوام بگم مطمئن باشید باید 100صفحه مقاله بنویسم! اما تصمیم گرفتم در مورد قابلیت هایی که در پرتکل STP بسیار مهم هستند و باید به درستی در سویچ ها و اینترفیس ها کانفیگ و تنظیم بشن صحبت کنم.(این مقاله فقط برای افرادی که با پرتکل STP آشنایی دارند و نحوه ی کار آن را میدانند مفید است.)

در شبکه های کامپیوتری همیشه وجود لینک جایگزین(Redundant) قابل تحسین است تا اگر به هر دلیلی لینک اصلی داون شد شبکه از کار نیوفتد و ارتباطات از طریق لینک جایگزین صورت گیرد،اما شبکه های اترنت قابلیت این را ندارند که لینک جایگزین را از لینک اصلی تشخیص دهند و در نتیجه منجر به ایجاد Loop می شود.

اما چرا در لایه ی دو امکان ایجاد Loop هست؟خوب شاید جواب این سوال ساده باشد،زیرا سویچ هایی که در لایه ی دو فعالیت می کنند پیام های برادکست را از خود عبور می دهند.

در شکل بالا تصور کنید یکی از سیستم های PC1 یا PC2 یک پیام برادکست تولید کند چه پیامدهایی خواهد داشت.!!!

می دانیم در صورت ایجاد Loop در شبکه مشکلاتی مانند Broadcast Storm , Multiple Frame Copy و …. پیش می آید که در نهایت امکان Down شدن شبکه را افزایش می دهد.

اما کار پرتکل STP به صورت کلی حذف همین Loop در شبکه است.

پرتکل STP با استفاده از الگوریتم های مخصوص خود لینک های جایگزین را پیدا و آنها را تا زمانی که لینک های اصلی داون نشوند فعال نمی کند و در حالت Blocking نگه می دارد و بدین صورت از ایجاد Loop در شبکه جلوگیری می شود و اصطلاحاً میگن در شبکه Loop Free ایجاد شده است!.(البته در Mode های مختلف STP مانند +Rapid-PVST و RSTP قضیه کلاً متفاوت هست).

هنگامی که در شبکه از پرتکل STP استفاده شود در واقع تضمین می دهد که Loop حذف می شود اما یکسری عوامل هستند که ممکن است باعث ایجاد Loop در شبکه شوند،در واقع هنگامی که خود ما در شبکه Loop ایجاد کنیم پرتکل STP عملاً نمی تواند جلوی آن را بگیرد.در ادامه با برخی قابلیت های مهم این پرتکل آشنا می شویم تا ببینیم در چه حالت هایی امکان ایجاد Loop در شبکه وجود دارد.

+)نکته:هنگامی که یک پورت به صورت دستی داون می شود آن پورت در وضعیت Disable قرار می گیرد.

+)نکته:هنگامی که یک پورت می خواهد بالا بیاید یا اصطلاحاً Up شود باید جهت آماده سازی یک سری State ها را بگذراند تا بتواند فریم ها را ارسال و دریافت کند،این مراحل عبارت هستند از:

Disable — Blocking — Listening 15s — Learning 15s — Forwarding

قابلیت های پرتکل STP را میتوانیم به دو دسته ی STP Protection و Fast Link Convergence تقسیم کنیم.

قابلیت های Fast Link Convergence شامل موارد زیر است:

  1. Port Fast
  2. UplinkFast
  3. BackboneFast

قابلیت های STP Protection شامل موارد زیر است:

  1. BPDU Guard
  2. Root Guard
  3. Loop Guard
  4. BPDU Filter
  5. UDLD

 

قابلیت های Fast Link Convergence

Port Fast .1 = پورت های Access یا همان پورت هایی که به End Device ها وصل هستند عملاً هیچ نقشی در ایجاد Loop در شبکه ندارند،به عبارت دیگر هیچ وقت پرتکل STP آنها را برای جلوگیری از ایجاد Loop در شبکه در وضعیت Blocking قرار نمی دهد،بنابراین لزومی ندارد هنگام Up شدن، آنها از وضعیت Blocking عبور کنند و همچنین مدت زمان Forward Delay یا همان 30ثانیه برای Listening , Learning را طی کنند تا به وضعیت Forwarding برسند،زیرا میدانیم این پورت ها هیچ وقت Block نمی شوند پس بلافاصله و بدون تأخیر باید به وضعیت Forwarding برسند.بعد این همه تفاسیر! فهمیدیم که در صورتیکه روی یک پورت Port Fast فعال باشد آن پورت برای Up شدن(وارد شدن به وضعیت Forwarding) مدت زمان 30 ثانیه را منتظر نمی ماند.

+)نکته: قابلیت Port Fast را باید روی تمام پورت های Access سویچ فعال کنیم.

برای فعال کردن Port Fast به دو صورت عمل می کنیم:

1. در مُد Global سویچ دستور زیر را وارد می کنیم که باعث فعال شدن Port Fast روی تمام پورت های Access می شود

Switch(config)#spanning-tree portfast default

2. در مُد Interface پورت های مورد نظر نیز می توانیم با دستور زیر Port Fast را فعال کنیم.

Switch(config-if)#spanning-tree portfast

 

2. UplinkFast = بالا توضیح دادم هنگامی که ما در سویچ ها از لینک های جایگزین استفاده کنیم مسلماً بعضی از آنها توسط STP برای جلوگیری از Loop مسدود می شوند،یعنی وضعیت آنها Blocking می شود.اما فرض کنید یکی از لینک های اصلی Down شده است و پورت مورد نظر باید از وضعیت Blocking به Forwarding وارد شود تا بتواند فریم ارسال و دریافت کند.برای این کار مدت زمان 30 ثانیه زمان نیاز دارد تا بتواند State ها را پشت سر بگذارد.قابلیت Uplinkfast در صورتیکه در سویچ فعال شود مدت زمان 30 ثانیه همگرایی یا همان زمان گذراندن وضعیت های Listening,Learning را از بین می برد.

+)نکته: قابلیت Uplinkfast را باید در مُد Global سویچ ها پیکربندی کنیم.

+)نکته: قابلیت Uplinkfast به صورت پیش فرض در سویچ ها غیرفعال است.

+)نکته: این قابلیت فقط باید در سویچ های لایه ی Access فعال شود.

+)نکته: هنگام استفاده از این دستور مقدار Priority سویچ و همچنین Cost اینترفیس های آن تغییر می کند.

برای فعال کردن این قابلیت در مُد Global دستور زیر را وارد کنید:

Switch(config)#spanning-tree uplinkfast

 

 

3. BackboneFast = هنگامی که در شبکه یک تغییر Indirect داشته باشیم در صورت تأثیر بخش بودن آن تغییر در سویچ های دیگر،آنها باید مدت زمان 50 ثانیه همگرایی را طی کنند تا وضعیت تازه و متناسب با توپولوژی جدید را پیدا کنند.این مدت همگرایی شامل 20 ثانیه Max Age و 30 ثانیه Forward Delay است. در مدت Max Age پورت منتظر می ماند تا BPDU دریافت کند و همچنین بفهمد این عدم دریافت BPDU به صورت Stable هست یا نه.اما میتوانیم این مدت 20 ثانیه را به چند ثانیه(بسته به عمق شبکه) تبدیل کنیم.اما چجوری این امر میسر می شود؟به راحتی و با استفاده از یک مکانیزم به اسم Query and Reply.

می دانیم که پورت Root در یک سویچ BPDU دریافت می کند و حتماً زمان Max Age دارد،در صورت ایجاد یک تغییر Indirect در شبکه که منجر شود پورت Root بسته های BPDU دریافت نکند دیگر به اندازه ی Max Age منتظر نمی ماند بلکه بلافاصله روی تمام پورت های سویچ بسته های BPDU که فلگ BackboneFast آن ست شده است جهت رؤیت Root Bridge ارسال می کنند.در صورتیکه برای BPDU های ارسالی روی پورت  Root هیچ بسته ی Hello BPDU جهت Advertise سویچ Root دریافت نشود این نشان میدهد تغییر توپولوژی حتمی است و سویچ بلافاصله برای تغییر Role و State مدت زمان 30 ثانیه را طی می کند تا به وضعیت Forwarding برسد.پس BackboneFast با استفاده از مکانیزم Query and Reply مدت زمان 50ثانیه همگرایی را به 31 ثانیه یا کمی بیشتر تبدیل می کند.

+)نکته:قابلیت BackboneFast را باید در تمام سویچ های داخل شبکه فعال کنیم.

برای فعال کردن این قابلیت در مُد Global دستور زیر را وارد کنید:

Switch(config)#spanning-tree backbonefast

 

قابلیت های STP Protection

1. BPDU Guard = فرض کنید روی یک پورت Access قابلیت Port Fast را فعال کرده ایم،حال اشتباهاً آن پورت را به یک سویچ وصل می کنیم؟چه مشکلی پیش خواهد آمد؟! درست حدس زدید،اما اجازه بدهید قضیه را کمی شفاف کنیم.گفتیم هنگامی که روی یک پورت Port Fast فعال باشد آن پورت از State های Blocking – Listening – Learning چشم پوشی می کند و بلافاصله به وضعیت Forwarding می رود،اما این قضیه فقط زمانی درست و منطقی است که مطمئن هستیم پورت مورد نظر به End Device وصل هست و هنگامی که پورت مورد نظر به سویچ های دیگر وصل شود به دلیل اینکه ممکن هست آن پورت در شبکه Loop ایجاد کند پس STP پورت را Block می کند.در نتیجه هنگامی که پورت میخواد Up شود در وضعیت Block می ماند و بقیه ی مراحل(Lestening – Learning) را طی نمی کند.اما چون روی پورت مورد نظر Port Fast فعال است در نتیجه از وضعیت های Blocking – Listening – Learning چشم پوشی می شود و پورت مورد نظر به جای Block شدن به وضعیت Forward می رود و بقیه ی ماجرا…!!!

مکانیزم BPDU Guard این قابلیت را به پورت های Access می دهد که در صورتیکه روی آن ها فعال باشد هنگام دریافت BPDU روی پورت، آن را به وضعیت ErrDisable می برد و عملاً پورت مورد نظر Down می شود.

+)نکته: هنگامی که یک پورت در وضعیت ErrDisable باشد برای رفع این وضعیت باید پورت مورد نظر را به صورت دستی Shutdown و سپس No Shutdown کرد.

+)نکته: باید بر روی تمام پورت هایی که قابلیت Port Fast بر روی آنها فعال است BPDU Guard را هم فعال کنیم.

+) نکته: قابلیت BPDU Guard به صورت پیش فرض در سویچ ها غیر فعال است.

برای فعال کردن BPDU Guard به صورت زیر عمل می کنیم:

1. در مُد Interface پورتی که روی آن Port Fast فعال است دستور زیر را وارد می کنیم که باعث فعال شدن BPDU Guard روی آن پورت می شود.

Switch(config-if)#spanning-tree bpduguard enable

 

2. Root Guard = پرتکل STP در شبکه Loop را حذف می کند ولی این پرتکل کاری به بهبود عملکرد یا Performance شبکه ندارد،بنابراین چون ملاک انتخاب پرتکل STP برای Root Bridge بودن داشتن مقدار Bridge ID کمترتوسط سویچ ها است پس گاهاً ممکن است حتی سویچ های لایه ی Access که تحت هیچ شرایطی نباید در شبکه Root باشند را به عنوان STP Root انتخاب کند، پس باید خودمان یک سویچ با Performance و Resource های خوب را به عنوان STP Root انتخاب کنیم و به انتخاب های STP احترام نگذاریم.!حال فرض کنید یک سویچ را در شبکه به عنوان Root انتخاب کردیم و به اقتضای شبکه اصلاً نباید آن Root Bridge عوض شود و یک نفر توانست یک سویچ که مقدار STP Priority آن کمتر از مقدار STP Priority  برای Root Bridge فعلی می باشد را در شبکه اضافه کند، چه اتفاقی می افتد؟طبیعی است باید Root Bridge در شبکه عوض شود و همچنین توپولوژی شبکه نیز باید عوض شود.اما این مکانیزم چرا خطرناک است؟Root Bridge ها سویچ هایی هستند که بیشتر ترافیک شبکه از آن عبور می کند بنابراین هر کس اگر بتواند Root Bridge را به سویچ دلخواه خود عوض کند به راحتی می تواند ترافیک شبکه را Sniff یا هر عمل شوم! دیگری انجام دهد.پس باید مکانیزمی باشد تا جلوی عوض شدن Root Bridge در شبکه را بگیرد.

Root Guard قابلیتی است که در صورتیکه روی یک پورت فعال شود اجازه ی گوش دادن به BPDU های بهتر و تعویض Root را نمی دهد و پورتی را که BPDU بهتر را دریافت کرده است به وضعیت Inconsistent می برد.

+)نکته: پورتی که در وضعیت Inconsistent قرار دارد می تواند از جانب Root Bridge فعلی BPDU دریافت کند تا Root Bridge را شناسایی کند.

+)نکته: تا زمانی که یک پورت BPDU بهتر ارسال کند از وضعیت Inconsistent خارج نخواهد شد.

+)نکته: قابلیت Root Guard را باید روی تمام پورت های سویچ به استثنای پورت های Root و Alternate فعال کنیم.

+) نکته: قابلیت Root Guard به صورت پیش فرض در سویچ ها غیر فعال است.

برای فعال کردن Root Guard به صورت زیر عمل می کنیم:

1. در مُد Interface پورت های مورد نظر دستور زیر را وارد می کنیم که باعث فعال شدن Root Guard روی آن پورت می شود.

Switch(config-if)#spanning-tree guard root

+)نکته: برای آن که ببینید کدام پورت های سویچ به وضعیت Inconsistent رفته اند از دستور زیر استفاده کنید:

Switch#show spanning-tree inconsistentport

 

 

3. Loop Guard = در هر سویچ در صورتیکه یک پورت Block وجود داشته باشد یعنی توسط پرتکل STP برای جلوگیری از Loop به این وضعیت رفته است.اما همانطور که می دانید پورت های Block هم بسته های BPDU دریافت می کنند تا در صورتیکه تغییری Direct یا Indirect در سویچ های دیگر رخ داد بتوانند تغییر State دهند.اما پورت های Block در صورتیکه در مدت زمان Max Age بسته های BPDU را دریافت نکنند تغییر State می دهند و به وضعیت Forwarding می روند.اما حالتی را تصور کنید که هیچ تغییری در توپولوژی شبکه رخ نداده است و پورت Block فقط به دلایلی مثل Delay یا فیلترینگ و …. نتوانسته است در مدت زمان Max Age بسته ی BPDU دریافت کند،در این حالت پورت Block فرض می کند که در شبکه تغییر توپولوژی رخ داده است و در نتیجه بعد 30 ثانیه پورت Block خود را به وضعیت Forward می برد.باز هم همان اتفاق که از آن می ترسیدیم!!! پورتی که در شبکه به علت ایجاد Loop در حالت Block بوده است این بار به طور ناخواسته به وضعیت Forwarding وارد شده است.

هنگامی که روی یک پورت قابلیت Loop Guard فعال باشد در صورتیکه آن پورت بنا به هر دلیلی به جز تغییر توپولوژی شبکه تغییر State دهد از انجام این کار توسط پورت جلوگیری می کند.

+)نکته: قابلیت Loop Guard را باید در تمام پورت هایی که وضعیت Blocking را دارند فعال کنیم.

+)نکته: قابلیت Loop Guard به صورت پیش فرض در تمام پورت های سویچ غیرفعال است.

برای فعال کردن Loop Guard به دو صورت زیر اقدام می شود:

1.در مُد Global با استفاده از دستور زیر می توانیم قابلیت Loop Guard را بر روی تمام پورت ها فعال کنیم:

Switch(config)#spanning-tree loopguard default

2.در مُد Interface نیز با دستور زیر می توانیم این قابلیت را بر روی پورت های مورد نظر خود فعال کنیم:

Switch(config-if)#spanning-tree guard loop

 

4. BPDU Filter = این دستور برای فیلتر کردن بسته های BPDU  ارسالی و دریافتی یا به عبارت بهتر برای غیرفعال کردن STP روی یک پورت کاربرد دارد.معمولاً دستور خیلی پر کاربردی نیست و BPDU Guardگزینه ی بهتری است.

برای فعال کردنBPDU Filter به دو صورت زیر اقدام می شود:

1.در مُد Global با استفاده از دستور زیر می توانیم قابلیت BPDU Filter را بر روی تمام  پورت هایAccess یا همان پورت هایی که Port Fast روی آنها فعال است فعال کنیم:

Switch(config)spanning-tree portfast bpdufilter default

در مُد Interface نیز با دستور زیر می توانیم این قابلیت را بر روی پورت های مورد نظر خود فعال کنیم:

Switch(config-if)#spanning-tree bpdufilter enable

 

5. UDLD = سویچ ها به صورت لینک های دو سویه به همدیگر وصل هستند یا به عبارت دیگر ترافیک بین سویچ ها به صورت دو طرفه است.اما فرض کنید یک مشکل لایه ی فیزیکی برای یکی از دو سمت لینک رخ دهد،سویچ ها آنها را تشخیص می دهند. اما این لینک های یک طرفه یک مشکل برای پرتکل STP است،در صورتیکه یک سمت لینک در حالت Blcoking باشد و از آنجایی که پورت های Block هم بسته های BPDU دریافت می کنند ولی چون به علت Undirectional بودن هیچ بسته ای را دریافت نکرده است در نتیجه ممکن است تغییر State دهند و منجر به ایجاد Loop در شبکه شوند.در صورتیکه روی هر دو انتهای یک لینک ما قابلیت UDLD را فعال کنیم به صورت تعاملی روی پورت ها نظارت می کند تا ببیند لینک مورد نظر دو طرفه است یا خیر،که این کار را با ارسال بسته های مخصوص UDLD در فواصل زمانی خاص انجام می دهد.

(این قابلیت به اندازه ی آنها دیگر خیلی مهم و تاثیر گذار نیست.)

 

 

 

امیدوارم این مقاله برای شما مفید واقع شده باشد.

خوش و خرّم باشید.

سالار بهنیا

www.reversecode.ir

telegram.me/efengton

 

 

 

 

 

 

 

 

 

 

salar 2 دیدگاه

DHCPv4

سلام.
پرتکل یا بهتر بگیم سرویس DHCP که مخفّف Dynamic Host Configuration Protocol است یک روش برای تخصیص آدرس های ای پی به هاست ها است.

فرض کنید شما یک مدیر شبکه هستید و برای یک پروژه ی کاری قرار است شبکه ی یک شرکت با حدود 100 کامپیوتر را راه اندازی کنید،در این صورت می توانیم روی تک تک سیستم ها به صورت دستی آدرس های ای پی را سِت کنیم،البته در این روش Option های مورد نیاز برای آدرس ای پی مانند Gateway و … هم باید به صورت دستی ست کنیم.تصور کنید چقدر زمان و حوصله آدم صرف این کار تلف می شود و منطقاً این روش اصلاً کار عقلانی نیست!راه حل درست و منطقی اینه ما یه سرویس را در شبکه پیکربندی کنیم که هر هاست که در شبکه خواست آدرس ای پی داشته باشد،روال ای پی گرفتن و سِت کردن Option های مورد نیاز را با آن سرویس در میان بگذارد.

+نکته: در شبکه و در بحث ای پی ورژن 4 به سِت کردن دستی  ای پی آدرس ها در Host ها و تعیین Option های مورد نیاز(Gateway-Subnet Mask-DNS Servers) برای آن ها روش Static می گویند.

+نکته: در شبکه و در بحث ای پی ورژن 4 به روش تخصیص آدرس های ای پی با استفاده از سرویس DHCP به هاست ها Dynamic می گویند.در این روش تمام Option های مورد نیاز برای یک آدرس ای پی از طریق DHCP به کلاینت ها اختصاص داده می شود.

+نکته: هنگام پیکربندی یک DHCP سرور باید پارامتر های مختلف مثل DNS Server – Lease Time -Exclude Addresses-Gateway-Scope Addresses و کلی پارامتر دیگر را برای آن تعیین کنیم.

+نکته: سرویس DHCP با پرتکل UDP کار می کند، در واقع یک پرتکل بدون اتصال است.اما چرا UDP؟ به این خاطر که در این سرویس در مراحل گرفتن آدرس ای پی بسته هایی رد و بدل می شود که از نوع Broadcast هستند و اساساً بسته هایی که در شبکه Multicast و Broadcast می شوند از نوع UDP هستند.

+نکته: DHCP  سرور از شماره ی پورت 67 استفاده می کند و DHCP کلاینت از شماره ی پورت 68 استفاده می کند.

مکانیزم DHCP  به صورت کلی در 4 مرحله که به اختصار به آنها DORA می گویند انجام می پذیرد.

 

 

خوب فرض کنیم  3 شبکه داریم که به یک روتر وصل هستند و DHCP سرور هم آدرس ای پی 223.1.2.5 را دارد و یکی از سیستم ها که با DHCP سرور در یک شبکه قرار دارد می خواهد از آن آدرس ای پی دریافت کند،در این صورت مراحل DORA به صورت زیر خواهد بود:

مرحله ی Discovery = در این مرحله سیستمی که می خواهد آدرس ای پی دریافت کند(فرضاً A) یک بسته ی DHCP Discovery  را در شبکه با مشخصات زیر ارسال می کند و از  DHCP سرور تقاضای آدرس ای پی را دارد:

  1. نوع بسته = Broadcast
  2. فیلد Src IP = آدرس 0.0.0.0
  3. فیلد Dst IP = آدرس 255.255.255.255(Broadcast)
  4. فیلد Src Mac = مک آدرس سیستم A
  5. فیلد Dst Mac = دوازده F یا FF:FF:FF:FF:FF:FF
  6. فیلد Src Port = پورت شماره 68
  7. فیلد Dst Port = پورت شماره 67

+نکته: دقت کنید در صورتیکه در شبکه های بزرگ بیشتر از یک DHCP سرور داشته باشیم،تمام  آنها بسته ی  Discovery را دریافت می کنند و بسته ی Offer را در شبکه به سمت سیستم می فرستند،اما فقط بسته ای که زودتر به دست مبدأ رسیده است انتخاب می شود و بقیه مراحل با آن طی می شود.به صورت کلی اگه در یک شبکه چندین DHCP سرور داشته باشیم هنگام ارسال بسته ی Discovery،برای دریافت بسته ی Offer به صورت Anycast اقدام می شود.

مرحله ی Offer = در این مرحله DHCP سرور یک بسته که حاوی Option های مورد نیاز( …,Subnet Mask,Dns Servers,Defautl Gw,Lease time) برای آدرس ای پی است را با مشخصات زیر در شبکه ارسال می کند:

  1. نوع بسته = Broadcast
  2. فیلد Src IP = آدرس 223.1.2.5
  3. فیلد Dst IP = آدرس 255.255.255.255(Broadcast)
  4. فیلد Src Mac = مک آدرس DHCP Server
  5. فیلد Dst Mac = دوازده F یا FF:FF:FF:FF:FF:FF
  6. فیلد Src Port = پورت شماره 67
  7. فیلد Dst Port = پورت شماره 68

+نکته: در سرآیند بسته ی Discovery یک فیلد به اسم Client Hardware Address وجود دارد که مبدأ مقدار Mac Address خود را در آن ذکر می کند و DHCP سرور از روی این مک آدرس یک ای پی آدرس را برای آن در نظر می گیرد،بسیار دقت کنید در این مرحله نیز مک آدرس مقصد Broadcast است.

مرحله ی Request  = در این مرحله سیستم A یک بسته به عنوان تاییدیه اینکه ای پی آدرس را دریافت کرده مشکلی با استفاده از ان ندارد با مشخصات زیر در شبکه می فرستد:

  1. نوع بسته = Broadcast
  2. فیلد Src IP = آدرس 0.0.0.0
  3. فیلد Dst IP = آدرس 255.255.255.255(Broadcast)
  4. فیلد Src Mac = مک آدرس سیستم A
  5. فیلد Dst Mac = دوازده F یا FF:FF:FF:FF:FF:FF
  6. فیلد Src Port = پورت شماره 68
  7. فیلد Dst Port = پورت شماره 67

+نکته: در این مرحله هاست A به تمام DHCP سرور های دیگر داخل شبکه که بسته ی Offer پیشنهادی آن ها را نپذیرفته اعلام می کند که با  DHCP سروری که آدرس آن در فیلد DHCP Identifier بسته ی DHCP Request است بقیه مراحل را طّی می کند.

مرحله ی Ack = در این مرحله DHCP سرور با ارسال یک بسته با مشخصات زیر تعیین می کند که ای پی مورد نظر با موفقیت به سیستم A اختصاص داده شده است و در سرور ثبت شده است و میتواند از ان استفاده کند:

  1. نوع بسته = Broadcast
  2. فیلد Src IP = آدرس 223.1.2.5
  3. فیلد Dst IP = آدرس 255.255.255.255(Broadcast)
  4. فیلد Src Mac = مک آدرس DHCP  سرور
  5. فیلد Dst Mac = دوازده F یا FF:FF:FF:FF:FF:FF
  6. فیلد Src Port = پورت شماره 67
  7. فیلد Dst Port = پورت شماره 68

دوستان این نکته رو بگم که در بسیاری از سایت ها و آموزش ها حتی سطح های بالا هم در تعیین مقادیر فیلد های بسته های DHCP در مراحل DORA اشتباهاتی وجود دارد و اونطور که خودم دیدیم هر جا یه چیز به دل خودشون نوشتن! اما واقعیت خودم هم در محیط واقعی و هم در GNS3 هنگامی که بسته ها را Capture کردم دقیقاً وضعیت آنها شبیه شکلی که در بالا توضیح دادم است.

+نکته ی مهم: بعد از پشت سر گذاشتن این مراحل و دریافت بسته ی Ack توسط مبدأ، هاست A دارای یک آدرس ای پی Unicast می شود.

+نکته: هنگامی که شما در خانه یا دانشگاه می خواهید به یک شبکه ی WiFi وصل شوید حتماً باید ابتدا در شبکه احراز هویت کنید سپس می توانید آدرس ای پی بگیرید(طّی شدن مراحل DORA)

Lease Time چیست؟

مدت زمانی که یک هاست می تواند یک ای پی آدرس را در شبکه داشته باشد و از آن استفاده کند.این Option هم مانند بقیه در مرحله ی Offer به هاست ها داده می شود.(به صورت پیشفرض مقدار آن برابر 8 روز است،هر چند ممکن است مقدار آن متفاوت باشد.)

امّا Renewal Timer (T1) و Renewal Timer (T2) چیست؟

در طّی مرحله ی Offer دو Option که اصطلاحاً به آن Renewal Timer (T1) و Renewal Timer (T2) می گویند از سمت DHCP سرور به سمت کلاینت ارسال می شوند.به صورت پیشفرض Renewal Timer برابر نصف زمان Lease Time است.در صورتیکه مقدار زمان سنج T1 منقضی شود(یعنی کلاینت 50% از زمان Lease Time خودرا سپری کرده باشد) کلاینت از حالت BOUND به RENEWING تغییر حالت می دهد.کلاینت یک بسته ی DHCP Request را به صورت Unicast به سمت DHCP سرور خود می فرستد و از آن درخواست تمدید Lease Time و IP Address را می کند.در اکثر مواقع DHCP سرور با ارسال یک بسته ی DHCP Ack به کلاینت پاسخ می دهد و مقدار T1 و T2 و Lease Time را برای آن مجدداً تنظیم می کند،ولی سرور می تواند در شرایط خاص با ارسال یک بسته ی DHCP Nack به سمت کلاینت از اجاره دادن مجدد آدرس ای پی به آن جلوگیری کند.(در صورتیکه DHCP سرور هیچ پیامی را در جواب بسته ی DHCP Request ارسال نکند،در حّد فاصل بین T1 و T2 کلاینت به صورت دوره ای و Unicast برای DHCP سرور بسته های DHCP Request را ارسال می کند تا شاید جواب بدهد.)

در صورتیکه زمان سنج T2 منقضی شود(یعنی کلاینت حدود 87.5% از زمان Lease Time خود را سپری کرده باشد) و DHCP سرور به کلاینت پاسخ ندهد،در این حالت کلاینت از حالت RENEWING به REBINDING تغییر حالت می دهد.حال کلاینت یک بسته ی DHCP Request را در شبکه Broadcast می کند و آدرس ای پی فعلی خود را در فیلد CIAddr بسته ی DHCP Request قرار می دهد تا به DHCP سرور های دیگر اعلام کند صاحب این آدرس ای پی است و از هر DHCP سروری که در شبکه در دسترس باشد تقاضای Renew کردن اجاره ی خود را دارد.در صورتیکه Lease Time کلاینت به اتمام برسد،کلاینت قادر نخواهد بود از آن آدرس ای پی استفاده کند و مجدداً باید برای بدست آوردن آدرس ای پی مراحل DORA را پشت سر بگذراند.

+نکته: معمولاً در سرور ها مانند DNS سرور و …  ای پی آدرس ها را به صورت استاتیک سِت می کنند و برای اینکه در شبکه  IP Conflict رخ ندهد،یعنی DHCP سرور  ای پی هایی را به کلاینت ها اختصاص ندهد که قبلاً در شبکه استفاده شده اند باید آدرس هایی که به صورت استاتیک در هاست ها و سرور ها سِت شده اند را در DHCP سرور اصطلاحاً Exclude کنیم.

مکانیزم DHCP Relay Agent در مایکروسافت و حالت کلی یا IP Helper در سیسکو:

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

فرض کنید کلاینت A  از شبکه ی A می خواهد میخواهد از یک DHCP سرور که در داخل شبکه ی آن نیست و در شبکه ی B قرار دارد ای پی آدرس دریافت کند و روتر Router1 که روی آن IP Helper راه اندازی شده است بین دو شبکه است.بررسی کنیم ببینیم در این حالت وضعیت بسته هایی که در مراحل DORA تبادل می شوند به چه شکل است:

بسته ی Discovery دقیقاً مثل قبل بین کلاینت A و روتر Router1 تبادل می شوند و روتر که به عنوان Relay عمل می کند بسته را دریافت می کند و تغییرات زیر را در آن اعمال می کند و به سمت DHCP سرور می فرستد:

  1. نوع بسته را از Broadcast به Unicast تغییر می دهد.
  2. فیلد Src Mac آن را از مک آدرس کلاینت A  به مک آدرس خود تغییر می دهد.
  3. فیلد Dst Mac آن را از FF:FF:FF:FF:FF:FF به مک آدرس DHCP سرور تغییر می دهد.
  4. فیلد Src IP آن را از 0.0.0.0 به ای پی آدرس خود تغییر می دهد.
  5. فیلد Dst IP آن را از 255.255.255.255 به ای پی آدرس DHCP سرور تغییر می دهد.
  6. فیلد Src Port که 68 است و فیلد Dst Port که 67 است را تغییر نمی دهد.

بسته ی DHCP Discovery که به صورت Unicast به سمت DHCP سرور حرکت می کند و DHCP سرور نیز در جواب بسته ی Offer را به سمت روتر Router1 با مشخصات زیر ارسال می کند:

  1. نوع بسته = Unicast
  2. فیلد Src IP = ای پی آدرس DHCP سرور
  3. فیلد Dst IP = ای پی آدرس روتر Router1
  4. فیلد Src Mac = مک آدرس DHCP سرور
  5. فیلد Dst Mac = مک آدرس روتر Router1
  6. فیلد Src Port = پورت شماره 67
  7. فیلد Dst Port = پورت شماره 68

+نکته: در این مرحله تمام Option های مورد نیاز برای ای پی آدرس برای کلاینت A ارسال می شود و آدرس روتر Router1 به عنوان گیت وی در بسته ی Offer به کلاینت A ارسال می شود.

روتر نیز بسته Offer را دریافت می کند و با مشخصات زیر به سمت کلاینت A ارسال می کند:

  1. نوع بسته از Unicast به Broadcast تغییر می کند.
  2. فیلد Src IP را از ای پی DHCP سرور به ای پی خود تغییر می دهد.
  3. فیلد Dst IP را از ای پی خود(روتر Router1) به ای پی آدرس 255.255.255.255 تغییر می دهد.
  4. فیلد Src Mac را از مک آدرس DHCP سرور به مک آدرس خود تغییر می دهد.
  5. فیلد Dst  Mac را از مک آدرس خود به مک آدرس FF:FF:FF:FF:FF:FF تغییر می دهد.

بسته ی Request دقیقاً مثل قبل بین کلاینت A و روتر Router1 تبادل می شوند و روتر که به عنوان Relay عمل می کند بسته را دریافت می کند و تغییرات زیر را در آن اعمال می کند و به سمت DHCP سرور می فرستد:

  1. نوع بسته را از Broadcast به Unicast تغییر می دهد.
  2. فیلد Src Mac آن را از مک آدرس کلاینت A  به مک آدرس خود تغییر می دهد.
  3. فیلد Dst Mac آن را از FF:FF:FF:FF:FF:FF به مک آدرس DHCP سرور تغییر می دهد.
  4. فیلد Src IP آن را از 0.0.0.0 به ای پی آدرس خود تغییر می دهد.
  5. فیلد Dst IP آن را از 255.255.255.255 به ای پی آدرس DHCP سرور تغییر می دهد.
  6. فیلد Src Port که 68 است و فیلد Dst Port که 67 است را تغییر نمی دهد.

بسته ی DHCP Request که به صورت Unicast به سمت DHCP سرور حرکت می کند و DHCP سرور نیز در جواب بسته ی  Ack را به سمت روتر Router1 با مشخصات زیر ارسال می کند:

  1. نوع بسته = Unicast
  2. فیلد Src IP = ای پی آدرس DHCP سرور
  3. فیلد Dst IP = ای پی آدرس روتر Router1
  4. فیلد Src Mac = مک آدرس DHCP سرور
  5. فیلد Dst Mac = مک آدرس روتر Router1
  6. فیلد Src Port = پورت شماره 67
  7. فیلد Dst Port = پورت شماره 68

روتر نیز بسته Ack را دریافت می کند و با مشخصات زیر به سمت کلاینت A ارسال می کند:

  1. نوع بسته از Unicast به Broadcast تغییر می کند.
  2. فیلد Src IP را از ای پی DHCP سرور به ای پی خود تغییر می دهد.
  3. فیلد Dst IP را از ای پی خود(روتر Router1) به ای پی آدرس 255.255.255.255 تغییر می دهد.
  4. فیلد Src Mac را از مک آدرس DHCP سرور به مک آدرس خود تغییر می دهد.
  5. فیلد Dst  Mac را از مک آدرس خود به مک آدرس FF:FF:FF:FF:FF:FF تغییر می دهد.

بعد از طّی شدن این مراحل کلاینت A ای پی آدرس Unicast خود را دریافت کرده است و می تواند از آن استفاده کند.

 

 

امیدوارم این مقاله برای شما مفید واقع شده باشد.

خوش و خرّم باشید.

سالار بهنیا

www.reversecode.ir

telegram.me/efengton

 

 

 

 

 

 

 

 

 

 

salar 4 دیدگاه

آموزش Nmap

Nmap یک اسکنر قوی برای اسکن و بدست آوردن اطلاعات بسیار مفید در مورد شبکه ها و هاست ها و رفع آسیب پذیری های موجود است.اکثر sysadmin ها باید با این ابزار کم و بیش آشنا باشند ولی یادگیری دستورات و رفتارهای مختلف این ابزار برای محققان امنیتی بسیار مهم است.

یک نکته ی خیلی مهم اینه که من این مقاله را برای بالا بردن سطح آگاهی کسانی که به دنیا شبکه علاقه مند هستند تهیه کرده ام،هر گونه استفاده ی غیراخلاقی از آن بر عهده ی خود طرف(بیننده) می باشد.

Nmap سویچ های بسیار زیادی دارد که واقعیت امر اینه گفتن همه ی آن ها بسیار زمانبر هست به علاوه یادگیری تمام سویچ های آن لازم نیست،ولی من اکثر سویچ های مهم و کاربردی رو بهتون آموزش میدم،باز هم میگم در این مقاله من تمام دستورات و سویچ های Nmap را ذکر نکرده ام.

+ نکته: حتماً هنگام کار با Nmap ابزار Wireshark را نصب کنید تا بتونید رفتار های دستورات مختلف Nmap رو شناسایی کنید و به نظرم این کار فوق العاده مهم است.

+ نکته: ممکن است به دلیل سیاست های IDS ها و فایروال ها و … بسته های یا پکت های خروجی وایرشارک برای اسکن های مختلف متفاوت باشد که طبیعی است و این هم لازم است بگم که رفتار اکثر اسکنر ها برای این سیستم ها کاملاً قابل شناسایی است.

+ نکته: برای اجرای اکثر سویچ های کاربردی و مهم  Nmap برای Host Discovery و Port Scanning و …. نیاز به دسترسی روت داریم.

+ نکته: پورت یک شناسه 16 بیتی است برای رد و بدل کردن اطلاعات که با یکی از پرتکل های لایه ی انتقال TCP یا UDP کار می کند.

+ نکته:  در دستور Nmap پورت ها  State های مختلفی دارند که بیان کننده ی حالت پورت مورد نظر است.انواع State های مختلف یک پورت  را در زیر توضیح داده ام:

Open: یعنی پورت مورد نظر ما باز است و سرویس خاصی روی آن گوش می دهد.

Closed: یعنی هیچ برنامه ای روی پورت مورد نظر فعال نیست و پورت بسته است.

Filtered: یعنی پورت مورد نظر ما توسط فایروال یا IDS یا … فیلتر شده است.

Unfiltered: یعنی پورت مورد نظر ما فیلتر نیست ولی Nmap تشخیص نداده است که پورت مورد نظر ما باز است یا بسته.

Open\Filtered: یعنی برنامه ی Nmap نمی تواند تشخیص دهد پورت مربوطه باز است یا فیلتر شده است.

Closed\Filtered: یعنی Nmap نمی تواند تشخیص دهد پورت مربوطه بسته است یا فیلتر شده است.

+ رفتارشناسی بسته های TCP با فلگ های مختلف و بسته ی UDP که فوق العاده مهم هستند:

اگر به یک پورت Open یک بسته ی SYN ارسال شود به ما یک بسته ی SYN,ACK بر می گرداند.

اگر به یک پورت Closed  یک بسته ی SYN ارسال شود به ما یک بسته ی RST بر می گرداند.

اگر به یک پورت Filtered یک بسته ی SYN ارسال شود به ما هیچ چیزی بر نمی گرداند!.(چون فایروال اجازه ی برگشت بسته ی ارسالی را نمی دهد.)

اگر به یک پورت Open یا Closed یک بسته ی ACK ارسال شود به ما یک سته ی RST ارسال می کند

اگر به یک پورت Filtered یک بسته ی ACK ارسال شود هیچ چیز به ما باز نمی گرداند.

اگر به یک پورت Open یا Filtered یک بسته ی FIN ارسال کنیم هیچ بسته ای به مبدا ارسال نمی کند.

اگر به یک پورت Closed یک بسته ی FINارسال کنیم به ما بسته ی RST را بر می گرداند.

اگر به یک پورت Open یا Filtered یک بسته ی NULL ارسال کنیم هیچ بسته ای به ما ارسال نمی کند.

اگر به یک پورت Closed یک بسته ی NULL ارسال کنیم به ما بسته ی RST را بر می گرداند.

TCP Xmas: یک بسته که فلگ PSH و FIN و URG آن ست شده است را ارسال می کند به سمت مقصد و رفتار آن در مواجهه با پورت ها دقیقا مثل ارسال بسته ی  NULL و FIN است.

اگه به یک پورت Open یا Filtered یک بسته ی UDP ارسال کنیم به ما هیچ بسته ای را برنمی گرداند.

اگه به یک پورت Closed یک بسته ی UDP ارسال شود یک بسته ی Destination Unreachable ICMP با TYPE 3 – CODE 3 را برای ما بر می گرداند

Nmap  چجوری کار میکنه؟

قبل اینکه به این سوال مهم جواب بدم میخوام با دو مفهوم آشنا بشید:

DNS Resolution  یا DNS Lookup:

مکانیزم تبدل نام دامنه به ای پی ادرس است. میدانیم در بک گراوند شبکه فقط ای پی ادرس معنا دارد و دامنه ها اسامی قابل فهم برای ما هستند پس در اولین قدم Nmap مکانیزم DNS Resolution را انجام می دهد تا ای پی مورد نظر را بدست بیاورد و این کار را با ارسال یک بسته Query به سمت DNSسرور آغاز می کند و DNS سرور نیز با ارسال یک بسته ی Response به سمت مبدا آدرس ای پی را در اختیار ما می گذارد.

reverse DNS Resolution یا reverse DNS Lookuo :

مکانیزم تبدیل ای پی ادرس به نام دامنه مرتبط با آن است. در این مکانیزم فقط نوع بسته ی Query ما فرق می کند و از DNS سرور میخواهیم که نامه دامنه هایی که به یک ای پی آدرس تخصیص داده شده است را در قالب یک بسته ی Response برای ما ارسال کند.

در حالت عادی هنگامی که ما یک نام دامنه را برای اسکن انتخاب می کنیم در قدم اول Nmap مکانیزم DNS Resolution را انجام می دهد و بعد از بدست آوردن آدرس ای پی متناظر دامنه(چون تا ای پی نباشه هیچ خبری از هیچی نیست!) مکانیزم Host Discovery را انجام می دهد تا بفهمد آدرس مورد نظر فعال هست و سپس مکانیزم هایی که براش تعیین می کنیم مثل Port Scanning یا Banner Grabbing و … را انجام می دهد،در طی تمامی مراحل بالا پکت هایی بین دو طرف رد و بدل می شود.

اما یه بحث که پیش میاد اینه هنگامی که ما به جای وارد کردن دامنه از ای پی آدرس تارگت استفاده کنیم در این حالت مکانیزم rDNS Resolution صورت می گیرد،دلیلش هم مشخصه تا ما بتوانیم اطلاعاتی در مورد تعداد سایت های هاست و همچنین دامنه ی آنها بدست آوریم.

در شبکه های لوکال مکانیزم های DNS Resolution و rDNS Resolution در صورتیکه شبکه Client-Server یا همانDomian باشد و در شبکه DNS سرور داشته باشیم اتفاق می افتد ولی اگر شبکه ی Peer to Peer یا همان Work Group باشد چون آنجا DNS سرور نداریم در صورتیکه Host Name مورد نظر را وارد کنیم از پرتکل NetBIOS(در شبکه های ویندوزی!) برای بدست آوردن آی پی آدرس سیستم استفاده می کند.

+ نکته: Nmap در حالت عادی 1000 پورت معروف TCP را اسکن می کند زیرا در حالت عادی و بدون هیچ سویچی Nmap هنگامی که دسترسی روت داشته باشد از روش TCP SYN scan استفاده می کند وهنگامی که دسترسی روت نداشته باشد از روش TCP CONNECT scan استفاده می کند.اما به این نکته توجه داشته باشید که نوع سرویس مورد نظر ما است که نوع پورت را تعیین می کند مثلا به صورت پیش فرض SSH روی پورت 22 در سمت سرور خدمات ارائه می دهد و SSH از پرتکل TCP پشتیبانی می کند پس در این حالت پورت مورد نظر ما TCP است.اما گاهی اوقات حتماً شنیده اید که بعضی از افراد پورت پیش فرض را تغییر می دهند،مثلا SSH را به یک پورت دیگر منتقل می کنند در این حالت پورت 22 دیگر سرویس SSH ارائه نمی دهد و در نتیجه پورت مورد نظر از حالت TCP خارج می شود و ممکن است حتی UDP شود!

+نکته: برای اسکن کردن میتونید از تارگت scanme.nmap.org استفاده کنید که توسط خود Nmap برای تست کردن طراحی شده است.

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

چند دستور کارآمد و خوب:

نتایج را برای ما به صورت عمیق یا دراز با جزییات بیشتر نشان می دهد.

 

برای دیباگ کردن مورد استفاده قرار می گیرد و سویچ بسیار خوبی است.مثلا زمان شروع انواع اسکن کردن ها را نشان می دهد.

 

برای آنکه بدانیم دلیل State پورت مورد نظر که در آن قرار گرفته است دریافت یا عدم دریافت چه بسته هایی است.

 

وضعیت اینترفیس های سیستم و یک سری اطلاعات شبکه ای مهم را به ما می دهد.

 

در گنو/لینوکس می توانید man page انمپ را مطالعه کنید یا از دستور Nmap -h  استفاده کنید که هر دو خلاصه ای از دستورات مهم و کاربردی Nmap را بیان کرده اند.

در گنو/لینوکس برای آنکه بفهمید از چه نسخه ای از Nmap استفاده می کنید از دستور Nmap -V استفاده کنید.

برای نمایش ادرس ای پی ها و پورت های مورد نظر برای اسکن کردن میتوان با چندین روش این کار رو انجام داد.

برای نمایش پورت ها:

میتوانیم فقط یک پورت مورد نظر را برای اسکن کردن تعیین کنیم.(در اینجا پورت شماره 21 که مربوط به FTP است را بررسی کرده ایم.)

 

میتوانیم هر چند تا پورت بخواهیم برای اسکن کردن تعیین کنیم.

 

میتوانیم یک محدوده ی مشخص از پورت ها را برای اسکن کردن تعیین کنیم.

 

برای اسکن کردن یک سری پورت TCP و UDP  مشخص استفاده می شود.

+نکته: در این روش پورت های UDP را UDP اسکن و پورت های TCP را TCPاسکن می کند،پس باید از یکی از متد های TCP پورت اسکن و همچنین اسکن UDP استفاد کنیم مانند زیر:

 

میتوانیم براساس نام سرویس ها نیز به جای شماره پورت آنها اسکن های مورد نظر را تعیین کنیم.

 

اسکن کردن تمام پورت ها

 

اصطلاحاً به آن Fast Scan می گویند و سرعت اسکن کردن را افزایش می دهد.

+ نکته: در این روش 100 پورت معروف را اسکن می کند.

 

5 پورت معروف و معتبر TCP را برای ما اسکن می کند.

 

از اسکن کردن شماره پورت تعیین شده چشم پوشی می کند.

 

در حالت عادی هنگامی که nmap می خواهد Port Scanning را انجام بدهد این کار را به صورت Random روی پورت ها انجام می دهد و هیچ ترتیبی ندارد ولی هنگام استفاده از سویچ r- پورت ها به ترتیب اسکن می شوند.

 

برای نمایش ای پی آدرس ها:

اسکن فقط یک آدرس ای پی خاص

 

اسکن چندین آدرس ای پی خاص که ما تعیین می کنیم.

 

اسکن یه محدوده ی خاص از ادرس ها

 

اسکن کردن یک رنج ای پی(تمام سیستم های داخل یک سابنت ماسک را برای ما اسکن می کند.)

 

هنگامی که ما میخواهیم یک محدوده ی ای پی یا یک رنج آدرس ای پی را اسکن کنیم اما از اسکن بعضی از سیستم ها میخواهیم چشم پوشی کنیم از این سویچ استفاده می کنیم.

+ نکته: در اینجا فرض شده است که از اسکن سیستم 192.168.1.10 در داخل یک محدوده و در داخل یک سابنت ماسک چشم پوشی شود.

 

میتوانیم آدرس های ای پی مورد نظر را داخل یک فایل بنویسیم سپس آن را import کنیم.

+ نکته: باید در هر خط در فایل یک  آدرس ای پی قرار دهیم.

 

به صورت Random برای ما 4 ای پی آدرس  را اسکن می کند.

 

برای نمایش دامنه ها:

اسکن کردن یک سایت مشخص

 

اسکن کردن چندین سایت

 

مفهوم Host Discovery:

یکی از اولین کار ها در اسکن کردن هر شبکه ای اینه که بدونیم چه هاست هایی فعال هستند،البته میتونیم خیلی راحت از Host Discovery چشم پوشی هم کنیم.

+ نکته ی مهم: در شبکه های لوکال هنگام اسکن کردن برای هاست دیسکاوری از پرتکل ARP کمک گرفته می شود و یک بسته ARP Request را در شبکه برادکست میکنیم که اگه بسته ی ARP Reply آن برگشت نشان می دهد که سیستم مورد نظر up هست.(پرتکل NDP برای ای پی ورژن 6)

هنگامی که در گنو/لینوکس بدون دسترسی روت(عدم استفاده از دستور sudo) از Nmap استفاده می کنیم،Host Discovery به صورت زیر است:

انجام TCP Connect scan با پورت 80
انجام TCP Connect scanبا پورت 443

اگه با وایرشارک پکت ها را نگاه کنید می بیند که یه Three Way Handshake کامل با پورت 80 تارگت صورت گرفته و سپس از سمت مبدأ  RST  به تارگت ارسال میشه و با پورت 443 هم بدین منوال.

 

هنگامی که از دسترسی ریشه(استفاده از دستور sudo) برای اسکن ساده Nmap استفاده می کنیم روال کار کمی حرفه ای تر و به صورت زیر می شود:

ACK scan کردن پورت 80
SYN scan کردن پورت 443
ارسال بسته های ICMP Echo Request
ارسال ICMP TimeStamp Request به سمت مقصد

 

+ سویچ  PS- یا TCP SYN برای هاست دیسکاوری:

اگر  هیچ شماره پورتی را وارد نکنیم به صورت پیش فرض از پورت 80 استفاده می شود و بسته به جوابی که میگیریم میتوانیم در مورد فعال یا غیرفعال بودن هاست جواب بدیم.

+نکته: روش معقول برای هاست دیسکاوری است و معمولاً جواب داده می شود.

+ نکته: در قسمت رفتارشناسی TCP  توضیح داده ام که یک پورت در State های مختلف چگونه با یک بسته ی TCP با فلگ ACK برخورد می کند.

 

+ سویچ PA- یا TCP ACK برای هاست دیسکاوری:

اگر  هیچ شماره پورتی را وارد نکنیم به صورت پیش فرض از پورت 80 استفاده می شود در غیر آن صورت با پورت مورد نظر ما یک ACK اسکن رو صورت می دهد.

+نکته : معمولاً فایروال ها اجازه ی استفاده از این روش را نمی دهند.

+ نکته: در قسمت رفتارشناسی TCP  توضیح داده ام که یک پورت در State های مختلف چگونه با یک بسته ی TCP با فلگ ACK برخورد می کند.

 

+ سویچ Pn- یا No Ping برای هاست دیسکاوری:

در این روش از هاست دیسکاوری تارگت چشم پوشی میکنیم و فقط عمل

پورت اسکنینگ و … صورت می گیرد.

 

+ سویچ sn- یا sP- یا No Port Scan برای هاست دیسکاوری:

در این روش از Port Scanning کردن چشم  پوشی می شود و فقط کشف می کند تا ببیند تارگت مورد نظر فعال است یا نه.

 

+ سویچ PU- یا UDP scan برای هاست دیسکاوری:

اگر هیچ شماره پورتی را وارد نکنیم به صورت پیش فرض به پورت شماره ی 40125 یک بسته ی UDP خالی(در اکثر موارد خالی نه همیشه!) ارسال می کند.

به صورت کلی اسکن های UDP بسیار مشکل تر و غیرقابل اطمینان تر از اسکن های TCP هستند چون پرتکل UDP یک پرتکل بدون اتصال است و هیچ بسته ای برای تایید دریافت بسته ها ارسال نمی کنند ولی خوب در بعضی موارد که اسکن های TCP جواب نداد،میتوانیم برای هاست دیسکاوری از این روش هم استفاده کرد.

حالت False Positive :

همانطور که در بالا اشاره کردیم،هنگامی که ما یک بسته ی UDP را به سمت تارگت ارسال می کنیم در صورتی که پورت مورد نظر بسته باشد یک بسته ی Destination Unreachable ICMP با TYPE 3 – CODE 3 را برای ما بر می گرداند که متوجه میشویم هاست فعال است و اگر هیچ بسته ای را برای ما برنگرداند یعنی پورت مورد نظر باز است.اما این نکته مهم است که اکثر فایروال ها ترافیک ICMP رو Drop میکند و در نتیجه اگه پورت Open هم باشد برای ما هیچ چیز را بر نمی گرداند و State آن پورت می شود Open/Filtered که نتیجه ی قابل قبولی برای ما نیست و به این وضعیت بوجود آمده False Positive می گویند.

 

+ سویچ sL- یا List Scan برای هاست دیسکاوری :

با استفاده از این سویچ می توان اطلاعات بسیار مفیدی در مورد یک رنج ای پی ادرس را با استفاده از مکانیزم rDNS Resolution بدست آورد.

+ نکته: در این روش دقت کنید هیچ بسته ای به سمت تارگت ارسال نمی شود و فقط اطلاعات بسته آمده حاصل تأمل با DNSسرور و از مزیت های rDNS است.

 

+ سویچ PR- یا ARP scan برای هاست دیسکاوری:

+ نکته: در اینجا فرضاً میخواهیم بدانیم که ای پی 192.168.1.10 فعال هست یا نه.

در این روش که از پرتکل ARP استفاده می کند و روش هاست دیسکاوری پیش فرض در شبکه های محلی است،یک بسته ی ARP Request در شبکه Broadcast می کند و اگر بسته ی ARP Reply که مک آدرس سیستم تارگت حاوی آن است به مبدا برگشت نشان می دهد سیستم مورد نظر فعال است.

+ نکته: پرتکل ARP یک بسته که مک آدرس آن را Broadcast کرده است یعنی (ff:ff:ff:ff:ff:ff) را در شبکه ارسال می کند.

+نکته: در ای پی ورژن 6 سویچ PR- از پرتکلICMPv6 Neighbor Discovery برای هاست دیسکاوری استفاده می کند.

+نکته: با استفاده از سویچ  disable-arp-ping- –  میتوان تعیین کرد که در شبکه های لوکال از هاست دیسکاوری به روش ARP و ICMPv6 Neighbor Discovery جلوگیری شود.

+نکته: هنگامی که از پرتکل ARP برای دیسکاوری در شبکه های لوکال استفاده نشود،دقیقا مثل این است که در شبکه ی لوکال از دستور Nmap بدون هیچ سویچ استفاده بکنیم یعنی مراحل زیر طی می شود:

ACK scan کردن پورت 80
SYN scan کردن پورت 443
ارسال بسته های ICMP Echo Request
ارسال ICMP TimeStamp Request به سمت مقصد

 

+ سویچ n- یا No DNS Resolution برای هاست دیسکاوری کردن:

در صورت استفاده از این سویج Nmap از مکانیزم rDNS Resolution  چشم پوشی می کند و باعث سریعتر انجام شدن کار می شود.

 

+ سویچ  R- یا DNS Resolution برای هاست دیسکاوری:

در حالت عادی Nmap فقط روی هاست هایی که فعال هستند  rdns را انجام می دهد و در صورت استفاده از این سویچ Nmap مکانیزم rDNS را برای ای پی ادرس های مقصد حتما انجام می دهد.

+ نکته: این کار باعث کند تر شدن انجام مکانیزم می شود.

 

+ سویچ ..,dns-servers  dns server1,dns server2- – برای هاست دیسکاوری:

در حالت عادی Nmap از DNS سرور هایی که در خود سیستم تعیین و کانفیگ شده است استفاده می کند.با استفاده از این سویچ میتوانیم به Nmap بگوییم که از DNS سرور های خاصی استفاده بکند.

+نکته ی جالب: هنگامی که از سویچ n- استفاده شود و به جای وارد کردن نام دامنه از ای پی آدرس استفاده میشود هیچ پرس و جوی DNS صورت نمی گیرد.

خوب با هم دیگر مرسوم ترین روش های هاست دیسکاوری را بررسی کردیم،بریم سراغ Port Scanning تا ببینیم که چی به چیه!

 

پورت اسکنینگ( Port Scanning):

مکانیزمی است که با استفاده از آن میتوان فهمید که هر پورت چه State دارد و چه Service روی آن فعال است،برای مثال پورت مربوطه Open یا Closed است یا …

+ سویچ sS- یا TCP SYN scan برای Port Scanning :

در این روش به پورت مربوطه ی تارگت یک بسته ی خالی TCP که فلگ SYN آن ست شده است ارسال می شود و تارگت نیز به مبدا بسته ی  SYN,ACK ارسال می کند و در مرحله ی آخر Three Way Handshake به صورت کامل انجام نمی شود و مبدا یک بسته ی RST به تارگت ارسال می کند که اصطلاحا به آن Half-Connection هم میگویند.(در صورتیکه پورت مورد نظر Open باشد.)

+ نکته: به این روش اسکن کردن SYN Stealth scan هم می گویند.

+ نکته: اکثر فایروال ها بسته های  TCP که فلگ SYN آنها ست شده است را Drop می کنند تا کم ترین اطلاعات ممکن هم در مورد پورت ها به هکر ها ندهند ولی این نوع اسکن بر روی پورت هایی که سرویس ارائه میدن Drop نمیشه،چون در آن صورت سرویس که خدمات ارائه نمی کرد!.

+ نکته: در فایروال میتوان Rule تعیین کرد که هر آی پی آدرسی که بسته ی SYN به ما فرستاد،لاگ گیری شود!

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

+ نکته: هنگام استفاده از یوزر روت در صورتیکه ما هیچ سویچ خاصی هم برای Port Scanning استفاده نکنیم،خودش از TCP SYN scan استفاده خواهد کرد.

 

+ سویچ sT- یا TCP connect scan برای Port Scanning :

در این روش برای آنکه Stateو Service پورت مورد نظر را بدست آوریم باید یک ارتباط کامل بین مبدا و تارگت برقرار شود و آنها Three Way Handshake را انجام دهند.

+نکته: معمولاً بسیار کم از این سویچ استفاده می شود.

+ نکته: هنگامی که با یوزر عادی Port Scanning انجام بدهیم،از این روش برای Port Scanning استفاده می شود.

 

+ سویچ sA- یا TCP ACK scan برای Port Scanning :

در این روش به پورت مربوطه ی تارگت یک بسته TCP با فلگ ACK ارسال می شود که State های  ممکن را در بالا توضیح داده ام که اگه به یک پورت باز یا بسته یا فیلتر شده بسته ی ACK برسد نحوه ی برخورد آن پورت چگونه خواهد بود.

+ نکته:  فایروال های Stateful اطلاعات مربوطه به هر کانکشن را می دانند و هوشمندانه عمل می کنند بنابراین اگر بسته ی TCP که فلگ ACK ان ست شده باشد را دریافت کنند،آن را با State جدول کانکشن ها تطبیق می دهند و اگه بسته ی مورد نظر قسمتی از Session نباشد بسته ی مورد نظر Drop می شود،به همین راحتی!

+ نکته ی آخر این اسکن اینه که از آن بیشتر برای اینکه بدونیم فایروال Stateful هست یا Stateless استفاده می شود.

 

+ سویچ sU- یا UDP scan برای Port Scanning :

مکانیزم و رفتار این نوع Port Scanning دقیقاً شبیه به روش هاست دیسکاوری با استفاده از پرتکل UDP است و تفاوتی ندارد که در بالا کامل توضیح داده ام.

+نکته: معمولاً اسکن های UDP خیلی کم مورد استفاده قرار می گیرند.

 

+ نکته: رفتار سویچ sF- یا FIN scan و سویچ sN- یا Null scan و سویچ sX- یا Xmas scan دقیقا شبیه هم است که در بالا کاملاً در قسمت رفتار شناسی بسته های TCP توضیح داده ام.

+ نکته: در روش Null Scan یک بسته ی TCP بدون هیچ فلگ خاصی به سمت تارگت فرستاده می شود که گاهی اوقات در Bypass کردن فایروال ها مؤثر است.

+ نکته: در روش Xmas چون بیت های FIN,URG,PSH ست شده اند بنابراین ممکن است فایروال ها خیلی راحت آن ها را دراپ کنند و روش خوبی نیست.

 

تشخیص سیستم عامل(OS Detection):

خوب در مورد Port Scanning و مزیت های آن توضیح دادیم اما این روش جوابگو تمام نیاز های ما برای یک اسکن خوب و منطقی نیست و اطلاعات کاملی به ما نمی دهد. یکی از مهم ترین مسائلی که ما باید حتماً در تارگت از آن باخبر بشیم نوع سیستم عامل مورد استفاده مقصد است.این کار به همین آسانی ها که فکرش را می کنید نیست:) برای همین منظور توسعه دهندگان Nmap یک دیتابیس بزرگ از معروف ترین Fingerprint های سیستم عامل ها  را جمع آوری کردند و براساس بسته های دریافتی از تارگت و مطابقت آنها با دیتابیس و Fingerprint سیستم عامل ها میتوان نوع آنها را تشخیص دهد.

+ نکته: با استفاده از این سویچ میتوان نوع دیوایس مربوطه که سیستم عامل روی آن در حال اجرا است را نیز گاهاً تشخیص دهیم مثلا روتر است یا …..

+ نکته: هنگامی که Nmap در تشخیص نوع سیستم عامل مطمئن نباشد آن را به صورت احتمالی  نمایش می دهد و سیستم عامل هایی را که امکان دارد در سمت تارگت استفاده شده باشند به ما می گوید.

 

تشخیص نسخه و سرویس (Version and Service Detection):

بعد از آنکه مکانیزم Port Scanning انجام گرفت باید فهمید که روی آن پورت چه سرویسی اجرا شده است و همچنین اسم برنامه یا سرویس مورد استفاده چیست،چه ورژنی است،نوع،دیوایس آن چیست،نوع سیستم عامل آن چیست و اطلاعات مفید دیگری را بدست آورد.بسته هایی که در این روش مورد استفاده قرار میگیرد در یک دیتابیس به اسم nmap-service-probes قرار دارند و هنگام کار با سویچ های sV- و A- فراخوانی می شوند و بسته های برگشتی با Fingerprint دیتابیس مقایسه و براساس آن اطلاعات مهمی به ما می دهد.

+نکته: بعضی از پورت ها اطلاعات کمی رو در اختیار ما قرار می دهند و بعضی از آن ها اصلاً اطلاعاتی به ما نمی دهند!

 

+ سویچ sV- برای تشخیص نسخه و سرویس:

با استفاده از این سویچ میتوانیم اطلاعاتی در مورد نوع سرویس مورد نظر و  نسخه ی آن و همچنین اطلاعات دیگری مانند نوع سیستم عامل نیز بدست آوریم.

 

+ سویچ A- برای تشخیص نسخه و سرویس:

با استفاده از این سویچ میتوانیم اطلاعات بسیار جامع و کاملی در مورد نوع سرویس مورد استفاده و نسخه ی آن ها و همچنین نوع سیستم عامل استفاده شده در تارگت  و … بدست آورید.

+ نکته: در این روش مکانیزم traceroute هم انجام می گیرد.

 

Bypass کردن فایروال ها و IDS ها و … با استفاده از چندین تکنیک خاص:

بسیاری از رفتار های Nmap برای فایروال ها و IDS ها به راحتی قابل شناسایی و قابل Drop شدن است ولی گاهی اوقات با استفاده از مکانیزم هایی میتوانیم از آنها عبور کنیم یا حداقل ای پی آدرس خود را مخفی کنیم.

+ سویچ f- یا fragment packets:

تکه تکه کردن(Fragmentation) یعنی پکت های IP را به بسته های کوچکتری تقسیم کنیم سپس بر روی لینک(اینترفیس) آنها را ارسال کنیم.

در این روش Nmap بسته ها را به فرگمنت های 8  بایتی تقسیم می کند وسپس ارسال می کند.

+ نکته: خیلی به راحتی قابل Drop شدن است و زیاد جالب نیست!

 

+ سویچ mtu- -:

MTU چیست؟ حداکثر اندازه ی پکت های لایه ی سوم قبل از ورود به لینک(اینترفیس)است. مقدار MTU بسته به لینک های مختلف متفاوت هست،مثال بارز آن در شبکه های اترنت است که اندازه ی MTU برابر 1500 بایت است.

+ نکته: می توانیم اندازه ی mtu برای ارسال پکت ها را تعیین کنیم.

+ نکته: اندازه ی mtu را ضریبی از 8 قرار دهید مثلاً …..,8,16,24,32

 

+سویچ D- یا Decoy:

Decoy به معنی تله است ویکی از روش های مفید برای مخفی کردن آدرس ای پی خود هنگام اسکن کردن در اینترنت و شبکه های لوکال است.

وارد کردن ای پی آدرس های تله به صورت انتخابی:

 

وارد کردن ای پی آدرس  های تله به صورت تصادفی:

+ نکته ی مهم: آدرس هایی که میخواهیم به عنوان تله استفاده کنیم باید فعال باشند.

+نکته: به جای مقدار n باید تعداد ای پی آدرس های تله را قرار دهیم.

+نکته ی مهم: هنگام استفاده از  ای پی آدرس هایی به عنوان تله چه در اینترنت و چه در شبکه های لوکال  چه به صورت Random یا RND چه به صورت انتخابی باید این نکته رو در نظر داشته باشیم که ای پی آدرس های ما مک آدرس سیستم تولید کننده بسته ها را می گیرند،مثلا اگه ما بخواهیم از 10 سیستم به عنوان تله استفاده کنیم که ای پی های مختلفی دارند،مک آدرس همه ی آن ها یکسان است که در این حالت باید Mac Spoofing انجام دهیم.

 

نحوه ی Mac Spoofing:

مشخص کردن یک مک آدرس جعلی توسط شما

 

مشخص کردن یک مک آدرس جعلی به صورت تصادفی

 

 

نحوه ی IP Spoofing:

در اینجا ما از اینترفیس enp3s0 و آدرس جعلی 192.168.1.25 استفاده کرده ایم و آدرس 192.168.1.2 را اسکن می کنیم.

در این روش از یک آدرس ای پی جعلی به جای آدرس ای پی مبدأ به منظور ناشناس ماندن استفاده می شود.

+نکته: در این روش استفاده از دو سویچ Pn- و e- الزامی است.

+نکته: سویچ e- مشخص می کند که Nmap روی کدام اینترفیس خاص بسته ها را ارسال و دریافت کند.

 

نحوه ی Port Spoofing:

در اینجا به جای n پورتی را که میخواهیم جعل کنیم قرار می دهیم.

در حالت عادی Nmap از پورت های تصادفی در مبداً استفاده می کند که با استفاده از سویچ source-port– و g- میتوانیم شماره پورت ها را عوض کنیم.

 

ذخیره خروجی Nmap در یک فایل متنی:

گاهی اوقات لازم است که خروجی Nmap را در یک فایل ذخیره کنیم که بدین منظور از سویچ oN- استفاده می کنند.

+نکته: دستور بالا هنگامی که فایل ما خالی نباشد با استفاده از overwrite کردن فقط خروجی Nmap را در آن ذخیره می کند و بقیه ی اطلاعات فایل حذف می شوند که اگه بخواهیم خروجی Nmap به ادامه ی فایل مورد نظر ما Append شود باید از سویچ append-output– استفاده کنیم.

 

اما رسیدیم به قدرتمندترین قابلیت Nmap که به آن NSE یا Nmap Script Engine می گویند.

NSE یک فرم ورک است که اسکریپت هایی که با زبان Lua نوشته شده اند را اجرا می کند.

اسکریپت های زیادی وجود دارند که هر کدام قابلیت های بسیار خوبی دارند و توسط توسعه دهندگان Nmap گسترش داده شده اند.البته چیز خیلی سختی نیست! شما نیز می توانید اسکریپت های مورد نظر خودتان را در صورت آشنایی با زبان Lua طراحی کنید و به Nmap معرفی کنید.

اسکریپت های Nmap برای مقاصدی مثل Bypass کردن احراز هویت  ها و بدست آوردن اطلاعات از آنها،حملات بروت فورس،حملات DOS،دیسکاوری کردن و ….

کافیه به مسیر usr/share/nmap/scripts/ در گنو/لینوکس بروید تا فایل هایی با پسوند nse رو ببینید که در واقع همان اسکریپت ها هستند.

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

خوب من واقعاً نمی دونستم کدوم اسکریپت ها را انتخاب کنم! چون تقریباً برای هر هدفی تعداد زیادی اسکریپت وجود داره و بیشترین شون عالی هستند.برای همین شما میتونید از سایت خود Nmap به نشانی nmap.org تمام اسکریپت ها رو ببینید و مطابق نیازتون آنها را تست کنید.

چگونه به صورت ناشناس از Nmap استفاده کنیم؟

شاید حدس بزنید باید از چی استفاده کنیم! بله درسته از تور.

در مورد اینکه Tor چی هست و چه مکانیزمی داره برای ناشناسی و … اصلاً جاش اینجا نیست صحبت کنیم ولی فقط این را بدانید که تور سرویسی است که با استفاده از مسیریابی پیازی(onion routing) اقدام به ناشناسی در محیط اینترنت می کند.

Onion Routing یا مسیریابی پیازی چیست؟

تکنیکی برای ناشناس ماندن در محیط اینترنت است که از چندین Node که به آنها Onion Proxy می گویند استفاده می کند و پکت های ما را رمزنگاری و سپس منتقل می کند.

بعد نصب تور باید بتوانیم ترافیک پایانه ی خود را از تور عبور دهیم که برای این کار من ترجیح میدم از ProxyChains استفاده کنم که آن هم مشکلات خاص خودش را دارد،برای مثال ترافیک ICMP قابلیت عبور از تونل تور را ندارد و باعث لو رفتن ای پی آدرس اصلی می شود.متد های دیگر هم باید دقیق بررسی شوند.اما در کل بسیار سخت است که بتوانیم اسکن دقیق و مد نظر خود داشته باشیم.

بهترین ایده این است که تمام اسکن های لازم را در یک VPS  انجام دهیم.البته VPS که با تور به آن وصل شده ایم و دستورات را اجرا می کنیم و برای ناشناس ماندن بیشتر می توانیم از دو VPS میانی در طول مسیر استفاده کنیم،هر چند آن هم مشکلات خاص خودش را دارد.

فکر کنم بیشتر مطالب اصلی و بدرد بخور را گفتم فقط یک نکته ی خیلی مهم است دوستان شما بیشتر سویچ های Nmap را می توانید به همراه یکدیگر به کار ببرید و هیچ مشکل خاصی پیش نمی آید و من در اینجا برای آنکه شما سردرگم نشوید فقط از سویچ مورد نظر استفاده کرده ام اما باز هم تأکید میکنم خیلی از مباحث هستند در Nmap که واقعاً خیلی گسترده و زیاد بودند و چه بهتر که با نگاه کردن به این مقاله شما معماری و کار با Nmap را یاد گرفته اید و یاد گرفتن مطالب دیگر کار چندان سختی نخواهد بود.

خوش و خرّم باشید.

سالار بهنیا

www.reversecode.ir

telegram.me/efengton

الهام عابدی 2 دیدگاه

راه اندازی PfSense بر روی ماشین مجازی

از آنجایی که در شبکه‌های کامپیوتری firewall ها یا دیواره های آتش موضوع امنیتی مهمی به حساب می‌آیند لذا بر آن شدم به معرفی و راه اندازی یک نوع فایروال بپردازم که البته متن باز محسوب می‌شود و کدهای آن نیز در Git در دسترس است. در نرم‌افزار PfSense سعی بر این بوده، تمامی ویژگی‌هایی که در فایروال ها موجود است را دارا باشد.

PfSense علاوه بر اینکه یک فایروال است:

  • وایرلس
  • سوئیچ
  • و مسیریاب می باشد.

قابلیت‌های مهمی هم که می‌توان به آن اشاره کرد:

  • پشتیبانی از VPN Server
  • پروتکل های مسیریابی (Routing)
  •  Captive Portal
  •  قابلیت لاگ گیری پیشرفته و …

پس از این معرفی اجمالی با ادامه مطلب برای راه اندازی PfSense همراه ما باشید.

پس از اینکه شما این برنامه را از سایت رسمی آن (https://www.pfsense.org/download) یا هر سایت دیگری دانلود کردید، فایل با فرمت gz. را از حالت فشرده ی آن خارج کرده و به سراغ VirtualBox یا ماشین مجازی تان می روید. این را هم اضافه کنم که برای برخورداری از امکانات بیشتر (چون می‌توان ویژگی‌های دیگری به آن افزود و آن را توسعه داد) می توانید با پرداخت هزینه ای در سایت، از قابلیت های بیشتری استفاده کنید.

 

خب در قسمت New در پنچره ی VB Manager، یک ماشین مجازی جدید با نام PfSense می‌سازیم. در قسمت type باید نوع BSD را انتخاب کنید.FreeBSD هم که نسخه‌ای از BSD می‌باشد را انتخاب می کنیم. که هسته ی این فایروال می باشد.

در مراحل بعدی باید یک Hard disk را به ماشینمان اضافه کنیم. با توجه به فضای سیستم در تخصیص هارد دقت کنید و در اینجا نوع VDI را انتخاب می کنید. چزا که پس از Extract کردن فایلی که دانلود کردید حتماً دیده‌اید که pfSense به صورت ISO موجود است.

 

حال ما یک ماشین به کلکسیون دیگر ماشین‌ها اضافه کردیم!

به قسمت تنظیمات می رویم. در قسمت Network، برای adapter اول Bridged Adapter و برای adapter دوم،Internal Network را انتخاب می کنیم.

 

در قسمت Storage، با انتخاب شاخه Empty، در قسمت Optical Drive فایل PfSense با فرمت ISO را وارد می کنیم.

 

در اینجا برای راه اندازی روی گزینه Start در منوی VB کلیک می‌کنیم و منتظر می‌مانیم 🙂

 

مرحله ی بعد گزینه ی Reboot را انتخاب کنید و منتظر بمانید تا از CD خارج شود و سپس گزینه ی Force Unmount را انتخاب می کنبم. و طبق تصاویر زیر روند راه اندازی را طی می کنیم.

در مرحله آخر، بعد از وارد کردن 2 option، آی پی آدرس ورژن 4 ( ipv4 address LAN) را وارد می کنیم. بعد Subnet آن را وارد می کنیم.

در انتها می‌پرسد که آیا می‌خواهید DHCP Server یا LAN را فعال کنید؟ NO) n)

و به همین صورت راه اندازی می گردد. در شماره ی بعد، مطالب و نکاتی در باب PfSense خواهید آموخت. همراه قبیله باشید :)))

Sirous_fd بدون دیدگاه

چرا و چگونه‌ی انتخاب یک مودم خوب

یکی از رایج‌ترین مسائلی که در اکثر خانواده‌ها پیش می‌آید و گاهی یک انتخاب ساده بسیار پیچیده می‌شود خرید یک مودم اینترنت است. وسیله‌ای که باهدف ارائه‌ی سرویس اینترنت به‌صورت محلی طراحی‌شده و یکی از مهم‌ترین نیاز امروزی انسان‌ها را برطرف می‌کند.

  بیشتر بدانید

badrinex بدون دیدگاه

لیگوویو سری Infinity

از سری دستگاه های پر کاربرد لیگوویو می باشد که برای انجام پروژه های مختلف تحت شبکه طراحی و ساخته شده است.

رادیوهای سری اینفینیتی به indoor و outdoor دسته بندی می شوند. و انتخاب رادیو به نوع پروژه و مسافت مورد نیاز برای فراهم کردن یک شبکه بستگی دارد.

Access Point های سری Infinity به ۶ دسته تقسیم شده اند که در ادامه با هر یک از رادیو ها و کاربرد آن بیشتر آشنا می شوید.

NFT 2ac:

یک Access point جمع و‌جور کوچک با داشتن دو رادیوی درونی که به دو 2x2MIMO 802.11ac مجهز است و می تواند به طور همزمان از دو باند فرکانسی 2.4 و 5GHz استفاده کند. همچنین سرعت انتقال در این Access Point به 1.167Gbps می رسد.

NFT 3ac:

این رادیو مانند رادیوی NFT 2ac دارای دو رادیو می باشد با این تفاوت که مجهز به دو رادیو 3×3 MIMO 802.11ac است. عملکرد بالایی دارد و از دو باند فرکانسی ۲.۴ و ۵ GHz بهرمند هستند. در این رادیو سرعت انتقال داده به 1.750 Gbps می رسد.

NFT 2ac outdoor:

یک رادیویی برای امکان خارج از محیط بسته طراحی شده است. و عملکرد این رادیو همانند رادیوی سری داخلی NFT 2ac می باشد.

NFT 1N:

این Access point به دو رادیو ۲.۴ گیگاهرتزی MIMO مجهز است. دارای خروجی با قدرت ۲۸ dBm است، دارای سه پورت اترنت، دارای دو آنتن Omni-directional داخلی، قابلیت اتصال در نقاط مختلف محیط کار به صورت سقفی، رو میزی و آویزان. استفاده رایگان از WNMS.

NFT 1N AF:

رادیوی فوق از لحاظ ظاهری همانند رادیوی قبلی است اما در این رادیو از PoE با استاندارد 802.3 af استفاده می کند و در دو نسخه با و یا بدون PoE می توان تهیه کرد که پیشنهاد می شود از رادیو با PoE استفاده نمایید.

NFT 1Ni:

یک اکسس پوینت قدرتمند با فرکانس ۲.۴ GHz و استاندارد 802.11N می باشد که می تواند برق و داده را به دستگاه دیگر انتقال دهد، دارای سیستم عاملی با قابلیت انعطاف پذیری است، از محفظه کوچک فلزی ساخته شده است، دو کانکتور برای آنتن خارجی دارد و همچنین دارای دو‌ آنتن خارجی 3dBi می باشد.

Infinity Controller:

نرم افزار infinity controller در زیر مجموعه رادیوهای سری اینفینیتی قرار دارد که برای مدیریت شبکه با رادیو های infinity مورد استفاده قرار می گیرد. این نرم افزار برای تنظیم و مدیریت کردن شبکه های وایرلس با رادیو های لیگوویو بکار می‌رود .

این نرم افزار تمامی ابزارهای ضروری را درون خود جای داده هست و برای استفاده از این قابلیت می توانید از سرویس ابری خود شرکت لیگوویو بهرمند شوید که به صورت رایگان است و یا درون سرور شرکت خود از این نرم افزار برای کنترل دیوایس ها استفاده نمایید. پیشنهاد می شود تا شرکت های متوسط و یا کوچکی که از سری رادیو های اینفینیتی لیگوویو استفاده می کنند برای راحتی مدیریت شبکه بیسیم خود نرم افزار infinity controller را نصب نمایند.