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 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

afshinnova بدون دیدگاه

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

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

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

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

Lynis – Security Auditing and Rootkit Scanner

 یک ابزار رایگان ، متن باز ، قدرتمند و همچنین محبوب که برای سیستم عامل های یونیکس/لینوکس ساخته شده است . این ابزار در پیدا کردن malware  و خطاهای پیکربندی ، چک کردن نصب نرم افزار ها ، چک کردن مجوز فایل و دایرکتوری ها  و از این قبیل کارها به شما در شناسایی کمک میکند برای استفاده از این ابزار مراحل زیر را انجام دهید :

برای فعال سازی Lynis از دستور زیر استفاده کنید :

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

 

Chkrootkit – A Linux Rootkit Scanners

یکی دیگر از ابزار هایی که معرفی میکنیم Chkrootkit نام دارد که همانند سایر  ابزار های امنیتی که معرفی خواهیم کرد در ادامه رایگان  و متن باز است .

rootkit از دو کلمه root , kit ساخته شده است کلمه root در لینوکس به معنی کسی که سطح دسترسی کاملی در سیستم دارد و kit به ابزاری گفته میشود که برای بدست اوردن سطح دسترسی صاحب سیستم سعی دارد عملیاتی انجام دهد که فقط صاحب سیستم قادر به انجام آن است.

وظایف روت کیت ابتدا وارد بصورت پنهانی وارد سیستم قربانی شوند و دوم اینکه خود را مخفی نگه دارند . از این رو Chkrootkit که شامل یک شل اسکریپت است که قسمت های باینری سیستم برای پیدا کردن روت کیت و برنامه هایی که مسائل امنیتی سیستم را بررسی میکنند ، استفاده میشود.

جهت استفاده از این ابزار برای توزیع های بر پایه Debian

برای استفاده در CentOS

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

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

 

ClamAV – Antivirus Software Toolkit

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

برای نصب ClamAV بر روی توزیع های بر پایه دبیان و CentOS از دستورات زیر استفاده کنید

 

همچنین برای بروز رسانی و اسکن کردن سیستم از دستورات زیر استفاده کنید

منظور از DIRECTORY مسیری که شما میخواهید اسکن شود است و همچین زیر دستورات –r  به منظور اسکن دوباره  و –i به منظور نمایش فقط فایل های الوده است.

 

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

Roham 2 دیدگاه

Redis vs. Memcached for caching

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

 

هر دو خیلی پر استفاده و معروف هستند، Memcached توسط Brad Fitzpatrick  در سال ۲۰۰۳ برای سایت LiveJournal نوشته شد. Memcached توسط زبان C نوشته شده (نسخه اصلی آن توسط Perl نوشته شده بود).

و Redis توسط Salvatore Sanfilippo در سال ۲۰۰۹ نوشته شد.

 

با توجه به اینکه بخش هایی از Redis در کارکرد به جواب گویی از درسهایی است که از Memcached آموخته است. اما Redis دارای ویژگی های بیشتری نسبت به Memcached است و بنابراین قوی تر و انعطاف پذیرتر است.

 

بهتر است اینطور بگویم که چه زمانی مناسب است از Redis و چه زمانی از Memcached استفاده کنید

 

چه زمانی از Memcached استفاده کنیم ؟

 

Memcached می تواند برای ذخیره اطلاعات نسبتا کوچک و استاتیک، مانند صفحه هات HTML مناسب باشد.Memcached یک مدیریت حافظه داخلی است و به اندازه Redis پیچیده نیست ، Memcached در موارد استفاده ساده بهترین کارایی را دارد زیرا منابع کمتر حافظه را برای متادیتا مصرف میکند. رشته ها (تنها نوع داده پشتیبانی شده توسط Memcached) ایده آل برای ذخیره سازی داده هایی هستند که فقط خواندنی هستند، زیرا رشته ها نیازی به پردازش بیشتری ندارند درحالی که Redis خیلی بیشتر از این حرفا است .

 

Memcached نسبت به Redis در scaling مزیت بیشتری دارد از آنجا Memcached به صورت multithreaded اجرا میشود شما میتوانید با دادن منابع محاسباتی بیشتر آن را گسترش بدید، البته با این کار در زمان کار ممکنه بخشی از داده های ذخیره شده رو از دست بدین (بسته به این که آيا از هش کردن سازگار استفاده کردین) ولی خوب Redis از انجا که single-threaded اجرا میشود میتواند به صورت افقی از طریق خوشه بندی بدون از دست رفتن داده های گسترش پیدا کند. Clustering یک راه حل موثر برای scaling است.

 

چه زمانی از Redis استفاده کنیم ؟

 

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

 

برتری Redis تقریبا در هر جنبه ای از مدیریت حافظه پنهان مشهود است. حافظه های کش، یک مکانیزم به نام اخراج داده ها (حذف داده ها) دارند تا جای بیشتری برای داده های جدید باز شود. مکانیزم حذف اطلاعات Memcached، از یک الگوریتم به اسم Least Recently  استفاده می کند و به نوعی به طور خودسرانه داده هایی را که با اندازه های جدید مشابه هستند، تخریب می کند.

 

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

 

بهتر است بگویم Redis به شما امکان انعطاف پذیری بیشتری در مورد اشیائی که می توانید ذخیره کنید می دهد.

 

در حالی که Memcached نام های کلید را به 250 بایت محدود می کند و فقط با رشته های ساده کار می کند، Redis اجازه می دهد تا اسامی و مقادیر کلیدی به اندازه 512 مگابایت باشد و آنها می توانند حتی باینری باشند.

 

به علاوه  Redis دارای پنج ساختار داده اولیه برای انتخاب است، درواقع به توسه دهندگان امکانت بیشتری برای کار روی داده ها می دهد.

 

در مقاله بعدی درباره نحوه کار Redis و کانفیگ آن صحیت خواهیم کرد.

الهام عابدی 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 خواهید آموخت. همراه قبیله باشید :)))

afshinnova 2 دیدگاه

Kernel-Panic و چگونگی رفع آن

Kernel-Panic  خطای نام آشنایی که سیستم عامل ها به اسم های مختلف شناخته میشود.

این اصطلاح در سیستم های Unix و MacOS استفاده میشود و معادل آن در سیستم عامل ویندوز Blue Screen Of Death (صفحه مرگ آبی) در Macبه Sad Mac یا بمب شناخته میشود. در صورت وقوع Kernel-Panic یکسری پیام به روی صفحه نمایش ایجاد میشود این اطلاعات به شما در حل مشکل کمک میکند.

Kernel-Panic

Kernel-Pacnic

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

 

اما چگونه رفع کنیم ؟

توزیع لینوکسی که در این مطلب آمده است Arch میباشد.

ابتدا  بر اساس توزیع لینوکسی که نصب دارید بصورت لایو آن را بوت کنید.

سپس به مرحله mount کردن پارتیشن ها میرسیم در این مرحله  با دستور sudo fdisk -l

لیست پارتیشن های خود را مشاهده میکنیم ، پارتیشنی که فایل های سیستمی نصب شده اند را با دستور

  mount /dev/sda1 /mnt

متغییر a1 بنا بر سیستم شما مشخص میشود و به آن دقت کنید .

با دستور

arch-chroot /mnt

ریشه را تغییر میدهیم. دستور chroot برای تغییر مسیر دایرکتوری root (/) بکار میرود

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

برای این کار ابتدا شما  دستور

برای توزیع های arch

cd /var/cache/pacman/pkg

برای توزیع های ubuntu

cd /var/cache/apt/archives

را تایپ کرده و کلید اینتر را بزنید

pacman -U /var/cache/pacman/pkg/linux-4.xx-x.pkg.tar.xz

توصیه میشود از ورژن های پایین استفاده کنید

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

درحالی که بعد از ریستارت صفحه لاگین گرافیکی روبه رو نشدید display manager را Enable کرده  و سپس آن را Start کنید.

لازم است برای اجرا دستورات پایین به حالت TTY با کلید میانبر ctrl+alt+f3 بروید

KDE

sudo systemctl enable sddm.service

systemctl start sddm.service

XFCE

systemctl enable lxdm.service

systemctl start lxdm.service

Gnome

systemctl enable gdm.service

systemctl start gdm.service

کیا حامدی ۱ دیدگاه

دومین قدم در IOT

با سلام خدمت تمامی همراهان همیشگی

مدتی نتونستم مقاله منتشر کنم اما خب فرصتی شد تا دوباره با مقاله ای جدید در زمینه IOT با شما باشم.

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

در مقاله گذشته ما بردهای مختلف برای IOT را از نظر کاربر، هزینه و مشخصات دیگر بررسی کردیم و یک برد باهم انتخاب کردیم که برد انتخابی ما برد رزبری پای ۳ مدل بی (Raspberry pi 3 Model B) بود، این نکته رو هم ذکر کرده بودیم که وجه تمایز بردهای رزبری پای با بردها و میکروکنترلر ها در استفاده از سیستم عامل روی آنهاست پس حال ما باید یک سیستم عامل برای برد رزبری انتخاب و روی آن نصب کنیم.

سیستم عالم های زیادی برای برد رزبری پای وجود دارد مانند ویندوز آی او تی (Windows IOT)، اوبونتو ماته (ubuntu mate)، آرچ لینوکس (ArchLinux) یا رزبیان (Rasbian) و … که بهترین گزینه از دید من انتخاب سیستم عامل رزبیان است که رسما توسط بنیاد رزبری منتشر شده و شامل تمامی کتابخانه ها و موارد لازم برای راه اندازی برد رزبری پای است و شما با این سیستم عامل مشکلی از نظر نرم افزاری نخواهید داشت.

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

برای نصب این سیستم عامل روی برد رزبری پای شما باید ابتدا فایل فشرده (iso) این سیستم عامل را دانلود کنید پس باید وارد سایت رزبری پای بشید و بخش دانلود را انتخاب کنید :

 

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

بعد از دانلود باید با نرم افزارهایی مانند 7zip یا winrar در ویندوز محتویات فایل فشرده را خارج کنید.

در این مرحله شما باید کارت حافظه میکرو اس دی (micorSD) حداقل ۴ گیگ  داشته باشید و محتویات فایل فشرده بالا رو در داخل آن کپی کنید، بعد از اتمام این کار کارت حافظه را به برد رزبری پای متصل کنید

برای روشن  کردن برد رزبری پای شما به ولتاژی برابر با ۵ ولت ۲٫۵ آمپر نیاز دارید تا برد به درستی روشن شود و انرژی مورد نیاز همه پین ها را به درستی تامین و افت ولتاژ نداشته باشد نیاز دارید، میتوانید از آداپتورهایی گوشی موبایل استفاده کنید یا از پاوربانک.

من با تجربه شخصی خودم میگم  یک پاوربانک ۱۰۰۰۰ میتواند حدود ۱۲ ساعت برد را روشن نگه دارد البته بسته به کار پروسه ها و سخت افزار هم دارد و ممکن است برای شما زمانی متفاوتی بدست بیاید.

کابل پاور هم میتوانید به درگاه میکرو یو اس بی برد وصل کنید که محلش در تصویر زیر مشخص شده است:

با اتصال کابل به برد، برد روشن شده و شروع به کار میکند اگر با کابل HDMI برد را به monitor متصل کنید  با تصویر زیر رو به رو میشوید که نشان از اجرای درست و بدون مشکل برد میدهد

 

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

تا گام بعدی موفق و سربلند باشید

 

کیا حامدی

www.kiahamedi.ir

[email protected]

 

afshinnova بدون دیدگاه

سطرح دسترسی در گنو/لینوکس

با سلام خدمت همه ی دوستان عضو قبیله گیگ ها در این سری از مقاله به موضوع سطح دسترسی در گنو/لینوکس میپردازیم.

منظور از سطح دسترسی چیست ؟

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

اما این سطح دسترسی در لینوکس کدام است؟

Read : در این سطح به کاربر اجازه خواندن فایل را می دهد

Write : در این سطح به کاربر اجازه نوشتن و یا ایجاد فایل را می دهد

EXecute : در این سطح به کاربر اجازه اجرای فایل ها را می دهد

بطور کلی این سه سطح به اختصار با حروف r w x  و با  اعداد

4 < r

2 < w

1 < x

نمایش داده میشود.

در گنو/لینوکس سه کلاس بسیار مهم به نام های owner – group – other وجود دارد که برای هرکدام میتوانیم دسترسی هایی مشخص کنیم

ترمینال توزیع خودتان را باز کنید با تایپ دستور ls -l  سطح های دسترسی فایل های خود را مشاهده کنید

اولین حرف در خروجی اگر d  باشد نشان دهنده این است که این یک دایرکتوری است مابقی قسمت ها همانطور که گفته شد با توجه به سه کلاسی که داریم به سه قسمت سه تایی تقسیم میشود که نهایتا دسترسی ها به 3 عدد نمایش داده میشود این 3 عدد از اعداد 1 2 4 که بالا اشاره شد بدست می آید برای مثال در تصویر بالا فایل bads.txt در کلاس owner دسترسی های rw  داده شده است یعنی قادر خواهد بود فایل مورد نظر را بخواند و هم بنویسد که جمع اعداد 2+4 عدد 6 بدست می آید  و با تکرار این کار میفهمیم که این فایلهستش 644 میباشد.

​حال چگونه میتوانیم دسترسی تعیین کنیم ؟[sudo] password for kernel-panic:

برای تغییر دادن سطوح دسترbads.txtسی در لینوکس از دستوری به نام chmod استفاده می کنیم که مخفف change mode است.

در این مثال فایلی به اسم bads.txt با سطح دسترسی 644 به سطح دسترسی 775 تغییر دادیم.

[[email protected] ~]$ sudo chmod -R -v 775 bads.txt

mode of ‘bads.txt’ changed from 0644 (rw-r–r–) to 0775 (rwxrwxr-x)