نوشته شده توسط : محمد نصیری
![]() چگونه مشکل Gradle در اندروید استودیو را حل کنیم؟ دوستانی که می خواهند برنامه نویسی اندروید را با استفاده از اندروید استودیو شروع کنند ممکن است در ابتدای کار به یک مشکل برخورد کنند. یعنی هنگامی که شما برای بار اول یک پروژه در اندروید استودیو می سازید ممکن است که پروژه شما BUILD نشود. حالا دلیل آن چیست؟ پیام می دهد که gradle نتوانست فلان پکیج را بگیرد و build کند. حالا برای این چه کاری باید انجام داد؟ در این مطلب این مشکل را توضیح می دهیم. این مشکل از آنجایی مهم است که شما ویدیو های آموزشی زبان خارجی را هم اگر ببینید این مشکل در آنها وجود ندارد و فقط این مشکل برای ما به وجود می آید. عکس زیر یک پیام از همین نوع خطاها به ما نشان داده می شود. تعریف gradleبرای توضیح این مشکل اول باید ببینیم که gradle که این همه با آن در اندروید استودیو درگیر هستیم چیه. Gradle یک سیستم build manager و یک dependency manger می باشد. حالا اینا که گفتم یعنی چی. ببینید در زبان های جدید مثل جاوا و سی شارپ ما در پروژه های خودمون از پکیج ها و کتابخانه های مختلفی استفاده می کنیم.اگر ما خودمون فایل های jar برای جاوا و یا فایل های dll برای سی شارپ را دانلود کنیم و به برنامه اضافه کنیم به مشکلات زیادی برخورد می کنیم. چرا که مکان فیزیکی فایل ها را برای ادرس دهی مد نظر قرار می دهیم و اگر پروژه را جابه جا کنیم و یا فایل کتابخانه مورد نظر را جابه جا کنیم برنامه خطا میدهد و کلی دردسر برای شما پیش خواهد آمد. برای حل این مشکل در زبان های مختلف و تکنولوژی های مختلف سیستم هایی قرار داده شده است که برنامه وابستگی های خود را از آنها تامین می کند و کتابخانه هایی را که می خواهیم اضافه کنیم را مدیریت می کند. حالا اگر بخواهیم کتابخانه را آپدیت کنیم از این سیستم استفاده می کنیم. اگر بخواهیم کتابخانه دیگری اضافه کنیم از این سیستم استفاده می کنیم. اگر بخواهیم برنامه را به جای دیگری ببریم می توانیم کتابخانه ها را با استفاده از این سیستم دانلود کنیم.به این نوع سیستم ها build manager یا dependency manager گفته می شود. از سیستم های مدیریت وابستگی می توان nugget را در تکنولوزی دات نت نام برد. در زبان جاوا می توان سیستم های maven , gradle را نام برد. اندروید استودیو برای مدیریت وابستگی ها از gradle استفاده می کند. حل مشکل خطای gradleبرای حل خطای این مشکل که گفتیم باید سیستم gradle بتواند کتابخانه های خود را از اینترنت دانلود کند. اکثر کتابخانه هایی که در اندروید استفاده می شود در سایت گوگل وجود دارد. دسترسی به قسمت اندروید سایت گوگل برای کاربران ایرانی مسدود می باشد و کاربران ایرانی نمی توانند از این سایت کتابخانه ای دانلود کنند. الان متوجه می شویم که دلیل این که در فیلم های آموزشی خارجی این مشکل وجود ندارد چیست. برای این که این مشکل حل شود باید کتابخانه مورد نظر دانلود شود تا برنامه gradle اجازه دهد پروژه build شود. برای این که این فرایند به خوبی طی شود شما باید با IP غیر ایرانی به اینترنت متصل شوید تا گوگل با سیستم شما مشکلی نداشته باشد و اجازه دانلود کتابخانه مورد نظر را به شما بدهد. مطالعه بیشتر 5 دلیل کمبود حافظه در اندروید و نحوه مدیریت آن بعد از این که پروژه شما برای اولین بار build شد دیگر نیازی نیست که با IP کشور دیگری به اینترنت متصل شوید و یا حتی به اینترنت متصل شوید. ولی برای اولین بار باید این راه را بروید. اگر شما بخواهید یک کتابخانه جدید را به پروژه خودتان اضافه کنید باید این راه را دوباره بروید. یعنی با IP یک کشور دیگر به اینترنت متصل شوید و بعد از این که یک بار پروژه شما بیلد شد دیگر راحت باشید. امیدوارم روزی برسد که ما نیز با خیال راحت به سرویس هایی که برای سایر مردم دنیا رایگان و باز است دسترسی داشته باشیم. برای یادگیری بیشتر و بهتر و تخصصی مفاهیم به دوره های آموزشی برنامه نویسی و برنامه نویسی اندروید مراجعه کنید.
:: برچسبها: آموزش اندروید , آموزش Android , دوره اندروید , دوره آموزشی اندروید , :: بازدید از این مطلب : 349 نوشته شده توسط : محمد نصیری
![]() فرگمنت امکان بسیار جالبی برای استفاده ازکد و رابط کاربری به صورت چندباره در اندروید است. فرایند افزودن و یا حذف کردن یک فرگمنت از یک activity در قالب یک تراکنش انجام میشود که درانتهای تراکنش باید تراکنش را commit کنیم. در اندروید ۷ به بعد متدهای مختلفی برای commit کردن معرفی شده است که در این مطلب هر کدام را توضیح میدهیم و تفاوت آن را با دیگری بررسی می کنیم.در آموزش برنامهنویسی اندروید، برای مدیریت تغییرات در Fragment ها از انواع مختلف commit استفاده میشود. سرفصل های این مطلب
1- Commitاین متد همان متد قبلی است که بعد از انجام عملیات بر روی یک یا چند فرگمنت برای تأیید تراکنش آن را فراخوانی می کردیم. 2- CommitAllowingStateLossاین متد همان کار متد commit را انجام میدهد با این تفاوت که زمان در فراخوانی این متد مؤثر است. اگر شما با فرگمنت ها سروکار دارید ممکن است که بعضی اوقات به خطای زیر برخورد کرده باشید.
این اتفاق زمانی میافتد که شما دستور commit را بعد از ذخیره کردن state مربوط به فرگمنت صدا کرده باشید. این خطا اعلام میکند که چون state مربوط به فرگمنت ذخیره شده است عمل commit امکانپذیر نیست. حال برای حل این مشکل میتوانید از متدCommitAllowingStateLoss استفاده کنید. البته این کار ممکن است مشکلاتی را به دنبال داشته باشد. فرایند commit کردن به این شکل است که وقتی که شما متد commit را فراخوانی میکنید FragmentManager بررسی میکند که آیا state ذخیره شده است یا خیر. اگر ذخیره شده بود خطا میدهد. حال اگر متد CommitAllowingStateLoss صدا بزنیم دیگر بررسی ذخیره شدن state انجام نمیشود. یک مثال برای درک مطلب
در این حالت ممکن است که دو حالت پیش بیاید.
پس دیدیم که تفاوت این دو متد در زمان فراخوانی است. اگر فراخوانی متد commit بعد از فراخوانی onSaveInstanceState مربوط به اکتیویتی باشد خطا میدهد. ولی در همین حالت به جای فراخوانی commit متد CommitAllowingStateLoss را صدا بزنیم خطا نمیدهد ولی ممکن است که تغییرات مورد نظر اتفاق نیفتاده باشد. همچنین اگر شما در گوشی خود در بخش تنظیمات گزینه Dont Keep Activities را( که در بخش developer options است و به صورت پیشفرض غیر فعال است) فعال کرده باشید حالت اول پیش میآید. دقت داشته باشید که استفاده از هر دو متد با توجه به محل استفاده ممکن است مفید باشد ولی باید دقت کنیم که به صورت نادرست استفاده نکنیم. 3- CommitNowشما وقتی که تغییرات یک فرگمنت را commit میکنید در همان لحظه و به سرعت ممکن است تغییرات شما انجام نشود. این مسأله به thread اصلی برنامه مربوط میشود. وقتی عمل commit انجام میشود. دستورات لازم برای thread اصلی برنامه در قالب یک صف اجرا ارسال میشود. حال هر بار thread اصلی هر وقت که بیکار شد دستورات را از صف برداشته و اجرا میکند. حال اگر به جای commit از commitNow استفاده شود عمل کامیت کردن فرگمنت بلافاصله و به صورت realtime انجام میشود. مشکلی که متد commitNow دارد این است که نمیتوان با آن از backstack استفاده کرد. دلیل آن هم این است که کامیت هایی که در صف اجرا هستند ممکن است هنوز در پشته backstack درج نشده باشند و در صورت اجرای commitNow و اعمال آن بر روی پشته یک ناسازگاری در ترتیب درج در پشته صورت بگیرد. به همین خاطر نباید از backstack با این متد استفاده نمود. برای اینکه یک یا چند کامیت را در یک زمان مشخص به برنامه اعمال کنیم میتوانیم از متد executePendingTransactions استفاده کنیم این باعث میشود که برنامه همه کامیت هایی را که در صف هستند را اجرا کند. در این صورت میتوان بدون مشکل از پشته backstack نیز استفاده کرد. مطالعه بیشتر نسخه های مختلف اندروید و برنامه نویسی برای نسخه های مختلف با وب سایت tosinso همراه باشید. :: برچسبها: آموزش اندروید , آموزش Android , دوره اندروید , دوره آموزشی اندروید , :: بازدید از این مطلب : 334 نوشته شده توسط : محمد نصیری
![]() امروزه کمتر کسی وجود دارد که اسم اندروید را نشنیده باشد و از آن بیخبر باشد. همچنین برای کسانی که میخواهند برنامه نویسی یاد بگیرند یک گزینه به نام برنامه نویسی اندروید وجود دارد که در این نوشته میخواهیم این مفاهیم را بررسی کنیم که اولاً اندروید چیست؟ برنامه نویسی اندروید چیست؟ چرا برنامه نویسی اندروید لازم است؟ اندروید روی چه دستگاههایی وجود دارد؟ برای برنامه نویسی اندروید چه ابزارهایی نیاز است؟ پیش نیاز های برنامه نویسی اندروید چیست؟ مزایا و معایب برنامه نویسی اندروید چیست؟ بازار کار برنامه نویسی اندروید چگونه است؟ و بسیاری از سؤالات اینچنینی را در ادامه پاسخ خواهیم داد.
اندروید چیست؟اولین سؤال که پیش میآید این اندروید چیست که همه جا از آن صحبت می کنند؟ در پاسخ باید گفت که اندروید (Android) یک سیستم عامل است که بر روی دستگاههای مختلف مانند نصب میشود و آن دستگاه را مدیریت میکند. کلمه اندروید به معنی ربات انسان نما است. توسعهدهنده این سیستم عامل شرکت گوگل است که آن را به صورت متن باز (open source) ارائه کرده است. متن باز بودن به این معنی است که سورس کد این سیستم عامل در اختیار عموم قرار گرفته است و این باعث میشود که برای استفاده از نیاز به هزینه خرید لایسنس نیست و هر کسی میتواند آزادانه از آن استفاده کند. همچنین متن باز بودن باعث میشود که توسعه دهندگان و برنامه نویسان از کل دنیا این سیستم عامل را بررسی کنند و در صورت وجود مشکل و یا باگ آن را برطرف کنند و آن را ارتقا بدهند. سیستم عامل چیست؟سیستم عامل یک نرمافزار است که بر روی دستگاه نصب میشود و وظیفه آن مدیریت سختافزار های دستگاه و همچنین مدیریت برنامههای نصب شده است. سیستم عامل به عنوان روح دستگاه است که اگر نباشد دستگاه قابل استفاده نخواهد بود. اگر بخواهیم مثال بزنیم سیستم عامل ویندوز یک سیستم عامل است. اگر بر روی کامپیوتر شما ویندوز نصب نشده باشد عملاً کامپیوتر شما به هیچ دردی نمیخورد و تنها راه استفاده از ویژگیهای سخت افزاری یک سیستم کامپیوتری این است که بر روی آن سیستم عاملی مانند ویندوز یا اندروید یا لینوکس یا هر سیستم عامل دیگری نصب باشد. سیستم عامل اندروید چیست؟امروزه دو سیستم عامل اصلی برای گوشی ها و تبلت های هوشمند سیستم عامل های اندروید از شرکت گوگل و سیستم عامل iOS از شرکت اپل هستند. البته سیستم عامل های دیگری هم برای دستگاههای هوشمند وجود دارند مانند ویندوز ولی کمتر مورد استفاده هستند. سیستم عامل اندروید بیش از 15 سال است که به عنوان یکی از اصلیترین سیستم عامل های دستگاههای هوشمند وجود دارد. امکانات اندروید چیست؟سیستم عامل اندروید دنیایی از امکانات دارد که برای کاربران امروزه بسیار جذاب است که چند تا از مهمترین آنها به شرح زیر است:
چرا اندروید در این حد محبوب است؟سیستم عامل اندروید به خاطر داشتن ویژگیهای فوقالعاده جذاب برای کاربران محبوب شده است که این ویژگیها را در ادامه آورده ایم:
تاریخچه اندروید چیست؟در سال 2005 گوگل شرکت کوچکی به نام اندروید را خریداری کرد. این شرکت توسط شخصی به نام اندی رابین Andrew E. Rubin تاسیس شده بود و هدف آن ساخت و توسعه برنامههای موبایلی بود. گوگل اندروید را در سال 2007 به صورت رسمی معرفی کرد اما در سال 2008 گوگل اولین نسخه سیستم عامل اندروید را ارائه کرد. اولین گوشی همراهی که از این نسخه سیستم عامل استفاده میکرد HTC Dream بود. این نسخه از اندروید بسیار ساده بود بسیاری از امکانات که گوشی های امروزی دارند را نداشت. مطالعه بیشتر نسخه های مختلف اندروید و برنامه نویسی برای نسخه های مختلف برنامه نویسی اندروید چیست؟تا اینجا با سیستم عامل اندروید آشنا شدیم و از قابلیتهای آن و استفاده های آن آشنا شدیم. حال میخواهیم در بخش ببینیم که برنامه نویسی اندروید چیست؟ منظور از برنامه نویسی اندروید طراحی و تولید برنامهها و اپلیکیشن ها برای اجرا شدن روی این سیستم عامل اندروید است. برای این کار باید از یک زبان برنامه نویسی مانند جاوا یا کاتلین و یا …. استفاده کنیم و کدهای مربوط به برنامه را بنویسیم و منطق برنامه را پیادهسازی کنیم. برنامه نویسی اندروید میتواند به صورت انفرادی و یا تیمی انجام شود. به خاطر اینکه برنامه نویسی اندروید یک فرایند مهندسی نرمافزار است پس باید در طی برنامه نویسی از اصول مهندسی نرمافزار استفاده شود تا فرایند برنامه نویسی به صورت اصولی و سریع انجام شود. مطالعه بیشتر آموزش جابه جایی بین برنامه ها در اندروید کار با نقشه ها در اندروید کار با فرگمنت ها در اندروید ارسال پیامک با اندروید چرا برای اندروید برنامه می نویسیم؟اگر به اطراف خود نگاه کنید میبینید که افراد بسیاری از کارهای خود را از مسیریابی تا کارهای بانکی و سرگرمی و ارتباطات و خیلی از کسب و کارها را با استفاده از تلفنهای همراه یا یا سایر دستگاههای هوشمند مانند تبلت ها انجام میدهند. خب اندروید هم بخش بزرگی از بازار سیستم عامل های موبایل ها و دستگاههای هوشمند را گرفته است. به همین خاطر میتوان با برنامه نویسی برای موبایل ها هم ایدههای بسیاری را پیادهسازی کرد و هم با استفاده از این پیادهسازی ها به درآمد های قابل توجه رسید. چرا باید برنامه نویسی اندروید را یادگرفت؟طبق آمارهای مختلف برنامه نویسی اندروید جزء رده های بالای لیست شغلهای مرتبط با برنامه نویسی است. به همین خاطر فرصت های شغلی برای آن بسیار زیاد است . همچنین راههای درآمدی متنوعی برای برنامه نویسی اندروید وجود دارد. از طرفی ساختار برنامههای اندرویدی قابل فهم است و منابع زیادی هم برای یادگیری وجود دارد. همچنین شما با استفاده از زبانهای برنامه نویسی مختلفی میتوانید برای اندروید برنامه تولید کنید. همین مباحث باعث میشود که برنامه نویسی اندروید یکی از انتخاب های بسیار جذاب برای کسانی باشد که میخواهند برنامه نویسی را شروع کنند. مشاغل چگونه از برنامه نویسی اندروید سود می برند؟معمولاً هر شرکتی برای حل یک یا چند مشکل از مشتریان و افزایش اعتبار برند خود فعالیت می کند. شرکت ها با تولید برنامههای موبایل به صورت سفارشی میتوانند از برنامه نویسی اندروید به عنوان یک ابزار برای رسیدن به هدف خود استفاده کنند. اما برنامه نویسی اندروید چه ویژگیهایی دارد که میتواند به شرکت ها برای رسیدن به اهداف خود کمک کند؟ در اینجا به چند مورد اشاره می کنیم.
با اندروید برای چه دستگاههایی میتوان برنامه نوشت؟همانطور که قبلاً هم اشاره شد اندروید یک سیستم عامل متن باز است که قابلیت اجرا در بسیاری از دستگاهها را دارد. پردازنده ها و سیستمهایی که میتوانند اندروید را اجرا کنند بسیار زیاد هستند و نسبت به سایر سیستمهای کامپیوتری ارزانتر هستند. همین امر باعث شده است که اندروید به دستگاههای متنوعی راه پیدا کند و ماشینهای مختلفی اندروید را به عنوان سیستم عامل اصلی خود انتخاب کنند. به طور کلی امروزه اندروید در دستگاههایی مانند دستگاههای زیر استفاده می شود: برنامه نویسی اندروید صنعتی چیست؟از سیستم عامل اندروید در صنایع مختلفی استفاده میشود که ما به آنها به عنوان برنامه نویسی اندروید صنعتی اشاره کرده ایم. تاکنون به صورت ضمنی به بعضی از آنها اشاره کردهایم اما در این بخش به صورت خاص استفاده از این سیستم عامل را در صنایع مختلف بررسی می کنیم. چالش های برنامه نویسی اندروید چیست؟با اینکه سیستم عامل اندروید قابلیتهای بسیاری دارد و برنامه نویسی اندروید جذابیت های زیادی برای ما به ارمغان آورده است ولی هنوز چالش هایی در برنامه نویسی اندروید وجود دارند که برنامه نویسان باید با آنها روبرو شوند و با توجه به هدف خود به آنها رسیدگی کنند. این چالش ها عبارتند از: روشهای کسب درآمد از برنامه نویسی اندروید چیست؟
برنامه نویسی اندروید هم یک شغل است و نتیجه آن کسب درآمد است. حال برای کسب درآمد از اندروید روشهای مختلفی وجود دارد که با توجه به وضعیت و سطح دانش خود میتوانید یکی از این راهها را انتخاب کنید. طبیعی است که هرکدام از این روشها مزایا و معایب و چالش های خود را دارند. سفارش طراحی اپ (فریلنسری)افراد و شرکت های متعددی وجود دارند که یک ایده دارند و میخواهند برنامه اندرویدی آن ایده را داشته باشند ولی خودشان دانش برنامه نویسی برای تولید برنامه مورد نظر را ندارند. همچنین در بسیاری از موارد وب سایتی برای هدف خاصی وجود دارد ولی به دلایل مختلف صاحبان آن سایت نیاز دارند که برای خود برنامه اندرویدی داشته باشند و خودشان نیروی لازم برای تولید برنامه اندرویدی مورد نظر را ندارند. در چنین مورد هایی وظیفه تولید برنامه اندرویدی به برنامه نویسان اندرویدی داده خواهد شد که شما میتوانید به عنوان برنامه نویسان اندروید این پروژه ها را گرفته و آنها را توسعه دهید. پیادهسازی یک ایده نرم افزاریممکن است که خود شما یا اطرافیان شما یک ایده برای برنامه اندرویدی داشته باشند و شما آن را مناسب پیادهسازی ببینید و به این نتیجه برسید که بازار و کاربران به ایده شما نیاز دارند و این ایده میتواند برای آنها سودمند باشد بنابراین آن ایده را پیادهسازی میکنید و به بازار عرضه می کنید. تبلیغات درون برنامهایبرنامهها و بازیهای مختلفی وجود دارند که به نوعی سودمند و سرگرم کننده هستند. این برنامه ها از شما پولی برای تولید برنامه نمیگیرند اما داخل برنامه تبلیغات از برنامهها و محصولات مختلف برای شما نشان داده شود. توسعه دهندگان این نوع برنامهها درآمد خود را از طریق نمایش تبلیغ به دست می آورند. صاحبان این برنامهها از کاربران پولی نمیگیرند ولی از شرکت ها و سایتهایی که برای آنها تبلیغات انجام میدهند هزینه دریافت می کنند. پرداخت درون برنامهایاگر فروشگاه ها را بررسی کرده باشید برخی برنامههای سودمند و بازیها وجود دارند که دارای دو بخش هستند. بخش رایگان و بخش Premium (اشتراک ویژه). این برنامهها یک سری امکانات و خدمات را در بخش رایگان در اختیار کاربران قرار میدهند ولی برای اینکه کاربران بتوانند به یک سری دیگر از امکانات و خدمات دسترسی داشته باشند نیاز است که اشتراک آن برنامه را خریداری کنند. این هم یک روش برای کسب درآمد از برنامه نویسی اندروید است. البته باید دقت داشته باشید که اولاً برنامه شما جذابیت کافی را داشته باشد تا کاربر راغب باشد آن را دانلود و نصب کند و همچنین بخش اشتراک ویژه شما هم باید جذابیت داشته باشد تا کاربر مایل باشد برای آن پول پرداخت کند. البته این روش ایرادی که دارد این است که درصدی از هزینه اشتراک را باید به فروشگاهی که برنامه شما بر روی آن قرار دارد بدهید. کارمندیاگر پیدا کردن پروژه و ایده پردازی برای شما دشوار است. شرکت ها و تیم های برنامه نویسی زیادی در حال کار کردن بر روی پروژه های اندرویدی هستند میتوانید دانش برنامه نویسی خود را قوی کنید سپس به دنبال آگهی استخدام این شرکت ها بگردید و در مصاحبه کاری آنها شرکت کنید و در آنها استخدام شوید. در این صورت در تیم برنامه نویسی کار خواهید کرد و وظایف مشخص خواهید داشت و سرماه حقوق خواهید گرفت. برنامههای رایگان اندروید چگونه درآمد دارند؟همانطور که گفتیم یکی از راههای کسب در آمد از برنامهای که به صورت رایگان در اختیار عموم قرار دادهاید تبلیغات درون برنامهای است ولی این تنها راه نیست راههای دیگری نیز وجود دارند که از جمله آنها حمایت مالی از سوی شرکت ها و برخی ارگان های فرهنگی است (برای مثال شما برنامهای برای مساجد می نویسید و از سمت اداره اوقاف حمایت مالی می شوید.) سودآور ترین برنامههای اندرویدی کدامند؟اگر به دید کسب درآمد به برنامههای اندرویدی نگاه کنیم همه آنها یکسان نیستند. اما تجربه و آمارها نشان داده است که برخی از این برنامهها سود بیشتری عاید تولید کنندگان می کنند. از جمله این برنامهها میتوان به بازیها و سپس برنامههای تجارت الکترونیک (مانند برنامههای فروش محصول و خدمات) و همچنین برنامههایی که به مدیریت روزانه و برنامههای کاربران کمک می کنند اشاره کرد. دقت داشته باشید که هرچه این برنامهها سودمند تر باشند و استفاده از آنها راحتتر باشد و امکانات بیشتری داشته باشند موفق تر خواهند بود. مزایای برنامه نویسی اندروید چیست؟تاکنون در مباحث مختلفی به مزایای برنامه نویسی اندروید اشاره کردیم ولی به صورت موردی میتوان به موارد زیر برای مزایای برنامه نویسی اندروید اشاره کرد.
آیا شروع برنامه نویسی اندروید سخت است؟این سؤالی است که برای برخی که میخواهند برنامه نویسی اندروید را شروع کنند پیش می آید. بدون مقدمه چینی به شما میگویم که برنامه نویسی اندروید سخت نیست ولی نیازمند صرف زمان برای یادگیری و تمرین هستید. برخی کارها با تمرین کمی انجام میشوند ولی یادگیری برخی دیگر نیازمند تمرین بیشتر و پشتکار است. کلاً برنامه نویسی به این شکل است که شما باید منطقی رفتار کنید و از قوانین و قواعد برنامه نویسی پیروی کنید. در برنامه نویسی شما با خطاها و باگ های بسیاری روبرو میشوید و باید این پشتکار را داشته باشید تا با تحقیق و مطالعه آنها را یکی یکی برطرف کنید و در آن زمینه قدرتمند شوید. ابزارهای تولید برنامه اندروید چیست؟برای اینکه برنامه نویسی اندروید را شروع کنیم مانند هر کار دیگری نیازمند یک سری ابزار ها هستیم. برای یادگیری برنامه نویسی اندروید هم به ابزارهای زیر نیاز داریم. ۱. کامپیوترداشتن کامپیوتر برای نوشتن برنامه یک چیز بدیهی هست. برای برنامه نویسی اندروید شما به یک کامپیوتر مدرن با پردازنده و حافظه تقریباً قوی نیاز دارید تا بتوانید محیط توسعه اندروید (IDE) را به همراه شبیه ساز اندروید در آن اجرا کنید. که هر دوی این ابزارها نیازمند قدرت پردازشی هستند همچنین فرایند کامپایل و اجرای برنامه هم نیازمند قدرت پردازشی است که اگر سیستم کامپیوتری قدرت لازم را نداشته باشد این فرایند زمان بر خواهد شد. ۲. منبع آموزشییادگیری برنامه نویسی اندروید را باید از یک منبع شروع کنیم. قبلاً انواع منابع آموزشی را نام برده ایم و گفتیم که برای شروع بهتر است که از دوره های آموزشی استفاده شود. زیرا که تماشای ویدیوهای آموزشی برای افرادی که تازه شروع کردهاند راحتتر است. یکی از بهترین دوره های آموزشی برای یادگیری اندروید در این لینک در وب سایت tosinso موجود است. همچنین شما در طی روند یادگیری نیاز است که به مستندات رسمی اندروید در سایت گوگل هم مراجعه کنید. ۳. محیط توسعه اندرویدبرای نوشتن برنامهها و مدیریت فایلها و رفع خطاها و به صورت کلی هر کاری در رابطه با برنامه نویسی اندروید نیاز به محیطی دارید که این قابلیتها را داشته باشد. اگر چنین محیطی وجود نداشته باشد برنامه نویسی اندروید بسیار سخت و طاقت فرسا خواهد شد و وقت برنامه نویس برای مدیریت فایلها و بیلد کردن پروژه و خطایابی هدر خواهد رفت. محیط توسعه یا محیط برنامه نویسی یا محیط یکپارچه برنامه نویسی (IDE) محیطی است که همه امکانات برنامه نویسی در آن وجود دارد و کدهای شما را به خوبی مدیریت می کند. در حال حاضر محیط های توسعه مختلفی برای اندروید وجود دارد ولی یکی از محبوبترین محیط های توسعه اندروید که خود گوگل هم به صورت رسمی آن را ارائه کرده و توصیه میکند محیط Android studio است. این برنامه را میتوانید از سایت رسمی اندروید دانلود کنید و به رایگان استفاده نمایید. البته محیط های دیگری هم مانند eclipse هستند که میتوانید استفاده کنید. برای مطالعه بیشتر می توانید از لینک های زیر استفاده کنید: افزایش سرعت اندروید استودیو و رفع خطاهای اندروید استودیو و رفع خطای gradle در اندروید استودیو ساخت فایل نصبی با اندروید استودیو 4. Android SDKبرای برنامه نویسی اندروید نیاز است که به کتابخانهها و ابزارهایی که برای برنامه نویسی اندروید استفاده میشود دسترسی داشته باشیم. گوگل این کتابخانهها و ابزارها را در یک بسته به نام کیت توسعه نرمافزار برای اندروید یا همان Android SDK ارائه کرده است که میتوانید نسخه های مختلف آن را از سایت رسمی اندروید دانلود کرده استفاده کنید. ۵. شبیه ساز اندروید
اگر برنامهای برای اندروید نوشته باشید باید بتوانید آن را اجرا کنید و خطاهای احتمالی را بررسی کنید و نتیجه کار را قبل از اینکه برنامه را در اختیار مشتری قرار بدهید را ببینید و بررسی کنید. برای این کار میتوانید از دستگاههای فیزیکی اندروید مثل گوشی موبایل خودتان استفاده کنید. اما یک راه بهتر هم هست و آن استفاده از شبیه ساز اندروید است. شبیه ساز اندروید برنامهای است که در روی کامپیوتر اجرا شده و به عنوان یک دستگاه اندروید مجازی کار می کند. حال میتوانید برنامههای نوشته شده را بر روی آن دستگاه مجازی تست کنید و اجرا کنید و خروجی کار را ببینید. انواع مختلفی از شبیه ساز های اندرویدی وجود دارند که ممکن است هرکدام نسخه خاصی از اندروید را اجرا کنند. برای مطالعه بیشتر 17 شبیه ساز برای اندروید را مطالعه کنید 6.زبان برنامه نویسیزبانهای برنامه نویسی همان زبانی هستند که دستورات برنامه با آن زبان برای کامپیوتر نوشته می شود. با زبانهای برنامه نویسی مختلفی میتوان برای اندروید برنامه نوشت ولی به صورت رسمی گوگل زبان جاوا و زبان کاتلین را برای برنامه نویسی اندروید توصیه می کند. برای یادگیری برنامه نویسی اندروید از کجا شروع کنم؟برای یادگیری برنامه نویسی اندروید در قدم اول شما باید برنامه نویسی را یاد بگیرید و با مفاهیم آن آشنا شوید. سپس باید یک زبان برنامه نویسی را بیاموزید که پیشنهاد خود گوگل زبانهای جاوا و کتلین می باشد. بعد از آن میتوانید به سراغ منابع مختلف برای یادگیری اندروید بروید و شروع به یادگیری کنید. البته به شما توصیه میکنم که سعی کنید یک منبع مناسب انتخاب کنید و بعد از انتخاب کردن فقط طبق آن منبع پیش بروید و منبع یادگیری را تغییر ندهید تا نتیجه بگیرید. مطالعه بیشتر نکاتی برای برنامه نویسی اندروید در لینوکس بهترین منبع یادگیری برنامه نویسی اندروید چیست؟هرکسی که امروزه در شغل برنامه نویسی مشغول است ممکن است به روش متفاوتی برنامه نویسی را آموخته باشد و این با توجه به وضعیت و موقعیت افراد طبیعی است. روشهایی مانند خواندن کتابهای آموزشی یا شرکت در کلاسهای حضوری یا استفاده از فیلمهای مختلف مربوط به برنامه نویسی اندروید که در یوتوب وجود دارند و یا خواندن مستندات و نمونههای موجود در سایت اندروید و یا استفاده از دوره های آموزشی آنلاین وجود دارند که هرکس با توجه به نیازش از آنها استفاده می کند. ولی با توجه به آمارهای مختلف برای یادگیری برنامه نویسی اندروید استفاده از دوره های آموزشی و فیلمهای آموزشی و تمرین و تکرار آنها برای شروع نسبت به بقیه روشها طرفدار بیشتری دارد و نتیجه بهتری را می دهد. شما میتوانید بعد از اینکه برنامه نویسی اندروید را با استفاده از دوره های آموزشی فرا گرفتید برای یادگیری عمیقتر و ریز تر از مستندات اندروید هم استفاده کنید و یا برای یادگیری موردی از ویدیوهای یوتیوب استفاده کنید. یکی از منابع بسیار خوبی که برای یادگیری اندروید موجود است دوره آموزش برنامه نویسی اندروید است که قدم به قدم برنامه نویسی را به شما آموزش می دهد و شما را در این راه یاری می کند. چه زبانهای برنامه نویسی برای اندروید مناسب هستند؟اینکه با چه زبانی میخواهید برای اندروید برنامه نویسی کنید گزینه های زیادی هستند که میتوانید از داخل آنها گزینه درست را انتخاب کنید و بر روی آن کار کنید. در این بخش هر کدام از زبانهای محبوب اندروید را توضیح میدهیم تا انتخاب شما سادهتر شود. البته فقط این زبان ها نیستند و زبان های دیگری هم وجود دارند که با کمک آنها امکان برنامه نویسی برای اندروید وجود دارد. هنگامی که صحبت از برنامه نویسی اندروید میشود اولین زبان و یکی از محبوبترین زبانهای برنامه نویسی جاوا است. جاوا زبان رسمی اندروید است یعنی گوگل از آن پشتیبانی میکند و اکثر برنامههای اندرویدی با این زبان نوشته شده اند. همچنین مثالهایی که گوگل در نمونه کدهای خود آورده است نیز با این زبان زده شده اند. Kotlinحدود چند سالی است که گوگل یک زبان رسمی دیگر را برای اندروید معرفی کرده است و آن کاتلین است. این زبان بسیاری از پیچیدگی های زبان جاوا را ندارد و شاید بتوان گفت که برای یادگیری سادهتر است. پس اگر مبتدی هستید میتوانید از این زبان برای شروع استفاده کنید. برای مطالعه بیشتر 5 ویژگی جالب کاتلین برای برنامه نویسی اندروید را مطالعه کنید C++/Cاگر قصد تولید بازیهای سه بعدی دارید که میخواهید پردازش ها و مدیریت حافظه و … را در سطح پایینتر مدیریت کنید میتوانید از این زبانها استفاده کنید. این زبانها از سرعت و کارایی بالایی برخوردارند. البته استفاده از این زبانها در برنامه نویسی نیاز به دانش بالاتر برنامه نویسی دارد. اگر قصد استفاده از این زبانها را در برنامه نویسی اندروید دارید حتماً مستندات را مطالعه کنید تا مشکلی در دستگاههای مختلف برای برنامه شما پیش نیاید. سی شارپ (#C)این زبان محبوبترین زبان شرکت مایکروسافت است که به همراه پلتفرم دات نت ارائه شده است و قابلیتهای متعددی دارد که در این مقاله میتوانید با آن آشنا شوید. برای برنامه نویسی اندروید با استفاده از سی شارپ گزینه های متفاوتی وجود دارد برای مثال میتوانید برای توسعه بازی از موتورهایی مانند unity استفاده کنید و یا برای تولید برنامه از فریمورک هایی مانند Xamarin و یا Maui استفاده کنید. برای مطالعه بیشتر مقاله سی شارپ چیست را مطالعه کنید. Basicاین زبان به طور رسمی توسط اندروید پشتیبانی نمیشود ولی میتوان با استفاده از فریمورک B4A (Basic for Android) برای اندروید به زبان بیسیک برنامه نویسی کنید. البته معمولاً این زبان گزینه اول برنامه نویسان اندروید نیست. Pythonزبان پایتون یکی از محبوبترین زبانهای حال حاضر است. این زبان فریمورکی به نام kivy دارد که توسط آن میتوان برای دستگاههای موبایل برنامه نویسی کرد. آیا یادگیری xml در اندروید لازم است؟برای اینکه بتوانید برای اندروید برنامه نویسی کنید باید با ساختار پروژه های اندرویدی آشنا شوید. یک پروژه اندرویدی از فایلهای مختلفی ساخته شده است که بخشی از آنها فایلهای مربوط به برنامه نویسی و منطق برنامه است ولی بخش دیگر مربوط به طراحی رابط کاربری و قالب بندی برنامه است. بخش منطق برنامه با یک زبان برنامه نویسی پیادهسازی میشود ولی بخش طراحی رابط کاربری با زبان نشانه گذاری xml پیادهسازی میشود که در نتیجه نیاز است که شما با این زبان آشنا باشید. البته این زبان را به راحتی و در طی چند ساعت میتوانید بیاموزید و لازم نیست که نگران آن باشید. چه کتابخانههایی در برنامه نویسی اندروید استفاده می شود؟کتابخانهها کدهای آمادهای هستند که برای انجام هدف خاصی نوشته شده و در اختیار عموم قرار می گیرند. در اندروید تعداد کتابخانههای موجود بسیار زیاد است ولی از مهمترین آنها میتوان به کتابخانههای زیر اشاره کرد. یادگیری برنامه نویسی اندروید چقدر طول می کشد؟برای مدت زمان یادگیری برنامه نویسی اندروید باید به موارد مختلفی را در نظر گرفت تا بتوان تخمین درستی زد مواردی مثل داشتن تجربه قبلی برنامه نویسی، نحوه یادگیری شما و سطح مهارتی که میخواهید به آن برسید. اگر شما با برنامه نویسی آشنا هستید و با زبانهایی مانند جاوا کار کرده باشید زمان خیلی کمتری از کسی که بدون دانش برنامه نویسی میخواهد برنامه نویسی اندروید را یاد بگیرد لازم دارید تا بتوانید برنامههای اندروید تولید کنید. زیرا که با مفاهیم برناهم نویسی و منطق ها و شکل کلی دستورات آشنا هستید و فقط باید آن را در قالب اندروید و با ساختار اندروید پیادهسازی کنید. به صورت کلی اگر تازه کار هستید حدود ۶ ماه زمان لازم دارید که هر روز چند ساعت مطالعه و تمرین داشته باشید و با برنامه نویسی اندروید کلنجار بروید. خب البته اوایل این کار کمی دشوار خواهد بود ولی رفتهرفته به روی روال افتاده و کارها سادهتر خواهد شد. البته چالش های جدیدی هم برایتان پیش خواهد آمد که توصیه میکنم در هر فیلد برنامه نویسی حتماً پشتکار داشته باشید و سمج باشید. آینده و بازار کار برنامه نویسی اندروید چگونه است؟طبق آمارهای موجود میلیاردها گوشی تلفن همراه در حال استفاده است و همچنین سایر دستگاههای اندرویدی در حال رشد هستند. در کشور ما گوشی های اندرویدی نسبت به گوشی های با سیستم عامل iOS مورد استقبال بیشتری هستند. بنابراین اگر در این زمینه تبدیل به یک متخصص بشوید حتماً بازار کار خواهید داشت و میتوانید با تخصص برنامه نویسی اندروید به کسب درآمد هم در داخل و هم در خارج از کشور بپردازید. مطالعه بیشتر انواع کامیت در فرگمنت های اندروید :: برچسبها: آموزش اندروید , آموزش Android , دوره اندروید , دوره آموزشی اندروید , :: بازدید از این مطلب : 304 نوشته شده توسط : محمد نصیری
![]() این توزیع از سیستم عامل لینوکس بر پایه و اساس هسته اصلی لینوکس یا همان Linux Kernel پایه گذاری شده است و یک محصول مستقل به حساب می آید. این توزیع از لینوکس توسط کارشناسان و برنامه نویس های آلمانی طراحی و تولید شده است. openSUSE از معماری های i586 ، x86 و x64 پشتیبانی می کند و همچنین از محیط های دسکتاپ Blackbox ، GNOME ، KDE، IceWM ، LXDE ، Openbox ، WMaker و Xfce نیز پشتیبانی می کند. پروژه openSUSE یک برنامه کاملا اجتماعی و Community Based بود که امروزه توسط شرکت Novell پشتیبانی می شود. هدف اصلی از ارائه کردن نسخه openSUSE لینوکس این بود که یک سیستم عامل همه منظوره ایجاد شود که بتوان از آن در همه جا استفاده کرد و بتوان استفاده از آن را در همه جا ترویج داد ، برنامه پروژه openSUSE باعث دسترسی آزاد ، رایگان و ساده به openSUSE می شود ، از openSUSE به عنوان یک توزیع بسیار کامل و جامع از لینوکس یاد می شود.
اهداف اصلی پروژه openSUSEپروژه openSUSE سه هدف اصلی را دنبال می کرد : هدف اول : معرفی کردن openSUSE به عنوان ساده ترین توزیع لینوکس برای هر کسی که بتواند آن را دانلود ، نصب و استفاده کند ، هدف دوم : معرفی و شیوع دادن هر چه بیشتر openSUSE به عنوان یک لینوکس Open Source و Collaborative و تلاش جهت رسیدن به نقطه ای که openSUSE تبدیل به پرکاربردترین توزیع لینوکس در دنیا شود که هم در دسکتاپ ها و هم در سرورها بیشترین استفاده را داشته باشد ، هدف سوم : مهیج سازی openSUSE و ساده سازی برنامه نویسی و توسعه این سیستم عامل و فرآیند های Packaging نرم افزارهای آن برای تبدیل کردن openSUSE به یک انتخاب مناسب برای برنامه نویسان و توسعه دهندگان نرم افزار سراسر دنیا ، در واقع هدف اصلی تیم توزیع کننده openSUSE تبدیل شدن به توزیع شماره یک لینوکس در دنیا بود. پروژه openSUSE یک GNU/Linux تحت لیسانس GPL است. توزیع های مختلف openSUSE و همچنین اجزای مختلف این سیستم عامل توسط یک Community بزرگ از کاربران و کارشناسان پروژه openSUSE پشتیبانی می شوند که توسط یکی از بزرگترین شرکت های تولید کننده نرم افزارهای Open Source آلمانی به نام SUSE توسعه و نگهداری می شود. لینوکس openSUSE جایگزین یک محصول قدیمی تر به نام SUSE Linux Professional شد. همانند اکثر لینوکس های Open Source که دارای Community می باشند ، openSUSE هم برای خودش دارای یک پرتال اینترنتی برای همکاری کردن همگان در پروژه openSUSE راه اندازی کرد که مستندات لازم برای استفاده از این سیستم عامل ، طراحی ها و توضیحات در خصوص این سیستم عامل و اجزای ان و تقریبا همه چیز در خصوص openSUSE در این Community مطرح می شد ، Mailing List قوی و همچنین استفاده از کانال های Internet Relay Chat باعث محبوب شدن هر چه بیشتر این سیستم عامل می شود که در نهایت باعث شده است امروزه openSUSE یکی از بهترین رابطهای wiki را در خود داشته باشد. اگر بخواهیم قابلیت های این سیستم عامل را بصورت خلاصه بگوییم می توانیم از با ثبات بودن ، سادگی کارکرد و بروز رسانی نرم افزارها ، انعطاف پذیری بالا اشاره کنیم که براحتی این امکان را به ما مید هد که در سرویس هایی مثل ایمیل و یا وب سرور از این سیستم عامل استفاده کنیم ، البته از عیب هایی که اکثرا از این سیستم عامل گرفته می شود می توان به کارایی کمتر و سرعت کمتر به نسب سایر توزیع های معروف اشاره کرد.
YaST در سیستم عامل openSUSEیکی از نقاط قوت سیستم عامل لینوکس توزیع openSUSE را می توان برنامه ای به نام YaST دانست. YaST شامل برنامه هایی برای نصب ، مدیریت و تقریبا همه کارهایی است که بصورت روزمره و گرافیکی می توانید بر روی سرور انجام دهید، می شود. برای مثال شما می توانید با استفاده از YaST پارتیشن بندی هارد دیسک ، تنظیمات سیستمی ، مدیریت بسته های RPM ، بروز رسانی سیستم عامل و نرم افزارها ، تنظیمات شبکه و فایروال ، مدیریت کاربران و گروه ها و بسیاری از کارهای دیگر را نیز انجام دهید و حتی نیازی نیست برای انجام این کارها قطعه ای کد بنویسید و یا از Shell استفاده کنید. ساختار YaST بصورت ماژولار است و به همین دلیل همه روزه ماژول هایی به این نرم افزار اضافه می شوند که برای مثال می توانیم از پشتیبانی از Bluetooth در ماژول های جدید آن اشاره کنیم.
توزیع های مختلف openSUSEتوزیع openSUSE را می توان به گفته وب سایت Distowatch.com یکی از پنج توزیع برتر لینوکس در جهان دانست. openSUSE براحتی و بصورت رایگان بعد از معرفی شدن نسخه های جدید در اختیار عموم قرار می گیرد و همگان می توانند از آن استفاده کنند ، اما بد نیست بدانید که روش های مختلف و البته نسخه های مختلفی از openSUSE توسط شرکت SUSE معرفی می شوند که بر حسب معماری x86 یا x86-x64 متفاوت هستند ، در این قسمت می خواهیم به نسخه ها یا Edition های مختلف لینوکس openSUSE اشاره کنیم :
openSUSE بدون شک یکی از توزیع های بسیار کامل لینوکس امروزی می باشد و همانطور که گفتیم همیشه در طبقه بندی 5 لینوکس برتر دنیا قرار گرفته است ، یکی از مهمترین ارکانی که برنامه نویسان openSUSE بر روی آن تمرکز می کنند بحث امنیت این سیستم عامل است ، تقریبا هیچ چیزی در این سیستم عامل بدون هماهنگی و اطلاع رسانی به کاربر سیستم نمی تواند انجام شود و این یعنی امنیت در اولویت کاری قرار گرفته است. علاوه بر این openSUSE جزو معدود توزیع های لینوکس می باشد که شما در زمان سفارش دادن آن می توانید بسته های نرم افزاری خود را تک تک انتخاب کنید و بسته سفارشی خود را از این سیستم عامل تهیه کنید. امیدوارم مورد توجه شما قرار گرفته باشد ، خوشحال می شویم از تجربیات و دانش شما در خصوص این سیستم عامل در ادامه استفاده کنیم.
امیدوارم مورد توجه شما قرار گرفته باشد، در صورت یادگیری و علاقه بیشتر بعد از یادگیری لینوکس در سطح Linux Essentials آماده ورود به دوره آموزشی LPIC 1 خواهید شد. LPI یا بنیاد حرفه ای لینوکس ( با اسم انیستیتو لینوکس کانادا هم شناخته می شود ) این دوره را به دو قسمت یا دو کد دوره LPIC 1 با کد 101 و LPIC 1 با کد 102 تقسیم بندی کرده است . برای اینکه شما گواهینامه بین المللی لینوکس LPIC 1 را بصورت کامل دریافت کنید بایستی هر دو دوره را بصورت کامل یاد بگیرید. مدرک بین المللی الپیک یک ( LPIC 1 ) یکی از محبوب ترین دوره های آموزشی لینوکس در دنیا به حساب می آیند که بر اساس سرفصل های منظم و مرتب ، استانداردهای بین المللی ، بدون وابستگی به یک توزیع خاص از سیستم عامل لینوکس ، برای افرادی طراحی شده است که می خواهند در مسیر یادگیری لینوکس به سطح بالاتری دست پیدا کنند. دوره آموزشی LPIC 2 | الپیک دو در واقع سطح متوسط یادگیری لینوکس در دنیا محسوب می شود. شما برای اینکه بتوانید وارد دوره آموزشی LPIC 2 یا سطح متوسط آموزش لینوکس شوید قطعا باید با مقدمات کار کردن با سیستم عامل لینوکس در سطح LPIC 1 آشنایی داشته باشید. در واقع اگر شما در دوره آموزشی LPIC 1 ساختار سیستم عامل لینوکس را به خوبی درک کرده باشید و مدیریت مقدماتی لینوکس را یاد گرفته باشید ، آماده ورود به دوره آموزشی LPIC 2 خواهید بود. :: برچسبها: آموزش لینوکس , آموزش Linux , دوره آموزش لینوکس , دوره آموزشی لینوکس , آموزش لینوکس اسنشیالز , آموزش لینوکس اسنشیال , , :: بازدید از این مطلب : 393 نوشته شده توسط : محمد نصیری
![]()
لینوکس Red Hat Enterprise جزو معدود لینوکس هایی است که از قوانین GNU که قبلا در انجمن تخصصی فناوری اطلاعات ایران در موردش صحبت کردیم چندان تابعیت نمی کند. در واقع توزیع Red Hat Enterprise بر پایه و اساس لینوکس Fedora بوده است و ساخت کشور ایالات متحده آمریکا است ، معماری که این سیستم عامل بر پایه و اساس ان ساخته شده است و آنها را پشتیبانی می کند از i386 ، ia64 ،PowerPC ، s390 ، s390x ، x86 و x64 پشتیبانی می کند. دسکتاپ هایی که در لینوکس Red Hat Enterprise پشتیبانی می شود KDE و GNOME هستند و این سیستم عامل هم می توانید به عنوان سرور هم به عنوان دسکتاپ مورد استفاده قرار بگیرد. Red Hat Enterprise Linux که بصورت خلاصه RHEL هم گفته می شود جزو معدود توزیع های لینوکس است که توسط یک شرکت خاص طراحی و توسعه داده شده است و بصورت ویژه برای مباحث تجاری مورد استفاده قرار می گیرد ، شرکت Red Hat مالک و سازنده RHEL است. تقریبا تمامی آموزش ها و پشتیبانی که از RHEL انجام می شود توسط یک سری دوره آموزشی که ساخته شرکت Red Hat است به نام سری اموزشی Red Hat Certification انجام می شود. Red Hat مثل سایر توزیع های لینوکس رایگان نیست و شما برای استفاده از Red Hat Enterprise بایستی آن را از شرکت خریداری کنید اما بر اساس قانون Open Source کدهای نوشته شده در این سیستم عامل نیز بصورت رایگان قابل دسترس می باشند و بعضا توزیع های دیگری از لینوکس وجود دارند که از همین سورس و اعمال تغییرات بر روی آن توزیع جدیدی ارائه می کنند.
به یک نکته توجه کنید که ما لینوکسی در حال حاضر به نام Red Hat نداریم و محصول Red Hat از سال 2004 دیگر تولید نشده است ، لینوکسی که امروزه شما به عنوان Red Hat می شناسید با هسته لینوکس Red Hat ای که در ابتدا وجود داشت کاملا متفاوت است و ما آن را به عنوان Red Hat Enterprise می شناسیم. نسخه های اولیه ای که از سیستم عامل لینوکس Red Hat معرفی شدند به عنوان Red Hat Commercial Linux معروف بودند ، شرکت Red Hat اولین محصول لینوکس خود را در سال 1994 معرفی کرد. Red Hat اولین توزیع از لینوکس بود که از ساختار RPM Package Manager برای قالب بندی نرم افزارهای خود استفاده کرد و به مرور زمان همین ساختار به توزیع های دیگر لینوکس هم سرایت کرد و امروزه توزیع هایی مثل Mandriva و Yellow Dog از این نوع Package Manager استفاده می کنند. بعد از متوقف شدن تولید لینوکس Red Hat در سال 2004 شرکت Red Hat یک توزیع دیگر از لینوکس را به دنیا معرفی کرد که قبلا در انجمن تخصصی فناوری اطلاعات ایران در خصوص این نسخه مفضل توضیح داده ایم و این محصول چیزی جز لینوکس Fedora نبود ، Fedora بر خلاف Red Hat یک لینوکس رایگان بود و همگان می توانستند از آن براحتی استفاده کنند به ویژه کاربران خانگی که توانایی خرید Red Hat را نداشتند ، از آن به بعد و با معرفی شدن Fedora ، شرکت Red Hat شروع به ایجاد کردن محصول جدید Red Hat خود بر پایه و اساس لینوکس Fedora کرد که اسم ان Red Hat Enterprise بود.
اولین نسخه ای که از توزیع لینوکس Red Hat Enterprise وارد بازار شد به عنوان Red Hat Linux Advanced Server معرفی شد. در سال 2003 شرکت Red Hat یک نامگذاری مجدد روی محصول تولیدی خود گذاشت و اسم Red Hat Linux Advanced Server را به Red Hat Enterprise Linux AS تغییر داد و دو نسخه مختلف به نامهای Red Hat Enterprise Linux ES و Red Hat Linux Enterprise WS را نیز معرفی کرد. شرکت Red Hat برای حفظ علامت تجاری خود ، قوانین سفت و سختی در خصوص توزیع رایگان محصول خود یعنی RHEL اعمال کرد اما همچنان قوانین اصلی ماهیت Open Source را رعایت کرد و سورس کد RHEL را در اختیار همگان بصورت رایگان قرار داد. نسخه های متعددی از توزیع های لینوکس از سورس کدهای RHEL استفاده کردند و توزیع های شرکتی و قابل اعتماد خوبی همچون CentOS و Scientific Linux را بصورت کاملا رایگان معرفی کردند ، حتی نسخه های تجاری نیز به بازار معرفی شدند که کاملا با Red Hat Enterprise تطابق داشتند و کاربردهای کلان سازمانی به ویژه در حوزه پایگاه داده داشتند که مهمترین توزیعی که در این حوزه می توانیم نام ببرسیم Oracle Linux است که به تجربه می توان گفت خود خود RHEL است که برای استفاده از پایگاه داده ای مثل Oracle طراحی شده است. جالب اینجاست بدانید که نسخه های آکادمیک و دسکتاپ لینوکس Red Hat Enterprise نیز وجود دارند که برای همین منظور خریداری و استفاده می شوند. این نسخه ها برای استفاده مدارس ، دانشگاه ها و دانشجویان کاربرد دارد و قیمت آنها به نسب قیمت سایر نسخه های RHEL ارزانتر است ، این نسخه ها نیز مانند نسخه Enterprise اصلی از پشتیبانی کامل شرکت سازنده برخوردارند. نسخه های ES از Red Hat Enterprise مخفف Entry-Level Server است که برای شروع کار با این سیستم عامل مناسب است ، نسخه AS برای سرویس های پیشرفته یا Advanced Server استفاده می شوند و در نهایت نسخه WS برای استفاده در Workstation ها کاربرد دارند. اگر شما به یک نسخه با ثبات و قابل اعتماد ، دارای پشتیبانی و دارای مدرک بین المللی لینوکس نیاز دارید که بعضا در برخی از سازمان ها مورد نیاز است می توانید از RHEL استفاده کنید. امروزه RHEL از بهترین و پر استفاده ترین لینوکس ها برای سرورها و پردازش های سنگین به حساب می آید اما فراموش نکنید که این شرکت بصورت رسمی کشور عزیزمان ایران را تحریم کرده است و شما نمی توانید از Repository های آنلاین این شرکت استفاده کنید. در مقاله آموزش لینوکس در خصوص اینکه ماهیت سیستم عامل لینوکس چیست و چه تاریخچه ای دارد صحبت کرده ایم. امیدوارم مورد توجه شما قرار گرفته باشد، در صورت یادگیری و علاقه بیشتر بعد از یادگیری لینوکس در سطح Linux Essentials آماده ورود به دوره آموزشی LPIC 1 خواهید شد. LPI یا بنیاد حرفه ای لینوکس ( با اسم انیستیتو لینوکس کانادا هم شناخته می شود ) این دوره را به دو قسمت یا دو کد دوره LPIC 1 با کد 101 و LPIC 1 با کد 102 تقسیم بندی کرده است . برای اینکه شما گواهینامه بین المللی لینوکس LPIC 1 را بصورت کامل دریافت کنید بایستی هر دو دوره را بصورت کامل یاد بگیرید. مدرک بین المللی الپیک یک ( LPIC 1 ) یکی از محبوب ترین دوره های آموزشی لینوکس در دنیا به حساب می آیند که بر اساس سرفصل های منظم و مرتب ، استانداردهای بین المللی ، بدون وابستگی به یک توزیع خاص از سیستم عامل لینوکس ، برای افرادی طراحی شده است که می خواهند در مسیر یادگیری لینوکس به سطح بالاتری دست پیدا کنند. دوره آموزشی LPIC 2 | الپیک دو در واقع سطح متوسط یادگیری لینوکس در دنیا محسوب می شود. شما برای اینکه بتوانید وارد دوره آموزشی LPIC 2 یا سطح متوسط آموزش لینوکس شوید قطعا باید با مقدمات کار کردن با سیستم عامل لینوکس در سطح LPIC 1 آشنایی داشته باشید. در واقع اگر شما در دوره آموزشی LPIC 1 ساختار سیستم عامل لینوکس را به خوبی درک کرده باشید و مدیریت مقدماتی لینوکس را یاد گرفته باشید ، آماده ورود به دوره آموزشی LPIC 2 خواهید بود. :: برچسبها: آموزش لینوکس , آموزش Linux , دوره آموزش لینوکس , دوره آموزشی لینوکس , آموزش لینوکس اسنشیالز , آموزش لینوکس اسنشیال , , :: بازدید از این مطلب : 375 نوشته شده توسط : محمد نصیری
![]() لینوکس Debian GNU/Linux برای اولین بار در سال 1993 معرفی شد.این لینوکس توسط بنیانگذارش یان مرداک و همچنین صدها برنامه نویس داوطلب نوشته شد ، آنها این ایده را در ذهن داشتند که یک سیستم عامل کاملا غیر تجاری را به دنیا معرفی کنند ، اکثر زمانی که این برنامه نویسان برای نوشتن لینوکس Debian GNU/Linux صرف کردند از زمان های اضافه و اوقات فراغتشان بود و هیچگونه پولی به آنها بابت برنامه نویسی Debian پرداخت نشد. در ابتدای کار تصور می شد که کار Debian GNU//Linux براحتی تمام می شود و افراد زیادی اعتقاد داشتند که این پروژه در نهایت سرنوشتی جز تجزیه شدن و متلاشی شدن ندارد و پروژه Debian GNU/Linux با شکست مواجه خواهد شد. اما واقعیت به شکلی دیگر و کاملا متفاوت رقم خورد ، نه تنها Debian باقی ماند بلکه بعد از آن بسیار پیشرفت کرد و در کمتر از یک دهه این توزیع از لینوکس تبدیل به گسترده ترین توزیع لینوکس در دنیا شد ، Debian به عنوان بزرگترین و گسترده ترین پروژه Collaborative یا پروژه شراکتی در دنیا مطرح شد و شاید هرگز نمونه دیگری از این گستردگی در صنعت نرم افزار را شاهد نباشیم. مهمترین دلایل موفقیت پروژه Debian GNU/Linux را می توانیم به این شکل بیان کنیم که : این توزیع از لینوکس توسط بیشتر از 1000 برنامه نویس داوطلب نوشته شده است ، در حال حاضر مجموعه نرم افزاری که برای Debian GNU/Linux وجود دارد شامل بیش از 50000 بسته نرم افزاری است که حتی برای معماری های 8 پردازنده ای نیز طراحی شده اند و از همه مهمتر این است که با تغییر دادن سورس کد سیستم عامل Debian و اعمال تغییرات بر روی آن تاکنون بیشتر از 120 نوع توزیع جدید از لینوکس منتشر شده است که همه انها در اصطلاح Debian Based یا بر پایه و اساس Debian هستند که این نمایانگر قدرت این سیستم عامل است. این خصوصیات تقریبا برای هیچکدام از توزیع های سیستم عامل لینوکس دیگر وجود ندارد. فرآیند توسعه و برنامه نویسی Debian GNU/Linux به سه مرحله یا سه شاخه تقسیم بندی می شود که البته برخی اوقات به آن یک شاخه چهارم هم اضافه می کنند که این مراحل به شکل زیر می باشند :
Debian GNU/Linux برای یکپارچه سازی ، تست و با ثبات سازی بسته های نرم افزاری با سیستم عامل و همچنین قابلیت های جدیدی که به این بسته ها و سیستم عامل Debian اضافه می شوند یک مکانیزم کنترل کیفیت مدون ، برنامه ریزی شده و قابل اطمینان دارد که باعث می شود بتوانیم از Debian GNU/Linux بدون انکار به عنوان یکی از بهترین توزیع های لینوکس بدون مشکل ( یا کمترین تعداد مشکل( و خوب آزمایش شده یاد کنیم. اما در کنار همه این نکات مثبت برخی موارد هم قابل توجه است ، همین فرآیند دراز و پیچیده توسعه سیستم عامل و آزمایش و تست هایی که بر روی آن انجام می شود یک سری مشکلات را در پی دارد ، نسخه با ثبات یا Stable از سیستم عامل Debian GNU/Linux چندان به روز معرفی نمی شود و معمولا نسخه های Stable این توزیع از لینوکس هر 1 تا 3 سال معرفی می شوند ، به همین دلیل علاقه مندان به سیستم عامل Debian GNU//Linux مجبور هستند که تا معرفی شدن نسخه بدون Bug و تقریبا بدون مشکل ، از نسخه های مشکل دار و تستی Debian استفاده کنند ، همین مورد در خصوص بسته های نرم افزاری نیز صادق است.
خلاصه ای از معرفی Debian GNU//LinuxDebian GNU/Linux دست برنامه نویسان را بسیار باز گذاشته است و تقریبا اکثر برنامه نویسانی که قصد دستکاری در سورس یک توزیع لینوکس و ارائه یک نسخه جدید را دارند ترجیح می دهند از Debian GNU/Linux استفاده کنند.از نکات بارز مثبت در خصوص این سیستم عامل می توان به با ثبات بودن ، کنترل کیفیت عالی ، وجود بیش از 20 هزار بسته نرم افزاری ، پشتیبانی از معماری تعداد پردازنده های بیشتر به نسبت سایر توزیع های لینوکس اشاره کرد. البته نکات منفی نیز در این سیستم عامل وجود دارد که از آن جمله می توانیم به طولانی بودن مدت ارائه نسخه با ثبات جدید اشاره کنیم که تقریبا بین 1 تا 3 سال طول می کشد ، همچنین با توجه به پشتیبانی این سیستم عامل از معماری پردازنده های چند تایی ، معمولا تکنولوژی های جدیدتر نیاز به زمان دارند تا با Debian خود را سازگار کنند. بسته های نرم افزاری که برای سیستم عامل Debian معرفی می شوند با بصورت Advanced Package Tool یا APT با استفاده از بسته های DEB ارائه می شوند. نسخه های مختلفی از جمله نسخه های قابل نصب ، نسخه های Live که از معماری 12 پردازنده ای نیز پشتیبانی می کنند ، برای Debian وجود دارند که حتی شامل تمامی پردازنده های بیتی 32 و 64 بیتی شرکت های Intel و AMD نیز می شوند. در مقاله آموزش لینوکس بصورت مفصل در خصوص نصب دبین صحبت شده است. از مهمترین توزیع های لینوکسی که از Debian گرفته شده اند می توانیم به Ubunto ، Openbox ، SolydXK ، Knoppix ، Tanglu و ... اشاره کنیم که این نمایانگر قدرت این سیستم عامل است. امیدوارم مورد توجه شما قرار گرفته باشد، در صورت یادگیری و علاقه بیشتر بعد از یادگیری لینوکس در سطح Linux Essentials آماده ورود به دوره آموزشی LPIC 1 خواهید شد. LPI یا بنیاد حرفه ای لینوکس ( با اسم انیستیتو لینوکس کانادا هم شناخته می شود ) این دوره را به دو قسمت یا دو کد دوره LPIC 1 با کد 101 و LPIC 1 با کد 102 تقسیم بندی کرده است . برای اینکه شما گواهینامه بین المللی لینوکس LPIC 1 را بصورت کامل دریافت کنید بایستی هر دو دوره را بصورت کامل یاد بگیرید. مدرک بین المللی الپیک یک ( LPIC 1 ) یکی از محبوب ترین دوره های آموزشی لینوکس در دنیا به حساب می آیند که بر اساس سرفصل های منظم و مرتب ، استانداردهای بین المللی ، بدون وابستگی به یک توزیع خاص از سیستم عامل لینوکس ، برای افرادی طراحی شده است که می خواهند در مسیر یادگیری لینوکس به سطح بالاتری دست پیدا کنند. دوره آموزشی LPIC 2 | الپیک دو در واقع سطح متوسط یادگیری لینوکس در دنیا محسوب می شود. شما برای اینکه بتوانید وارد دوره آموزشی LPIC 2 یا سطح متوسط آموزش لینوکس شوید قطعا باید با مقدمات کار کردن با سیستم عامل لینوکس در سطح LPIC 1 آشنایی داشته باشید. در واقع اگر شما در دوره آموزشی LPIC 1 ساختار سیستم عامل لینوکس را به خوبی درک کرده باشید و مدیریت مقدماتی لینوکس را یاد گرفته باشید ، آماده ورود به دوره آموزشی LPIC 2 خواهید بود.
:: برچسبها: آموزش لینوکس , آموزش Linux , دوره آموزش لینوکس , دوره آموزشی لینوکس , آموزش لینوکس اسنشیالز , آموزش لینوکس اسنشیال , , :: بازدید از این مطلب : 367 نوشته شده توسط : محمد نصیری
![]()
لینوکس توزیع CentOS یکی از محبوب ترین توزیع های لینوکس امروزی است ، CentOS مخفف کلمه های Community ENTerprise Operating System است. هسته اصلی لینوکس CentOS از سیستم عامل Red Hat Enterprise Linux یا RHEL گرفته شده است و به همین دلیل این سیستم عامل کاملا با RHEL سازگاری دارد. طبیعتا با توجه به اینکه در مقاله قبلی در انجمن تخصصی فناوری اطلاعات ایران در خصوص توزیع RHEL و اینکه از Fedora گرفته شده است ، می توان نتیجه گرفت که در نهایت CentOS نیز از Fedora گرفته شده است. برخلاف RHEL که تجاری و پولی است ، CentOS یک توزیع رایگان از لینوکس می باشد. CentOS توسط Community ها پشتیبانی می شود و این یعنی اینکه شما به جای اینکه انتظار پشتیبانی حرفه ای و پرداخت هزینه های پشتیبانی خدمات به شرکت تولید کننده پرداخت کنید ، تنها کافیست کمک ها و پشتیبانی خود را از این Community های عمومی تامین کنید و هیچگونه هزینه ای نیاز نیست پرداخت کنید. سالها به عنوان یک پروژه و یک سیستم عامل مستقل معرفی می شد تا اینکه در سال 2014 پروژه CentOS رسما به شرکت Red Hat پیوست. نسخه هایی که از CentOS به بازار ارائه می شوند در واقع نسخه Mirror از نسخه هایی است که در Red Hat Enterprise Linux معرفی می شوند. یعنی هر بار که نسخه جدیدی از Red Hat Enterprise Linux منتشر شود ، مدتی بعد نسخه ای مشابه آن به عنوان CentOS معرفی می شود. معمولا بعد از معرفی شدن هر نسخه از RHEL بعد از حدود چند هفته یا حداکثر چند ماه نسخه جدید CentOS نیز معرفی می شود. این مدت زمان به دلیل این است که گروه CentOS باید زمان بگذارند و ساختار برندینگ Red Hat را از روی RHEL حذف کنند و تقریبا همه چیز را از روی سورس کدهای RHEL مجددا بسازند. با ترکیب شدن یک تیم پشتیبانی خوب و غنی در Community های CentOS و همچنین مستندات کامل این سیستم عامل ، CentOS تبدیل به یک محصول عالی برای استفاده در تجارت ها ، سازمان ها ، مدارس و دانشگاه ها و سایر مواردی می باشد که نیازمند یک لینوکس قابل اتکا برای سرورها و دسکتاپ های خود هستند. با انتخاب کردن CentOS دیگر نیازی به پرداخت هزینه های زیاد برای خرید محصولات Enterprise نخواهد بود. اما بیشتر سازمان هایی که از CentOS استفاده می کنند ، از این سیستم عامل در کنار سیستم عامل Red Hat Enterprise Linux استفاده می کنند و با توجه به پشتیبانی که از شرکت Red Hat دریافت می کنند می توانند در صورت بروز مشکل سیستم عامل های CentOS خودشان را نیز رفع اشکال کنند.در چنین سازمان هایی از RHEL به عنوان سرور اصلی در سازمان استفاده می شود و از CentOS به عنوان سیستم عاملی برای سرورهای نه چندان حساس استفاده می شود ، یا از CentOS به عنوان یک سرور Redundant و Backup استفاده می کنند. این موضوع باعث می شود که دیگر سازمان ها نیازی به استخدام چندین مدیر سیستم نداشته باشند و با استخدام یک مدیر سیستم مسلط به RHEL کار مدیریت CentOS های سازمان را هم به یکباره انجام می دهند و این از نظر هزینه های مالی کاملا به سود سازمان است . ![]() در خصوص لینوکس توزیع Debian هم قبلا در انجمن تخصصی فناوری اطلاعات ایران صحبت کرده ایم ، همانطور که می دانید توزیع Debian محبوب ترین توزیع در میان لینوکس های دنیا است ، جالب اینجاست بدانید که در جولای سال 2010 برای اولین بار توزیع CentOS به عنوان محبوب ترین توزیع در میان توزیع های مورد استفاده به عنوان Web Server انتخاب شد که در آن زمان بیش از 30 درصد وب سرورهای دنیا از این سیستم عامل استفاده می کردند ، هر چند که در ژانویه 2012 این عنوان و جایگاه مجددا به توزیع Debian اختصاص یافت اما در نوع خودش جالب بود. CentOS یکی از محبوب ترین توزیع های لینوکس برای استفاده در سرویس های هاستینگ وب اینترنتی است. با توجه به هماهنگ بودن و سازگاری کامل CentOS و RHEL این سیستم عامل با اکثر نرم افزارهای دنیا سازگاری کامل دارد ، بیشتر کنترل پنل های هاستینگ امروزی از سیستم عامل CentOS به عنوان توزیع لینوکس شماره یک خودشان استفاده می کنند. از لحاظ معماری فنی توزیع CentOS لینوکس از معماری های x86 ، x64 و i386 پشتیبانی می کند ، امروزه حتی از CentOS از PowerPC نیز پشتیبانی می کند. قبل از اینکه اسم CentOS بر روی این محصول گذاشته شود آن را به عنوان cAos Linux می شناختیم . در ژوئن 2006 شخصی به نام David Parsley که برنامه نویس اصلی سیستم عامل Tao Linux که یکی از Clone های اصلی RHEL بود اعلام کرد که Tao Linux دیگر بازنشسته شده است و شروع به توسعه و برنامه نویسی سیستم عامل CentOS کرد. کاربران Tao Linux براحتی بعد از ارائه شدن نسخه CentOS با استفاده از بروز رسانی YUM خود را به CentOS بروز رسانی کردند. جالب اینجاست بدانید که دامین اینترنتی CentOS.org که بزرگترین Community این سیستم عامل است توسط فردی به نام Lance Davis قبلا ثبت شده بود و بعدها طی یک قرارداد ، تیم مدیریتی CentOS ای دامین را از Davis خریداری کردند. CentOS از دسکتاپ های KDE و GNOME پشتیبانی می کند و از این سیستم عامل هم به عنوان سرور و هم به عنوان Workstation می توان استفاده کرد. البته به این نکته نیز توجه کنید که با توجه به اینکه این سیستم عامل از RHEL گرفته شده است ، افرادی که در Community ها به سئوالات و مشکلات پاسخ می دهند معمولا از مهندسین نرم افزار حرفه ای هستند که برای شرکت Red Hat کار می کنند ، البته در کنار این افراد مدیران سیستم و علاقه مندان به سیستم عامل های لینوکس در سراسر دنیا را نیز اضافه کنید تا متوجه شوید که چه اندازه پشتیبانی از سیستم عامل CentOS در دنیا به تمام معنا انجام می شود. :: برچسبها: آموزش لینوکس , آموزش Linux , دوره آموزش لینوکس , دوره آموزشی لینوکس , آموزش لینوکس اسنشیالز , آموزش لینوکس اسنشیال , , :: بازدید از این مطلب : 379 نوشته شده توسط : محمد نصیری
![]()
در این ویدیو گفتیم که چگونه می توان با نقشه ها در اندروید کار کرد. در این مطلب قصد داریم مطالبی را به شما بگوییم که می توانید از آنها برای تکمیل دانسته های خودتان در مورد نقشه ها در اندروید استفاده کنید. پس در ادامه این مباحث را توضیح می دهیم. سرفصل های این مطلب
فعال یا غیرفعال کردن زوم شما در نقشه می توانید زوم را کم یا زیاد کنید. ولی در صورت نیاز این امکان برای شما وجود دارد که کاربر نتواند زوم نقشه را تغییر بدهد. برای این کار باید قطعه کد زیر را هنگامی که نقشه ساخته می شود، برای نقشه بنویسید: 1mMap.getUiSettings().setZoomGesturesEnabled(false); در این صورت کاربر نمی تواند زوم کند اگر ورودی این متد true باشد زوم به حالت قبلی بر می گردد. همچنین برای شما دکمه هایی بر روی نقشه وجود دارد که می توان با کمک آنها زوم را کم و زیاد کرد. در اندروید این امکان وجود دارد که این دکمه ها در نقشه نمایش داده شود یا خیر برای این کار از کد زیر استفاده کنید. 1mMap.getUiSettings().setZoomControlsEnabled(true);
فعال یا غیرفعال کردن بخش ترافیک نقشه گوگل این قابلیت را دارد که حجم ترافیک خیابان ها را نشان دهد. به شکلی که اگر ترافیک در خیابانی سنگین باشد رنگ آن خیابان قرمز می شود و اگر ترافیک سبک باشد آن خیابان با رنگ آبی یا سبز نمایش داده می شود. حال برای این که این قابلیت را در نقشه فعال کنیم قطعه کد زیر را هنگام ساخته شدن نقشه می نویسیم 1mMap.setTrafficEnabled(true); همچنین اگر بخواهیم که بر روی نقشه نوار ابزار نقشه هم فعال باشد یعنی وقتی که بر روی marker کلیک می کنیم قابلیت route و مسیریابی داشته باشیم باید از کد زیر استفاده کنیم. 1mMap.getUiSettings().setMapToolbarEnabled(true); تصویر این نوار ابزار به شکل زیر است
ترسیم بر روی نقشه گاهی اوقات می خواهیم بر روی نقشه یک دایره یا یک چندضلعی رسم کنیم. برای مثال شما اگر بخواهید یک منطقه را مشخص کنید می توانید شکلی در آن منطقه رسم کنید. برای این که یک دایره بر روی نقشه رسم کنیم از کد زیر استفاده می کنیم. 1mMap.addCircle(new CircleOptions().center(sydney).fillColor(Color.argb(100,150,120,200)).strokeWidth(1).radius(500000));
در کد بالا fillColor رنگ داخلی دایره را مشخص می کند و radius شعاع را نشان می دهد و strokeWidth ضخامت دور دایره را نشان می دهد. حال اگر بخواهیم یک چند ضلعی اضافه کنیم از کد زیر استفاده می کنیم. دقت داشته باشید که گوشه به گوشه چندضلعی را به برنامه باید اضافه کنیم. 1mMap.addPolygon(new PolygonOptions().fillColor(Color.argb(100,150,120,200)).add(sydney).add(new LatLng(0,3)).add(new LatLng(3,6)).add(new LatLng(6,3)).add(new LatLng(3,0)).strokeWidth(1)); خروجی کد بالا به شکل زیر خواهد بود.
برای یادگیری مفاهیم و آموزش های تخصصی و حرفه ای از صفر تا صد به آموزش های برنامه نویسی و جاوا مراجعه کنید. :: برچسبها: X آموزش سي شارپ , آموزش C# , دوره سي شارپ , دوره آموزشي سي شارپ آمو , زش جاوا , آموزش Java , آموزش زبان برنامه نويسي جاوا , آموزش زبان برنامه نويسي سي شارپ , آموزش جنگو , دوره آموزشي جنگو , :: بازدید از این مطلب : 368 نوشته شده توسط : محمد نصیری
![]()
لینوکس چیست؟ به زبان ساده : اولین نکته در آموزش لینوکس این هست که شما بدونید اصلا لینوکس چی هست؟ لینوکس یک سیستم عامل است که از هسته اصلی یا Kernel سیستم عامل دیگری به نام UNIX برداشت شده است . این سیستم عامل اولین بار توسط شخصی به نام لینوس توروالدس ( Linus Torvalds ) در زمانی که وی دانشجوی دانشگاه هلسینکی ( Helsinki ) بود ایجاد شد. اما خوب معمولا مشکل اشخاصی که به تازگی با لینوکس آشنا می شوند این است که واقعا لینوکس چیست ؟
تعریف سیستم عامل لینوکس (Linux) چیست؟تشریح اینکه واقعا لینوکس چه هست و چه نیست را بگذارید برای مبحثی دیگر ، بنا به دلایل بسیار زیاد سیاسی و فنی اینکه واقعا لینوکس چیست یک مبحث بسیار بسیار طولانی خواهد شد که فعلا در حیطه صحبت های ما نیست . اما این هم درست نیست که فقط بگوییم لینوکس یک سیستم عامل مثل سیستم عامل های دیگر است . خوب ما سیستم عامل های زیادی مثل ویندوز ، Mac OS ، MS-DOS ، Sun Solaris و غیره را داریم و اگر بگوییم لینوکس هم مثل آنهاست تا حدی بی انصافی کرده ایم. لینوکس نه یک برنامه تکی مثل Microsoft Word است و نه یک مجموعه برنامه مثل Microsoft Office ، لینوکس یک رابط بین سخت افزارهای کامپیوتر و برنامه هایی است که بر روی آن اجرا می شوند است . البته این کاری است که هر سیستم عامل دیگری نیز انجام می دهد اما در ادامه در خصوص ویژگیهای منحصر به فرد لینوکس صحبت خواهیم کرد ، هدف بیشتر استفاده کاربردی از این سیستم عامل است تا بررسی تاریخچه کامل و بحث و جدل های جانبی آن ، پس به ادامه مقاله توجه کنید. تاریخچه لینوکس چیست؟هر چند که در آموزش لینوکس ، دونستن تاریخچه این سیستم عامل چندان کمکی به شما نمی کنه اما پیشنهاد می کنم کمی با این قسمت ارتباط بگیرید و درکی از نحوه به وجود اومدن لینوکس داشته باشید. زمانیکه لینوس توروالدس در دانشگاه هلسینکی مشغول به تحصیل بود ، از نسخه ای از سیستم عامل UNIX به نام MINIX استفاده می کرد. لینوس توروالدس و سایر کاربرانی که با این سیستم عامل یعنی MINIX کار می کردند برای سازنده MINIX که کسی جز آندرواس تنن باوم ( حتما کتاب شبکه های کامپیوتری وی را در دانشگاه مطالعه کرده اید ) نبود درخواست هایی برای اعمال تغییرات بر روی این سیستم عامل و توسعه و بهبود آن ارسال کردند اما تنن باوم این کار را ضروری نمی دانست. همین موضوع باعث شد که لینوس تصمیم بگیرد که سیستم عامل خود را ایجاد کند و آن را به گونه ای طراحی کند که از نظرات و پیشنهادات سایر کاربران برای بهبود آن بصورت دائمی استفاده شود. و این آغازی بر ایده سیستم عامل لینوکس بود. فلسفه وجود لینوکس چیست؟البته فلسفه اینکه از کاربران برای نظرت و پیشنهاداتشان سئوال کنید و آنها را در بهبود برنامه های کامپیوتری استفاده کنید کار جدیدی نبود. شخصی به نام ریچارد استالمن که در موسسه فناوری اطلاعات ماساچوست کار می کرد. وی از چنین طراحی به شدت حمایت می کرد و از سال 1970 هم بصورت جدی در نرم افزارهای کامپیوتری از این ایده استفاده می کرد. این شخص پیشگام مفهومی به نام نرم افزار آزاد یا Free Software در دنیا بود البته در این مفهوم منظور از آزاد یا Free را رایگان بودن برداشت نکنید ، منظور در اینجا هزینه صفر نیست بلکه منظور آزادی نرم افزار است. برای چنین شخصی با چنین ایده ای طبیعی بود که مشکلات زیادی هم در میان بود و ادامه کار را برای وی سخت می کرد ، اما ریچارد دست از کار بر نمی داشت تا اینکه در سال 1984 از دانشگاه MIT بیرون آمد و ایده ای به نام GNU را ارائه کرد. ایده اصلی GNU در این است که نرم افزارها را بصورت رایگان برای استفاده بنویسید ، توزیع کنید و دستکاری کنید. شش سال بعد لینوس توروالدس نیز همین ایده را پیش گرفت با این تفاوت که وی سیستم عاملی نوشته بود که دارای همین خصوصیات GNU بود یعنی سیستم عاملی که برای استفاده رایگان است ، شما می توانید آن را دستکاری کنید و براحتی و بدون هزینه ای توزیع کنید . هسته یا Kernel لینوکس چیست؟در اینجا بایستی به این نکته اشاره کنیم که نقطه اصلی و کانون اصلی یک سیستم عامل هسته یا Kernel آن است . بدون اینکه وارد جزئیات این موضوع شویم فقط به یک تعریف ساده در خصوص Kernel بسنده می کنیم ، این Kernel است که به پردازنده کامپیوتر شما که کنترل کامپیوتر را بر عهده دارد می گوید که چه کاری را می خواهید با نرم افزار انجام دهید و نرم افزار باید چه کاری انجام دهد ؟ در صورت عدم وجود Kernel هیچ نرم افزاری نمی تواند کار کند و وجود نرم افزارها نمی تواند باعث کارکرد درست سیستم عامل شود . برای اینکه درک بهتری از مفهوم Kernel داشته باشید با یک مثال عملی و محیط واقعی این مفهوم را در نظر بگیرید. در شهر اهواز یک محله به نام لشگرآباد وجود دارد که فلافل فروشی هایی دارد که در دنیا بی نظیر هستند ، پیشنهاد می کنم حتما سری به این محله بزنید . با ورود به این خیابان معروف شما می توانید به انتخاب خود به یکی از این فلافل فروشی ها بروید که بصورت کاملا سلف سرویس هستند یعنی اینکه شما براحتی نان باگت را بر می دارید و آن را خالی می کنید و هر چقدر دوست داشتید در آن فلافل ، کاهو، ترشی ، بادمجان ، سیب زمینی ، خیار شور و ... پر می کنید و نوش جان می کنید .حال فرض کنید که اگر در این میان نان باگت وجود نداشته باشد چه اتفاقی می افتد؟ تمامی محتویات پراکنده و غیرقابل مدیریت خواهند بود و فلافل بدون نان هم بی معنی است. همین مفهوم برای Kernel هم صادق است ، Kernel همان نان است در فلافل و اگر نباشد نرم افزارها نمی توانند کار کنند و دیگر کنترلی بر روی سخت افزارها و نرم افزارهای موجود وجود نخواهد داشت بر عکس این موضوع هم صادق است ، نان باگت بدون فلافل هم بی معنی است ، پس Kernel هم به نرم افزارها نیازمند است تا بتواند مورد استفاده قرار بگیرد. نظرات سازندگان لینوکس در مورد لینوکس چیست؟خوب مفهوم نان باگت و فلافل را به خاطر دارید ؟ در سال 1991 اتفاق جالبی رخ داد ، لینوس توروالدس نان باگت داشت اما فلافل نداشت ! از طرفی دیگر ریچارد استالمن فلافل داشت اما نان باگت نداشت ! بله ، با همین مثال ساده شما حتما متوجه شدید که منظور چیست ، در سال 1991 لینوس توروالدس Kernel خود را نوشته بود اما برای آن نرم افزاری ننوشته بود که بتواند با آن کار کند و از طرفی دیگر ریچارد استالمن و پروژه GNU تا دلتان بخواهد نرم افزار و برنامه داشتند اما Kernel برای آنها نداشتند. بهتر است این شرایط را از زبان هر یک از این دو نفر بخوانیم :
لینوکس و گنو (GNU) چگونه ترکیب شدند یا گنو لینوکس چیست؟در اواخر سال 1991 لینوس توروالدس Kernel خود را با استفاده از چندین برنامه ای که توسط پروژه GNU ایجاد شده بودند ترکیب کرد و این ترکیب زمینه ای ایجاد کرد که بتواند کاری که بر روی این سیستم عامل جدید انجام داده بود را به دیگران نمایش دهد. اولین نفراتی که برای نمایش اولین نسخه Linux دعوت شده بودند می دانستند که لینوس قصد دارد چیز جدیدی به آنها نمایش دهد ، در این نقطه از کار لینوس به کسانی نیاز داشت تا وی را در پروژه خود کمک کنند .چپ لینوس در سال 1991 این حرف را زد : ببینید چه پروژه جالبی است ؟ تصور کنید که سیستم عاملی دارید که خودتان می توانید بر اساس نیازهایتان آن را تغییر دهید ! این حرف می تواند برای شمایی که در حال خواندن این متن هستید هم گفته شود.مردمی از سراسر دنیا تصمیم گرفتند وی را در پروژه ای که ایجاد کرده بود کمک کنند. البته در آن زمان صرفا کسانی که برنامه نویس های قدرتمند کامپیوتر بودند و دانش بسیاری در این زمینه داشتند می توانستند برای نسخه اولیه لینوکس برنامه نویسی کنند. این عده شروع کردند به ارائه کردن کمک هایی که لینوس نیاز داشت. با گذشت زمان ، همینطور نسخه های بالا و بالاتری از لینوکس ارائه می شد ، عده ای نرم افزارهایی می نوشتند که ویژه این سیستم عامل بود و فقط و فقط بصورت اختصاصی بر روی لینوکس اجرا می شد. برنامه نویس ها شروع به نوشتن Driver ها برای کارت گرافیک ، کارت صدا و سایر سخت افزارهایی کردند که این سیستم عامل بر روی آن وجود داشت. با این وجود در اوایل دهه 1990 لینوکس نتوانست از حوزه GURU فراتر برود. GURU یک اصطلاح است که یعنی اینکه هر کسی با حداقل دانش فنی بتواند لینوکس یا نرم افزارهای مرتبط با آن را نصب کند. در آن زمان شما می بایستی حتما دانش لازم در حوزه تخصصی کامپیوتر را داشته باشید تا بتوانید سیستم عامل لینوکس را نصب کنید. دلیل محبوبیت زیاد لینوکس چیست؟در آن زمان سایر شرکت هایی که در زمینه تولید سیستم عامل فعالیت می کردند محصول خود را در قالب یک عدد CD یا مجموعه ای از فلاپی دیسک ها در اختیار مشتریان خود قرار می داند و در کنار آن هم یک راهنمای نصب کوچک قرار می دادند ، مشتری با استفاده از این راهنما و CD که در اختیار داشت براحتی سیستم عامل خود را در کمتر از یک ساعت بر روی PC خود نصب و راه اندازی می کرد. در این روش تنها دانشی که برای کاربر نیاز بود ، دانش خواندن بود. این شرکت ها از بدون تشکیل چنین ذهنیتی که کاربری سیستم عامل بایستی ساده باشد را در سر داشتند اما لینوس توروالدس چنین ذهنیتی را در زمان ایجاد Linux نداشت .در واقع Linux برای توروالدس یک تفریح و سرگرمی بود . بعد ها ، شرکت های متعدد از نسخه Red Hat لینوکس خوششان آمد و متوجه شدند که می توانند از لینوکس به عنوان یک سیستم عامل مانند سایر سیستم عامل های موجود در بازار استفاده کنند. آنها کاری کردند که با استفاده از یک سری دستورهای خاص و بر اساس یک سری راهنماهای ساده کاربران بتوانند Red Hat را براحتی مثل سایر سیستم عامل ها بر روی سیستم نصب کنند و در این کار موفق شدند.لینوکس هیچوقت نتوانست یک GURU کامل شود و این به دلیل ماهیت اصلی آن بود ، کاربر باید بتواند سیستم عامل را براحتی مورد تغییر قرار دهد. جایگاه امروزی لینوکس چیست؟امروزه در بیشتر نقاط دنیا از لینوکس به عنوان یک سیستم عامل قابل اعتماد و انعطاف پذیر یاد می شود و استفاده از این سیستم عامل بسیار معمول شده است به ویژه اینکه سیستم عامل لینوکس به عنوان یک سرور رایگان می تواند مورد استفاده قرار بگیرد و به همین دلیل یکی از محبوب ترین سیستم عامل های شبکه امروزی به حساب می آید. وقتی شما از وب سرور لینوکس استفاده می کنید ، می توان به جرات گفت که Downtime شما به حداقل خواهد رسید ، من خودم علاقه زیادی به سیستم عامل های مایکروسافت دارم اما بر خلاف سرویس های مایکروسافتی که با انجام هر تغییری شما بایستی یک بار سیستم عامل را Reboot کنید بعضا وب سرورهای لینوکسی وجود دارند که سالها بدون نیاز به انجام کوچکترین تغییری می توانند بدون وقفه فعالیت کنند و فقط در زمان هایی که نیاز به انجام برخی تعمیرات روزمره می باشد کمی Downtime داشته باشند. یکی دیگر از دلایلی که عنوان شد و باعث گسترش هرچه بیشتر استفاده از سیستم عامل لینوکس در شبکه های کامپیوتری شد ، رایگان بودن و صرفه اقتصادی موجود در آن بود. شما همان لینوکسی را که در خانه و بر روی PC نصب می کنید را می توانید در شبکه و در قالب یک سرور سازمانی مورد استفاده قرار بدهید و هزینه ای که بابت بسته های نرم افزاری آن پرداخت می کنید می تواند با یکدیگر برابر باشد. پس نکته در اینجاست که لینوکس دارای قابلیت اعتماد بالا و هزینه بسیار پایین است. خوب اگر تا اینجای مطلب را با ما بوده اید ، قطعا عزم خود را جزم کرده اید که لینوکس را یاد بگیرید. هر تجربه قبلی که در استفاده از لینوکس تا کنون داشته اید باعث می شود که در این راه به ایده های جدید و جالب تری دست پیدا کنید و تعداد راهکارهایی که برای حل مشکلات خود با استفاده از این سیستم عامل پیدا می کنید بسیار بیشتر خواهد شد. همانطور که قبلا هم اشاره کردیم ، Linux جزوی از خانواده سیستم عامل های UNIX است . UNIX بصورت ویژه برای استفاده حرفه ای ها طراحی شده است .شما در همین حین که این دوره آموزشی را با ما جلو می روید تا حدودی با مفاهیم UNIX نیز آشنا خواهید شد اما این بدین معنا نیست که سیستم عامل لینوکس یک سیستم عامل صرفا برای حرفه ای ها است بلکه بیشتر نسخه های جدیدی که از لینوکس منتشر می شود تا جایی که ممکن است طوری طراحی می شود که کاربر پسند باشند و کاربران عادی نیز بتوانند از آنها براحتی استفاده کنند . خوب تا اینجا با مبانی لینوکس و چیستی آن آشنا شدید و متوجه شدید که چقدر این سیستم عامل می توان قدرتمند باشد ، از این به بعد و در مقالات بعدی به سراغ این خواهیم رفت که چگونه از این سیستم عامل استفاده کنیم ، در قدم اول نصب این سیستم عامل را با هم یاد خواهیم گرفت ، امیدوارم مورد توجه شما قرار گرفته باشد. لینوکس یک سیستم عامل است و سیستم عامل به معنی این است که مجموعه ای از برنامه ها هستند که با سخت افزار کامپیوتر ارتباط برقرار می کنند و بعضا پیش زمینه اجرا نرم افزارهای دیگری می شوند. یک سیستم عامل شامل برنامه های بنیادی می باشد که برای اجرای دستورالعمل های کاربران و برقراری ارتباط با کاربران مورد نیاز هستند ، برای مثال برای خواندن و نوشتن اطلاعات بر روی هارد دیسک ، پرینتر و حتی Tape ، مدیریت حافظه و حتی اجرای سایر نرم افزارها این برنامه های بنیادی مورد نیاز هستند. مهمترین قسمت یک سیستم عامل هسته یا Kernel آن سیستم عامل است. در یک سیستم GNU//Linux در واقع Linux سیستم عامل ما و در نقش هسته یا Kernel فعالیت می کند. اما باقی اجزای این سیستم شامل برنامه های متنوعی می باشد که اکثر آنها تحت لیسانس یا تابع قوانین GNU هستند که ما از این به بعد آن را با عنوان پروژه GNU می شناسیم . اما چرا ما همیشه با عنوان GNU//Linux این پروژه را نام می بریم ؟ دلیل این موضوع این است که سیستم عامل لینوکس بدون داشتن نرم افزارهایی که توسط پروژه GNU ایجاد شده اند تقریبا هیچ کار خاصی نمی تواند انجام دهد بنابراین ما همیشه Linux را در کنار پروژه GNU قرار می دهیم تا با همدیگر یک مجموعه کامل را تشکیل دهند. به نظر من و خیلی از دوستان دیگر بهتر است وقتی اسم لینوکس را می بریم آن را به شکل گنو لینوکس عنوان کنیم. فرض کنید سیستم عامل ویندوز را نصب کرده اید و هیچ نرم افزار جانبی بر روی آن نصب نشده است ، حتی مجموعه Notepad ، Paint ، Media Player و ... را در این سیستم عامل ندارید ! این دقیقا شرایطی است که شما زمانیکه لینوکس را بصورت خام نصب می کنید برای شما به وجود می آید اما GNU یعنی اضافه شدن Office ، Photoshop ، Outlook و ... به سیستم عامل خام ... البته مثال را با لینوکس جلو ببریم بهتر است و فقط برای مثال ویندوز را گفتیم که تصویر بهتری از موضوع داشته باشید. قبلا در مقاله ای در خصوص تاریخچه به وجود آمدن سیستم عامل لینوکس در انجمن لینوکس و سیستم های متن باز مقاله ای نوشته ام و همچنین مقاله ای در خصوص مقایسه سیستم عامل لینوکس و یونیکس نیز به تازگی نوشته ام تا درک بهتری از تفاوت این دو سیستم عامل داشته باشید اما بصورت کلی سیستم عامل لینوکس برگرفته ای از سیستم عامل یونیکس است. از بدو به وجود آمدن سیستم عامل لینوکس ، این سیستم عامل بصورت Multi-Tasking و Multi User طراحی و پیاده سازی شد. همین موضوع باعث شد سیستم عامل لینوکس با سایر سیستم عامل های موجود تفاوت های واضحی داشته باشد. اما نکته جالب در خصوص لینوکس که تصورش کمی سخت به نظر می رسید این بود ( و البته هست ) که لینوکس در مقایسه با سایر سیستم عامل های موجود در دنیا ، دارای مالک خاصی نبود و هیچ شرکت یا سازمان خاصی مالکیت آن را بر عهده نداشته و ندارد. بیشتر برنامه نویسی هایی که برای این سیستم عامل انجام می شود توسط برنامه نویس های داوطلب و علاقه مند انجام می شود. منظور از توزیع در لینوکس چیست؟نسخه های متعدد و متفاوتی از لینوکس وجود داردهمانطور که قبلا هم اشاره شد هسته این سیستم عامل را می توان به دلخواه تغییر داد و دستکاری کرد و به همین دلیل هر کس یا هر شرکتی می تواند نسخه لینوکس مخصوص به خود را توزیع و روانه بازار کند به هر یک از از این نسخه های متفاوت یک توزیع یا Distribution از لینوکس گفته می شود. بر خلاف سایر سیستم عامل هایی که در بازار هستند و توسط یک شرکت کنترل ، توزیع و مدیریت می شوند هسته لینوکس بصورت متمرکز مدیریت نشده است و استفاده و تغییر دادن آن نیز آزاد است. برخی از سازمان ها برنامه نویسانی دارند که لینوکس را برای سازمان خود بصورت خاص تغییر می دهند و این نسخه صرفا در اختیار همان سازمان قرار دارد توجه کنید که به این محصول توزیع یا Distribution گفته نمی شود ، یکی از ملاک هایی که ما می توانیم به یک محصول Distribution بگوییم این است که محصول بصورت عمومی و رایگان ارائه شود. معمولا توزیع ها برای استفاده در موارد خاص و به دلایل خاص ایجاد می شوند و برای برطرف کردن یک نیاز طراحی می شوند. نسخه های متعددی از لینوکس وجود دارد که برای مثال بصورت ویژه برای نصب بر روی سرور ها و ارائه سرویس هایی با حجم کاری بالای وب به کار می روند ، این نسخه برای پردازش ترافیک های سنگین وب طراحی می شود. برخی از این نسخه ها کاربردهای شبکه ای دارند و در جایی استفاده می شوند که امنیت یک اولویت به حساب می آید. در واقع لینوکس امروزه به عنوان هسته اصلی بسیاری از فایروال های پیشرفته مورد استفاده قرار می گیرد! جالب اینجاست که نسخه هایی از لینوکس وجود دارند که می توان آنها را بر روی یک سیستم عامل دیگر مثل ویندوز نصب کرد و کاربران ویندوز می توانند بصورت همزمان از لینوکس و ویندوز استفاده کنند.در این میان نسخه هایی از لینوکس نیز وجود دارد که بر روی کامپیوترهای Macintosh نصب می شوند. همچنین یکی دیگر از محل هایی که لینوکس بسیار به چشم می آید در Device ها یا تجهیزات شبکه است . برای مثال در Router ها ، Switch ها ، سیستم های تلفن ، گوشی های هوشمند، سیستم های GPS و چیزهایی شبیه به آن ، این لینوکس است که هسته اصلی تمامی آنها را ایجاد کرده است. حتی نامگذاری هایی که برای انواع توزیع های لینوکس وجود دارند نیز بسیار متنوع و در برخی اوقات بامزه هستند مثلا نسخه لینوکسی به نام SAMURAI وجود دارد. توزیع هایی از لینوکس نیز وجود دارند که بصورت ویژه برای استفاده در PC ها طراحی شده اند و مورد استفاده قرار می گیرند. محبوب ترین و پرکاربردترین توزیع لینوکس چیست؟انتخاب توزیع لینوکس یک چیز کاملا سلیقه ای است. این انتخاب کاملا بستگی به این دارد که شما از لینوکس چه انتظاراتی دارید ، و در جواب به این سئوال یک جمله می توان گفت ، بستگی دارد .برای اینکه بتوانید یک نسخه متناسب با نیاز خود انتخاب کنید بایستی سئوالات زیر را ابتدا از خود بپرسید و بر حسب آن توزیع لینوکس مورد نظرتان را را انتخاب کنید :
فراموش نکنید که هیچ نسخه بهترینی در لینوکس وجود ندارد . برای درک بهتر این موضوع به این مثال توجه کنید : شما وقتی که به کوهنوردی می روید ، کفش کوهنوردی ، کوله ، لباس بادگیر و ضد آب می پوشید وقتی برای یک مهمانی دعوت می شوید کت و شلوار و کفش رسمی می پوشید و وقتی هم که به ورزش می روید لباس گرمکن و کفش ورزشی به پا می کنید و در نهایت برای انجام کارهای روزمره خودتان هم لباس مخصوص خود را دارید . این دقیقا چیزی است که در لینوکس مشاهده می کنید ، اینکه چه نسخه ای از لینوکس جوابگوی کار شما است کاملا به این بستگی دارد که شما از لینوکس چه انتظاری دارید و در کجا می خواهید از لینوکس استفاده کنید ؟ لینوکس برای هر محیطی یک محصول ویژه آن دارد.اکثر کاربران لینوکس ترجیح می دهند که از نسخه های شناخته شده لینوکس استفاده کنند. این نسخه ها معمولا دارای پشتوانه قویتری نسبت به تیم های پشتیبانی سایر توزیع های لینوکس هستند. یکی از دلایلی که از سیستم عامل های مایکروسافت بیشتر استفاده می شود این است که یک شرکت قوی پشتیبان دارد و این یک معیار مهم برای انتخاب یک سیستم عامل می باشد. همیشه بین این سیستم عامل ها و طرفداران آن ها حرف و حدیث های زیادی وجود دارد اما معمولا بیشترین تخریب در این میان را شرکت مایکروسافت انجام می دهد و سعی بر این دارد که به مردم القا کند که سیستم عامل لینوکس ، سیستم عامل قابل اعتمادی نیست و شما نیازی به این سیستم عامل ندارید. اما من در اینجا نه از ویندوز دفاع می کنم و نه از لینوکس اما اعتقاد دارم که قطعا لینوکس می تواند تمامی نیازهای کاربری و سروری یک سازمان را بصورت کامل برطرف کند. در ادامه به معرفی نسخه های محبوب و قابل اتکای لینوکس می پردازیم که بر حسب نوع استفاده طبقه بندی شده اند :
قطعا چه در این مقاله و چه در مقالات دیگر نمی توانیم تمامی توزیع های مختلف لینوکس را مورد بررسی قرار بدهیم با توجه به اینکه قصد داریم سری مقالات خود را بر اساس یک توزیع شناخته شده پیش ببریم بنابراین در این سری مقالات صرفا از یک نسخه استاندارد از لینوکس استفاده خواهیم کرد که براحتی بتوان آن را بر روی PC نصب کرد. چندین توزیع شناخته شده و مشهور در زمینه سیستم عامل های Desktop لینوکس وجود دارند. قطعا راجع به این نسخه های شناخته شده اطلاعاتی دارید و در قسمت قبلی نیز معروف ترین های آنها را معرفی کردیم ، در واقع هر یک از اسامی که در بالا در زمینه سیستم عامل لینوکس گفته شد بر اساس نام شرکت یا سازمانی است که این توزیع را تولید کرده است . برای مثال Red Hat یک شرکت است. همانطور که گفته شد توزیع های لینوکس بسیار گسترده اند و حتی لینوکس هایی وجود دارند که بر اساس منطقه یا زبان یا کشور خاصی بومی سازی شده اند حتی در ایران نیز ما نسخه های بومی سازی شده از همین لینوکس را داریم که بعضا برخی اوقات از آنها به عنوان سیستم عامل ملی نیز نام برده می شود در پایین لیستی از نسخه های لینوکسی که به زبان پارسی بومی سازی شده اند را به همراه توضیحات مختصری می توانید مشاهده کنید :
منظور از FSF و GNU در لینوکس چیست؟اما چیزی که ما امروزه به عنوان پروژه GNU می شناسیم از سال 1983 توسط شخصی به نام ریچارد استالمن با معرفی یک سیستم عامل رایگان به نام GNU شروع شد که یک سیستم عامل شبیه به Unix بود. بعدها چیزی که امروزه ما به عنوان GNU//Linux می شناسیم در سال 1984 معرفی شد و تقریبا یکسال بعد از معرفی GNU بود که این دو چیز با هم یکپارچه شدند. پروژه GNU در حقیقت پروژه ای است که در آن نرم افزارهای رایگان برای سیستم عامل های رایگانی مثل لینوکس طراحی و تولید می شود و بصورت کاملا رایگان برای استفاده عموم قرار می گیرند.اگر نرم افزاری توسط لیسانس یا با استفاده از نام پروژه GNU تولید شود به این معناست که شما می توانید سورس کدهای این نرم افزار را بصورت رایگان دریافت کنید ، تغییرات دلخواه خود را بر روی آن انجام دهید و یا حتی کدهای آن را بصورت دلخواه تغییر دهید. در حال حاضر برنامه نویس ها ، شرکت ها و حتی ارگان های زیادی بر روی پروژه لینوکس کار می کنند اما در حال حاضر فقط یک محل است که بر روی پروژه GNU بصورت متمرکز کار می کند و ما آن را به عنوان Free Software Foundation یا FSF می شناسیم ، این بنیاد بیشتری ابزارهای موجود در لینوکسی که در حال حاضر استفاده می کنیم را تولید و پشتیبانی می کند ، فراموش نکنید که لینوکسی که استفاده می کنیم بدون FSF به مشکلات زیادی می خورد و به همین دلیل است که FSF باعث پیشرفت و گسترش لینوکس شده است و فلسفه لینوکس که سیستم عامل سورس باز در کنار نرم افزار سورس باز است با این بنیاد کامل می شود. اولین هسته لینوکس در سال 1991 توسط یک فارق التحصیل دانشگاهی رشته کامپیوتر به نام لینوس توروالدز ایجاد شد و فقط یک هسته سیستم عامل بدون نرم افزار بود ، هدف اصلی لینوس توروالدز ارائه کردن یک سیستم عامل رایگان و قابل تغییر بود اما برای این سیستم عامل نرم افزار نیز لازم بود و در آن زمان نرم افزار رایگان چندان عمومیت نداشت و در همین موقع بود که او با ریچارد استالمن همکار شد ، این شروع پروژه GNU//Linux بود ، یعنی سیستم عامل رایگان در کنار نرم افزار رایگان قرار گرفت. بنیاد نرم افزارهای رایگان یا همان Free Software Foundation در سال 1985 شروع به کار کرد. FSF به کاربران این اجازه را می داد که بتوانند نرم افزارهای کامپیوتری را بصورت رایگان استفاده کنند ، کپی کنند ، تغییر دهند و در نهایت توزیع کنند. FSF به شدت باعث ترویج داده شدن فرهنگ تولید و توسعه نرم افزارهای رایگان و آزاد متن که در اصطلاح Open Source گفته می شوند شد و امروزه شاهد این هستیم که بیشتر نرم افزارهایی که برای لینوکس نوشته می شوند از طریق این بنیاد و تحت پروژه GNU//Linux معرفی می شوند. برای کسب اطلاعات بیشتر در خصوص FSF و GNU می توانید به وب سایت های www.gnu.org و www.fsf.org مراجعه کنید. واژه Free یا آزاد در Free Software یا نرم افزار آزاد در حقیقت به معنی اختیار است نه قیمت ، شاید اگر بخواهیم واژه آزاد متن را استفاده کنیم بهترین مثال برای درک آن سخنرانی آزاد است که شما اختیار دارید راجع به هر چیزی که دوست دارید صحبت کنید. Free در واژه Free Software در واقع به این معنی است که شما در اجرا کردن ، کپی کردن ، توزیع کردن ، تغییر دادن و توسعه دادن یک نرم افزار اختیار کامل دارید. البته بد نیست نگاهی به مقاله خودم به نام تفاوت بین Freeware و Open Source بیندازید تا تفاوت این دو مفهوم را نیز بهتر درک کنید ، در هر صورت آزادی نرم افزار یا Free Software به چهار نوع آزادی و اختیار در حوزه تولید نرم افزار اشاره می کند که به ترتیب زیر هستند :
تا اینجا فکر می کنم تا حدودی مفهوم GNU را درک کرده باشید ، امیدوارم مورد توجه شما قرار گرفته باشد ، بحث در این خصوص بسیار زیاد است و دوستان زیادی هستند که تجریبات و اطلاعات بسیار مفیدی در این خصوص دارند ، امیدوارم بتوانیم ما نیز مانند پروژه GNU یک پروژه ایرانی GNU در توسینسو در آینده ایجاد کنیم ، خوشحال می شویم در ادامه از نظرات شما عزیزان استفاده کنیم. :: برچسبها: آموزش لینوکس , آموزش Linux , دوره آموزش لینوکس , دوره آموزشی لینوکس , آموزش لینوکس اسنشیالز , آموزش لینوکس اسنشیال , , :: بازدید از این مطلب : 370 نوشته شده توسط : محمد نصیری
![]()
چگونه بهتر یاد بگیریم؟ چگونه فراموش نکنیم و ... امروز من ، محمد نصیری ، بنیانگذار وب سایت توسینسو و انجمن تخصصی فناوری اطلاعات ایران به شما نکاتی را می گویم که بتوانید براحتی هر چیزی در حوزه آموزش تخصصی شبکه و امنیت و لینوکس و ... را به صورت دائمی یاد بگیرید و کمتر چیزی از ذهنتان خارج شود ، تکنیک های یادگیری که در ادامه به شما می گویم ، نتیجه دو دهه فعالیت من در این حوزه است و کاملا تجربی است . پس تا انتهای این مقاله از وب سایت توسینسو با ما باشید. حتما نوت برداری کنید نوت برداری مهمترین رکن در یادگیری در حوزه آیتی است. شما باید هر چیزی که یاد میگیرید را بصورت خلاصه برای خودتان بنویسید. فراموش نکنید که نوت برداری باید کاملا خلاصه باشد و اصلا قرار نیست خیلی جامع و کامل نوشته شود. به شکلی بنویسید که ساختار یادگیری شما مثل جستجو در کلیدواژه های گوگل باشد. کلیدواژه ها را با حداقل توضیحات و به شکلی که خودتان متوجه مفهوم کلیدواژه شوید بنویسید تا بهتر به خاطرتان سپرده شود. برای مثال :
زیبا نوت برداری کنید من به شخصه یکی از زیباترین دفترچه های نوت برداری را تهیه می کنم . یک دفتر سایز A4 پاپکو که به شکلی بسیار زیبا نوت برداری را در آن انجام می دهم. فکر می کنم حداقل در نوت برداری های من 4 رنگ خودکار وجود دارد که برای هر رنگی تعریفی وجود دارد. اگر از روی ویدیویی مشغول به یادگیری باشم ویدیو را قطع می کنم و چیزی که یاد گرفتم را بلافاصله نوت برداری می کنم. هیچوقت بصورت کامل ابتدا ویدیوها را نگاه نمی کنم ، همیشه بخش بخش ، قطعه قطعه نوت برداری می کنم. سعی کنید از نوشته هایتان دفترچه ای زیبا درست کنید. جزوه ننویسید شما قرار نیست امتحان بدهید. سعی کنید چیزهایی که درک می کنید را بنویسید. یعنی مفهومی که از ویدیو برداشت می کنید را یاد داشت کنید نه چیزی که در آن عینا گفته می شود . برای مثال :
به دیگران آموزش بدهید من به عنوان بنیانگذار انجمن تخصصی فناوری اطلاعات ایران و مجموعه توسینسو به جرات اعلام می کنم که مهمترین رکن در یادگیری ، یاد دادن است. وقتی شما چیزی را برای کسی توضیح می دهید به شدت در حافظه بلند مدت شما ماندگار می شود و این یکی از لذت بخش ترین انواع یادگیری است. ویدیو تولید کنید ، کانال تلگرام بسازید ، صفحه اینستاگرام و .. داشته باشید و بدون توجه به تعداد مخاطب به دیگران آموزش بدهید. این باعث ماندگاری مطالب در ذهن شما می شود. به سوالات دیگران پاسخ بدهید فعالیت کردن در تالارهای گفتمان یا همان فروم های تخصصی می تواند به شدت دید شما را نسبت به مسائل و مشکلات بازار کار و محیط های واقعی بالا ببرد. قطعا کسیکه در محیط واقعی دچار مشکل شده است و آن را در محیط تالار گفتمان مطرح می کند یعنی شما را با چالشی برای حل مسئله مواجه کرده است. شما با جستجو کردن و تلاش برای حل مشکل آن فرد باعث می شوید در ذهنتان راهکاری جدید ثبت شود و مشکل و راهکار همزمان در ذهن شما هک شود. سوال بپرسید و حتی به سوال خودتان بعد از پیدا کردن راهکار حل مشکل پاسخ بدهید. نتیجه فوق العاده ای میگیرید. یکی از دلیل های پیشرفت من در حوزه شبکه ، امنیت و لینوکس قطعا وجود تالار گفتمان تخصصی توسینسو در این حوزه بوده است. در مصاحبه ها شرکت کنید مصاحبه به شدت در توسعه فردی شما و کمک به یادگیری و درک نیاز بازار کار کمک می کند. حتی اگر به موضوعی به قدر کافی مسلط نیستید ، ریسک کنید و درخواست مصاحبه به شرکت های مختلف بدهید . این باعث می شود شما جسارت بیشتری برای مصاحبه های بعدی داشته باشید و از مسائل بازار کار به خوبی آگاه شوید. از طرفی سوالاتی که در مصاحبه انجام می شود بیشتر مربوط به مرسوم ترین و مهمترین تکنولوژی هایی است که شما در حال مطالعه آن هستید و به شما کمک می کند که بر روی مباحث مهمتر انرژی بگذارید و مسائل کم اهمیت را از قسمت آموزش و یادگیری خود کمرنگ کنید. لابراتوار برای هر کاری طراحی کنید برای یادگیری و آموزش لینوکس و شبکه و امنیت شما هیچ نیازی به خرید تجهیزات ندارید. شما با استفاده از نرم افزارهای مجازی سازی و البته نرم افزارهای Emulator یا شبیه ساز شبکه ، بدون هیچ هزینه ای می توانید یک لابراتوار و حتی یک مرکز داده قوی و سنگین طراحی کنید و براحتی در آن سناریوهای متنوع را تست و یاد بگیرید. بدون اینکه دغدغه خرابکاری داشته باشید. لابراتوار با کیفیت از اولین و مهمترین فاکتورها در یادگیری درست است. خرابکاری و ریسک کنید خرابکاری و ریسک کنید اما با علم و آگاهی ، وقتی شما خرابکاری نکنید و نتوانید خرابکاری خودتان را درست کنید. نمی توانید در کار خود پیشرفت کنید. وقتی ریسک به روز رسانی سیستم های قدیمی ، نرم افزارهای قدیمی ، تجهیزات قدیمی و ... اعمال تغییرات جدید و ... را به خودتان نمی دهید. طبیعتا شما همیشه در جای خود درجا می زنید. من در این دو دهه حضورم در بزرگترین سازمان های ایران همیشه ریسک پذیر بوده ام و مسئولیت کارهایی که کرده ام را پذیرفته ام و به همین دلیل تجربیات بسیار بزرگی کسب کرده ام که ضمن اینکه یک کلاس آموزشی بوده اند ، بسیار در مشاوره دادن به سایرین نیز به من کمک کرده اند. اینها مهمترین تجربیات من از یادگیری درست در این حوزه است. امیدوارم مورد توجه شما عزیزان و مخاطبین وب سایت توسینسو قرار گرفته باشد. اگر نظری دارید خوشحال شویم در ادامه مطرح کنید.
:: برچسبها: آموزش لینوکس, آموزش شبکه, آموزش نتورک پلاس, آموزش سکیوریتی پلاس , :: بازدید از این مطلب : 357 نوشته شده توسط : محمد نصیری
چگونه تشخیص بدهیم اکتیودایرکتوری ما سالم است؟ چگونه از اکتیودایرکتوری کوئری بگیریم؟ چگونه اکتیودایرکتوری را مانیتور کنیم ؟ چگونه از اکتیودایرکتوری گزارش های مناسب دریافت کنیم؟ چگونه کاربران و گروه های حذف شده در اکتیودایرکتوری را بازیابی کنیم؟ چگونه از اکتیودایرکتوری بکاپ بگیریم و ... همه از جمله سوالاتی است که یک مدیر شبکه مایکروسافتی حتما درگیر انها شده است. طبیعتا یک مدیر شبکه حرفه ای با استفاده از دستورات خط فرمان و البته کمی محیط گرافیک می تواند نیازهای مربوط به این سوالات را برآورده کند اما بد نیست بدانید که ابزارها یا نرم افزارهایی وجود دارند که مدیریت و استفاده از اکتیودایرکتوری برای بالا بردن سرعت کاری شما را بالا می برند و این کارهایی که گفتیم را براحتی برای شما با محیط گرافیکی انجام می دهند . در این مطلب قصد داریم به معرفی برخی از این ابزارهای مدیریت Active Directory بپردازیم. LDAP Administrator ابزار کوئری گرفتنSofterra LDAP Administrator ابزاری است که به شما امکان اتصال و دریافت اطلاعات از دایرکتوری سرویس هایی مثل اکتیودایرکتوری ، ناول دایرکتوری سرویس ، سرویس های NetScape و ... را که مبتنی بر پروتکل LDAP هستند را می دهد.این ابزار برای شما گزارش های طبقه بندی شده و جامعی در خصوص ساختار دایرکتوری سرویس و همچنین مباحث مربوط به مانیتورینگ این سرویس ها را ارائه می دهد. اکثر فرآیندهایی که توسط این ابزار انجام می شوند بصورت Read-Only یا فقط خواندنی انجام می شوند بنابراین استفاده از این ابزار به خودی خود هیچگونه مشکلی برای شبکه شما ایجاد نمی کند.اما مهاجمین از این ابزار به عنوان یک ابزار برای بدست آوردن اطلاعات دایرکتوری سرویس برای انجام حملات خود نیز می توانند استفاده کنند و این ابزار بسیار برای LDAP Enumeration مناسب است. این ابزار قابلیت گزارش گیری از Username ها ، Share ها ، ایمیل ها ، اطلاعات هویتی و شخصی کلیه Object های تعریف شده در دایرکتوری سرویس را دارد و گزارش های مناسبی را در این خصوص ارائه می کند. این ابزار از LDAP-SQL برای Query گرفتن از LDAP استفاده می کند و گزارش های مبتنی بر درخواست قابل شخصی سازی را در اختیار ما می گذارد Keck ابزار گزارشگیریKeck 2.0 ،ابزاری ساده جهت مدیریت اکتیودایرکتوری میباشد. بسیاری از امکاناتی که این ابزار ارائه میدهد در ساختار اکتیودایرکتوری وجود دارد،با این تفاوت که در این ابزار محیطی ساده و امکان ایجاد و طراحی کاربران و گروههای صمیمانه ای برای شما فراهم شده است. همچنین استفاده از Keck از طریق تلفن هوشمند یا IPad به راحتی امکانپذیر است.این نرم افزار دارای قابلیت Multi-Level Permissions نیز میباشد،این بدین معنی است که بر اساس دسترسی های مربوط با نام کاربری و پسوردی که در ابتدای ورود به نرم افزار وارد میشود،به فعالیتهای خود ادامه خواهیدداد. با استفاده از این ابزار شما میتوانید:
CobynSoft AD Object ابزار بازیابی اطلاعاتچطور می توان Object های حذف شده از اکتیودایرکتوری را برگرداند؟حتما برای شما هم پیش آمده است که بصورت تصادفی Object های اکتیودایرکتوری خودتان اعم از OU ها ، Group ها و User ها را به اشتباه حذف کرده باشید و قصد بازگردانی آنها را داشته باشید. اینکار در حالت معمول با استفاده از قابلیت Backup گیری یا Recycle Bin در اکتیودایرکتوری انجام می شود. ابزار Cobynsoft's AD Object Recovery یک ابزار ویندوزی بسیار ساده برای Query گرفتن از Object هایی است که در اکتیودایرکتوری حذف شده اند.این ابزار می تواند computer account ها ، user ها ، group ها و سایر object های حذف شده را پیدا م به سادگی آنها را بازگردانی کند. این ابزار دارای یک رابط گرافیکی بسیار ساده است که حتی بدون نیاز به reboot کردن سرور domain controller قادر به بازیابی object های شما می باشد. در واقع تمامی قابلیت های reanimate کردن tombstone و ... همگی در این ابزار خلاصه شده اند. در بالا تصویری از محیط این ابزار ساده مشاهده می کنید. Change Notifier ابزار مانیتورینگ و گزارش تغییراتیکی از مواردی که برای یک مدیر شبکه بسیار مهم است این است که بداند چه اتفاقاتی در Active Directory آن شبکه رخ داده یا در حال رخ داد است ، شما می خواهید بدانید که چه تغییراتی بر روی کاربران یا اعضای گروه های اکتیودایرکتوری ایجاد شده است و یا اینکه OU های شما و سایر Object های موجود در اکتیودایرکتوری شما چه تغییراتی در Permission های خودشات داشته اند . ابزار Netwrix Change Notifier for Active Directory همانطور که از نامش هم پیداست یک ابزار کاملا رایگان است که به شما کوچکترین اتفاق و تغییری که در ساختار اکتیودایرکتوری رخ بدهد را گزاش می دهد این گزارش ها می تواند در بازه های زمانی 24 ساعته یا ... تهیه و ارائه شوند. این ابزار رایگان تا کنون برنده چندین جایزه Redmon Magazine و Windows IT Pr Mangazine در حوزه خودش شده است ، این ابزار امکان گزارش گیری از چندین سرور بصورت همزمان را دارد و قابلیت تجزیه و تحلیل هزاران Log فایل اکتیودایرکتوری و گزارش دهی ساده به مدیر شبکه را دارد ، این ابزار بصورت 100 تضمینی و رایگان در اختیار عموم قرار گرفته است و امیدوارم مورد توجه شما قرار بگیرد AdExplorer ابزار بکاپ گیریاین برنامه توسط تیم sysinternal ماکروسافت نوشته شده که بسیار سبک بوده و قابلیت بکاپ گرفتن از اکتیو دایرکتوری را به کاربر میدهد.توسط این برنامه شما به راحتی میتوانید object های مختلف اکتیو دایرکتوری را مشاهده کرده و تغییر دهید.همچنین این برنامه قابلیت تغییر permission هارا به شما میدهد. یکی از نقاط قوت این برنامه قابلیت Search بسیار دقیق و ریز آن میباشد که میتواند چند query را با هم AND یا OR کنید.شما براحتی میتوانید به وسیله محیط گرافیکی برنامه یا کامندلاین آن اقدام به گرفتن Snapshot از اکتیو دایرکتوری نمایید. بعد از گرفتن Snapshot میتوانید خروجی آن را که یک فایل DAT است را در هر سیستمی مشاهده کنید. (فایل DAT فقط به وسیله خود ADexplorer اجرا میشود) توجه داشته باشید که برای استفاده کردن از این برنامه حتما باید IP یکی از اکتیو دایرکتوری هارا به دست اورده و یک Credential هم به برنامه بدهید. GetSID ابزار مشاهده SID هاقبلا در وب سایت توسینسو در جزیره مایکروسافت مقاله ای با عنوان چگونه SID کاربران را مشاهده کنیم نوشته ام ، همانطور که می دانید کاربران شبکه و در واقع تمامی Object های موجود در آن دارای یک SID یا شناسه امنیت هستند که از دید کاربران و مدیر شبکه مخفی می باشد.با استفاده از این ابزار رایگان بسیار بسیار ساده شما می توانید با وارد کردن نام کاربر مربوطه و نام دامین آن بلافاصله شماره SID آنرا مشاهده کنید. توجه کنید که برای استفاده از این ابزار حتما Net Framework. را روی سیستم نصب کنید. این ابزار کوچک و کم حجم را می توانید از طریق لینک زیر دانلود کنید Quest ابزار بازگردانی Object های حذف شدهاگر به عنوان مدیر سیستم در شبکه ای کار کرده باشید که از Active Directory استفاده می کند ، حتما برای شما هم پیش آمده است که بصورت تصادفی و ناخواسته یک User یا Computer را حذف کرده باشید. در چنین شرایطی بازگرداندن این User یا Computer کار چندان ساده ای به نظر نمی رسد شما باید از Backup ای که قبلا گرفته اید در حالت Authoritative بازگردانی انجام دهید و صرفا همان Object حذف شده را بازگردانی کنید و این بسیار زمانگیر و دردسرساز است. قابلیت های دیگری هم برای بازگردانی در ویندوز های سرور جدید تعبیه شده اند که می توان به Active Directory Snapshot و Active Directory Recycle Bin اشاره کرد ، اما هر کدام دردسرهای خاص خودشان را دارند. ابزار Quest Object Restore for Active Directory برای ساده کردن کار شما ایجاد شده است ، این ابزار به شما اجازه بازگردانی یا Restore کردن Object های حذف شدن از اکتیودایرکتوری را در محیطی کاملا گرافیکی و بدون نیاز به خاموش و روشن شدن سرور انجام می دهد. ابزارهای مشابهی هم وجود دارند که همین کار را انجام می دهند اما تفاوت این ابزار در این است که وابستگی به Snapshot گرفته شده از اکتیودایرکتوری ندارد. منطق کاری این ابزار بر این اساس است که هر شیئی که در اکتیودایرکتوری حذف شود ، بلافاصله از پایگاه داده آن خارج نخواهد شد و به عنوان Mark as deleted در اکتیودایرکتوری نگهداری می شود تا زمان Tombstone Lifetime آن به پایان برسد.
استفاده از این ابزار بسیار ساده است و شما کافیست بعد از نصب این ابزار و باز کردن آن به Domain مورد نظر خود متصل شده و بر روی Object مورد نظر خود راست کلیک کرده و گزینه Restore را بزنید.نکته بسیار مهم در استفاده از این ابزار این است که بعد از اینکه ابزار اشیاء حذف شده را بازگردانی کرد ، کلیه مشخصات آن کاربر به صورت کامل بازگردانی نخواهد شد ، first name و last name بازگردانی نمی شوند و از طرفی رمز عبور کاربر نیز Blank خواهد بود. عضویت در گروه ها برای کاربر حذف خواهند شد ، بنابر این بعد از بازگردانی Object ها حتما برای آنها رمز مناسب گذاشته و تنظیمات عضویت در گروه ها را نیز مجددا برای آن انجام دهید ، توجه کنید که مهمترین مسئله SID کاربر مورد نظر است که ثابت باقی می ماند. ابزار رایگان زیر را می توانید از لینک زیر دریافت کنید . Health Scanner ابزار بررسی سلامتیابزار Microsoft Environment Health Scanner برای مدیران شبکه ای طراحی شده است که می خواهند از سلامت کلی ساختار اکتیودایرکتوری و زیرساختار شبکه خود مطلع شوند. این ابزار مشکلات معمولی را که در محیط شبکه شما به وجود می آید و باعث عدم فعالیت درست شبکه می شود را شناسایی و گزارش می کند. این ابزار بیشتر در شبکه های کوچک و متوسط که معمولا بین 20 عدد سرور و 500 عدد کلاینت دارند مورد استفاده قرار می گیرد.این ابزار قادر به شناسایی مشکلاتی که ناشی از Upgrade کردن سیستم عامل ها ، مهاجرت دادن سیستم عامل سرور ها و مشکلاتی از این قبیل می باشد . زمانیکه که این ابزار را بر روی یک کامپیوتر یا سرور که عضو شبکه است و دارای دسترسی های لازم نیز می باشد نصب می کنید این ابزار در کمتر از چند دقیقه کلیه محیط IT شما را Scan میکند و بیش از 100 عدد بررسی جداگانه را بر روی شبکه شما انجام می دهد ، بعد از جمع آوری اطلاعات ، آنها را طبقه بندی کرده و اطلاعات را تحلیل میکند و به شما ارائه می کند ، برخی از اطلاعاتی که این ابزار به شما ارائه می کند به شرح زیر است :
اگر این ابزار مشکلی را در سلامتی سیستم تشخیص بدهد ، در وهله اول در خصوص مشکل به وجود آمده گزارش می دهد و توضیحات کاملی را ارائه میدهد ، سپس با توجه به حساسیت سرور به شما لینکی به راهنمای حل چنین مشکلاتی به وب سایت شرکت مایکروسافت می دهد تا بتوانید مشکل را حل کنید شما می توانید نتیجه این گزارش را براحتی پرینت گرفته و مرور کنید ، توجه کنید که این ابزار هیچگونه تغییری بر روی سیستم شما ایجاد نمی کند. ابزارهای متنوعی برای کمک به مدیرشبکه های مایکروسافتی وجود دارد که قطعا شما از آنها استفاده کرده اید. این ابزارها بیشتر بصورت تجربی برای من کاربرد داشته اند ، اگر ابزار خاصی را می شناسید که شما را در مدیریت شبکه مایکروسافت کمک کرده اند لطفا در ادامه معرفی کنید. :: برچسبها: آموزش شبکه های مایکروسافت , آموزش مهندسی شبکه مایکروسافت , دوره مهندسی شبکه مایکروسافت , آموزش MCSA دوره آموزشی MCSA , آموزش MCSE , دوره آموزشی MCSE , :: بازدید از این مطلب : 382 نوشته شده توسط : محمد نصیری
ابزارهای اسکنر سئوی بسیار متنوعی در دنیا وجود دارند اما امروز می خواهیم 10 ابزار آنلاین و رایگان بررسی سئوی فنی وب سایت را به شما معرفی کنیم که به شما نکات فنی رعایت شده و رعایت نشده از نظر معیارهای سئوی فنی یا Technical SEO را به شما گزارش می دهند و شما می توانید متوجه اشتباهات فنی وب سایت خودتان در حوزه SEO بشوید و آنها را پوشش بدهید. برخی از این وب سایت ها بصورت کامل بررسی سئوی شما را کاملا رایگان انجام می دهند و برخی هم اکانت های موقتی یا تعداد اسکن محدود ارائه می دهد که هر کدام به نوبه خودش می تواند به شما در زمان خودش کمک کند ، پس در ادامه معرفی این اسکنرهای SEO با ما باشید .ابزارهای SEO Scanner به تحلیل و بهینهسازی سایت برای موتورهای جستجو کمک میکنند. برخی از بهترین ابزارهای اسکن سئو شامل Google Search Console، SEMrush، Ahrefs، Moz Pro، Screaming Frog و Ubersuggest هستند که به بررسی کلمات کلیدی، لینکسازی، سرعت سایت و مشکلات فنی کمک میکنند. در آموزش طراحی سایت، استفاده از ابزارهایی مانند GTmetrix و PageSpeed Insights برای بهینهسازی سرعت و تجربه کاربری ضروری است. SEO PowerSuite، Sitechecker و Seobility نیز ابزارهای حرفهای دیگری هستند که به بهبود سئو کمک میکنند. استفاده از این ابزارها باعث افزایش رتبه سایت در نتایج جستجو و جذب بازدیدکنندگان بیشتر میشود.
اولین ابزار اکسنر سئو | SEO Scanner : ScanneriZerSanneriZer یک وب سایت آنالیز و بازرسی SEO کاملا قابل دلخواه سازی برای مراکز بازاریابی دیجیتال و البته متخصصین SEO است که می توانند تا حد زیادی این ابزار را مطابق با خواسته های خودشان تنظیم کنند. اکثر ابزارهای تجزیه و تحلیل گر SEO فقط می توانند ظاهر گزارشهای خروجی ابزارها را تغییر بدهند اما Scannerizer می توانند یک گزارش منحصر به فرد و خاص شما تهیه و تدوین کند. از طریق لینک بالا شما می توانید یک اسکن رایگان سئو از وب سایت خودتان بگیرید و Overall Score خود را مشاهده و مشکلاتی که در سئو وجود دارد از لحاظ فنی را برطرف کنید.
دومین ابزار اسکنر سئو | SEO Scanner : SiteCheckerSiteChecker یکی از محبوب ترین بازرسین سئوی فنی آنلاین در دنیا به حساب می آید. این وب سایت می تواند به خوبی وب سایت شما را برای پیدا کردن مشکلات سئوی فنی و بررسی تک تک آدرس های URL وارد شده در آن انجام دهد. در SiteChecker مواردی از قبیل عنوان ها ، توضیحات ، تگ های H1 تا H6 ، اندازه صفحات ، وضعیت خطاهای وضعیت HTTP ، وضعیت نمایش نتایج در گوگل یا SERP ، ساختار درست نمایش داده عنوان و ... همگی بررسی می شوند و گزارش جامعی از مشکلات وب سایت شما در حوزه SEO به شما ارائه می شود. نکته جالب در خصوص اسکن کردن این وب سایت این است که می تواند آدرس وب سایت شما را هم با قابلیت بررسی در گوشی و بررسی در دسکتاپ تجزیه و تحلیل کند و در نهایت گزارش و پیشنهاد بهبود وضعیت سئو را نیز به شما ارائه خواهد کرد.
سومین ابزار اسکنر سئو | SEO Scanner : SEOptimerموتورهای جستجو فاکتورهای مختلفی را برای رتبه بندی صفحات وب سایت شما استفاده می کنند. وب سایت SEOptimer این امکان را به شما می دهد که از لحاظ فاکتورهای متنوع SEO مثل سئوی فنی صفحات داخلی وب سایت ، لینک سازی داخلی مناسب ، کاربردی بودن و راحت بودن کار با وب سایت ، کارایی و سرعت وب سایت ، رسانه های شبکه اجتماعی و ... بررسی کنید و بتوانید تحلیل کنید که بزرگترین مشکل SEO وب سایت شما در چیست. در واقع SEOptimer وب سایت شما را از نظر یک موتور جستجو بررسی می کند و یک گزارش بسیار شفاف ، تمیز ، و اولویت بندی شده شامل پیشنهادهای بهبود SEO فنی در صفحات وب سایت به شما ارائه می کند .
چهارمین ابزار اسکنر سئو | SEO Scanner : SEObilitySEObility هم یک وب سایت اسکنر SEO بسیار فنی است که با استفاده از فاکتورهای خودش وب سایت شما را آنالیز می کند و گزارش های دقیقی هم ارائه می دهد. از جمله گزارش ها و نکاتی که در بهبود SEO فنی وب سایت توسط SEObility ارائه می شود می توان به بررسی اطلاعات Meta ، بررسی کیفیت صفحه وب ، بررسی کیفیت ساختار وب سایت ، بررسی ساختار لینک های وب سایت ، بررسی وضعیت دسترسی به سرور و کیفیت دسترسی به سرور و در نهایت فاکتورهای خارجی سئو را می توان عنوان کرد.
پنجمین ابزار اسکنر سئو | SEO Scanner : SEMrushSEMRush تنها یک اسکنر سئو نیست بلکه غولی در صنعت سئو در دنیاست که خودش برای بسیاری از کارشناسان سئو مرجع محسوب می شود. شما بعد از ثبت نام در این وب سایت و وارد شدن به داشبورد حرفه ای مدیریت SEO آن متوجه می شوید که اسکن فاکتورهای فنی SEO برای این وب سایت صرفا یک بازی کودکانه مسحوب می شود ، این ابزار ضمن اینکه همه فاکتورهای سئو یک وب سایت را می تواند آنالیز کند ، می تواند برای پیدا کردن کلمات کلیدی و تحلیل رقبای شما هم بسیار مفید باشد. SEMRush را حتما تست کنید و حتی پیشنهاد می کنیم در صورت نیاز به خرید یک اکانت محدود یک ماهه برای تجزیه و تحلیل کامل وب سایت ، از SEMRush استفاده کنید.
ششمین ابزار اسکنر سئو | SEO Scanner : SEO Site Checkupوب سایت SEO Site Checkup هم یکی از ابزارهای قوی تجزیه و تحلیلگر سئوی وب سایت است که امکان بررسی رقبا را نیز برای شما فراهم می کند. اسکنر سئوی این وب سایت بسیار تند و سریع است و در عین حال پیشنهاد های ساده ای هم برای بهبود وضعیت سئو به شما ارائه می دهد . گزارش های این وب سایت از وضعیت SEO سایت بسیار آسان و قابل درک است و به شما یک اکانت 14 روزه رایگان هم برای تجزیه و تحلیل کامل وب سایت ارائه می دهد.
هفتمین ابزار اسکنر سئو | SEO Scanner : NeilPatelوب سایت NeilPatel با مکانیزم جالبی فاکتورهای سئو وب سایت شما را تجزیه و تحلیل می کند. این وب سایت به عنوان یک موتور جستجو یا Cralwer ابتدا قسمتی از وب سایت شما را طی چند دقیقه اسکن می کند و بر اساس نتایج به دست آمده تجزیه و تحلیل SEO را به شما خروجی می دهد و مشکلات شما را در این حوزه گزارش می دهد.
هشتمین ابزار اسکنر سئو | SEO Scanner : SEO Tester OnlineSEO Tester Online هم یک ابزار پیشرفته بازاریابی دیجیتال محسوب می شود که بخشی از کارش انالیز کردن سئوی وب سایت شماست . این وب سایت می تواند وضعیت فنی سئوی سایت شما را بررسی کنید و در عین حال امکاناتی مثل بازاریابی محتوا ، بررسی وضعیت شما در موتورهای جستجو ، تجزیه و تحلیل کلمات کلیدی ، تجزیه و تحلیل رقبا و ... را نیز به شما ارائه می دهد. این وب سایت هم دارای یک داشبورد حرفه ای مدیریت بازاریابی و SEO برای وب سایت است.
نهمین ابزار اسکنر سئو | SEO Scanner : IONOS SEO CheckerIONOS در واقع یک شرکت هاستینگ اینترنتی است که سرویس های متنوعی از جمله هاستینگ ، SSL و طراحی وب سایت با وردپرس و ... هم انجام می دهد اما در لینکی که از این وب سایت قرار داده ایم ، قسمتی به عنوان اسکنر سئو نیز در نظر گرفته شده است که فاکتورهای اولیه سئوی فنی را به شما گزارش می دهد.
دهمین ابزار اسکنر سئو | SEO Scanner : RankWatchRankWatch هم یک وب سایت حرفه ای برای تجزیه و تحلیل وب سایت شما از نظر سئو است که این قابلیت را می دهد که اسکن سئوی وب سایت شما با بررسی کلمات کلیدی خاصی صورت بگیرد و این یکی از فاکتورهای جذاب در استفاده از این ابزار است . شرکت های بزرگی از این سرویس در حال استفاده هستند و به نوعی یکی از ابزارهای مارکتینگ اینترنتی محسوب می شود.
یازدهمین ابزار اسکنر سئو | SEO Scanner : SEO Web Page AnalyzerSEO Web Page Analyzer هم یک وب سایت بسیار ساده و در عین حال بسیار راحت و کاربردی برای انالیز سئوی وب سایت های شماست که در عین سادگی می تواند به شما در بهبود سئوی فنی بسیار کمک کند. کافیست وب سایت را باز کنید ، آدرس را وارد کنید و آنالیز را بزنید.
دوازدهمین ابزار اکسنر سئو | SEO Scanner : Power MapperPower Mapper هم یکی دیگر از وب سایت هایی است که کاربرد اصلی آنها در بازاریابی دیجیتال است و قسمتی از کارشان را بصورت رایگان در قالب بررسی وب سایت شما از لحاظ موتورهای جستجو ( دیدگاه موتورهای جستجو در خصوص وب سایت شما ) تست می کنند و خروجی نیز ارائه می کنند . این وب سایت هم می تواند برای شما در نوع خود جذب باشد. اسکن کردن این وب سایت روی صفحات محدودی از وب سایت انجام می شود و اگر می خواهید اسکن دقیقی از کل وب سایت داشته باشید باید اکانت پولی آن را خریداری کنید. نتیجه گیریابزارهای بسیار زیادی بصورت آنلاین و رایگان وجود دارند که شما می توانید سئوی وب سایت خود را با آنها آنالیز کنید. دقت کنید که اکثر این ابزارها تقریبا عملیات مشابهی را انجام می دهند زیرا استاندارد SEO برای موتورهای جستجو تقریبا یکسان است. پیشنهاد می کنم همیشه برای تست کردن SEO یک وب سایت همزمان از گزارش های چند وب سایت استفاده کنید و خروجی خودتان را تحلیل کنید. هیچوقت به گزارش صرف یک وب سایت بسنده نکنید. :: برچسبها: X آموزش سئو X آموزش طراحی وب , آموزش طراحی سایت , آموزش PHP , آموزش HTML , آموزش CSS , آموزش جاوا اسکریپت , آموزش JavaScriptآموزش ساخت سایت , آموزش MySQL , :: بازدید از این مطلب : 412 نوشته شده توسط : محمد نصیری
اگر شما هم از کاربران گوگل آنالیتیکز | Google Analytics بوده باشید و از آمار و ارقام و تجزیه و تحلیل های این سرویس گوگل استفاده کرده باشید حتما می دانید که این سرویس چقدر می تواند برای کسب و کار اینترنتی و وب سایت شما مفید باشد. در این مقاله می خواهیم 10 وب سایت جایگزین گوگل آنالیتیکز را به شما معرفی کنیم که تجزیه و تحلیل های جالبتر ، عملکردهای متنوع تر و البته کارایی های متنوع تری از این سرویس به شما ارائه می دهند و شما می توانید از انها به عنوان جایگزین Google Analytics استفاده کنید . در ادامه با معرفی این سرویس های اینترنتی در خدمت شما هستیم.
جایگزین شماره 1 گوگل آنالیتیکز : هاب اسپات | HubSpotهاب اسپات بصورت ویژه یک سیستم مدیریت مشتری یا CRM است که برای مصارف بازاریابی هم مورد استفاده قرار می گیرد اما این بازاریابی شامل تجزیه و تحلیل آماری وب سایت شما همی می شود. شما می توانید اطلاعاتی از قبیل منابع ترافیکی وب سایت ، کارایی صفحات وب سایت ، نرخ تبدیل ها و ... را از طریق این وب سایت به دست بیاورید. شما می توانید با این ابزار یک چرخه کامل از چرخه مشتری مداری خود تهیه کنید و در قالب یک پایگاه داده بصورت مجتمع از آنها استفاده کنید. بهترین کاربرد این ابزار ایجاد کردن گزارش های تخصصی و دلخواه است از طریق داشبورد این ابزار به شما ارائه می شود و یک امکان بسیار مهم برای تیم کاری شما محسوب می شود.
جایگزین شماره 2 گوگل آنالیتیکز : میکس پنل | MixPanelمیکس پنل با دیدگاه متفاوتی به تجزیه و تحلیل آمار وب سایت شما می پردازد ، در واقع دیدگاه ابزارهای سنتی در میکس پنل وجود ندارد ، فلسفه ایجاد و استفاده از این ابزار آنلاین این است که فعالیت ها و حرکاتی که کاربر در وب سایت شما انجام می دهد از میزان بازدید از صفحات شما یا Page View های شما مهمتر است. با این دیدگاه شما می توانید جریان حرکت و فعالیت کاربرانتان در وب سایت و نحوه برخورد آنها با کالا ها و خدمات خود را تجزیه و تحلیل کنید.
جایگزین شماره 3 گوگل آنالیتیکز : ووپرا | Woopraووپرا بر روی چهار طبقه بندی داده ای متمرکز شده است ، بازدید کنندگان ، روند فعالیت بازدید کنندگان و حفظ کاربران وب سایت و Trend ها ، این ابزار برای شما تجزیه و تحلیل می کند که مشتریان شما در کجای وب سایت شما درگیر می شوند و بهترین نقاط تعامل کاربر با وب سایت شما را شناسایی می کند. ووپرا می تواند با یک کلیک به سایر سرویس های کاربردی مثل Salesforce ، Google Ads و ... متصل شود و داده های آماری از آنها دریافت و برای شما نمایش بدهد.
جایگزین شماره 4 گوگل آنالیتیکز : فاکس متریکس | FoxMetrixفاکس متریکس تجزیه و تحلیل وب را به سبکی کاملا متفاوت انجام می دهد و به شما اجازه می دهد که دیتامدل های مختلفی برای خودتان طراحی کنید که بسیار از دیتامدل هایی که گوگل آنالیتیکز به شما ارائه می دهد قویتر هستند. البته فاکس متریکس یک وب سایت ویژه متخصصینی است که دیدی نسبت به SQL داشته باشند و بتوانند از این طریق دیتامدل های قویتری تولید کنند.بعد از اینکه با استفاده از این ابزار دیتامدل های خودتان را ساختید ، می توانید داشبوردهای تخصصی و زیبا درست کنید و با استفاده از این داشتبوردها در لحظه وب سایت و اتفاقات و تجزیه و تحلیل های آماری خود را انجام دهید و اتفاقات غیرعادی را کامل آنالیز کنید.
جایگزین شماره 5 گوگل آنالیتیکز : پیویک | Piwikپیویک یک جایگزین برای گوگل آنالاتیکز است اگر بخواهید بیشتر در زمینه حریم خصوصی حساس باشید. این وب سرویس به دلیل اهمیت زیاد به مبحث حریم خصوصی بیشتر می تواند برای ارگان های دولتی ، مراکز پزشکی و درمانی و یا سیستم های مالی مناسب باشد که دیتای مشتریان آنها از نوع خاصی است . شما می توانید رفتار کاربر در دسکتاپ ، موبایل و حتی اپلیکیشن و حتی لاگین و ... کاربر را نیز با این ابزار انالیز کنید. Piwik به شما کنترل کامل بر روی داده ها و نحوه ذخیره سازی انها را می دهد و امکان استفاده شدن در Public Cloud و Private Cloud را نیز به شما می دهد. Piwk جزو معدود وب سایت هایی است که کاملا تابع قوانین حریم خصوصی برای شماست و واقعا این موارد را رعایت می کند.
جایگزین شماره 6 گوگل آنالیتیکز : گاوجز | Gaugesگاوجز یک جایگزین مناسب برای آمارهای تجزیه و تحلیلی گوگل آنالیتیکز به حساب می آید. این وب سایت به شما امکان بررسی ترافیک ورودی به وب سایت و مدل بندی این ترافیک را می دهد و قابلیت هایی مثل رفتار مشتریان ، بررسی نتیجه کمپین ها و تجزیه و تحلیل آمار بازگشت هزینه ها را می تواند انجام بدهد. شاید قویترین و جذاب ترین قسمت کار با این ابزار ، امکان استفاد بلادرنگ یا Relatime از آمارهای آن است که می تواند بر اساس منطقه و جغرافیا بصورت تفکیک شده ارائه شود.
جایگزین شماره 7 گوگل آنالیتیکز : دبلیو تری کانتر | W3Counterاگر بر روی سلامتی وب سایت خودتان حساس هستید قطعا وب سایت W3Counter به شما بسیار کمک می کند و ریز اطلاعات مربوط به وب سایت شما را در قالب یک داشبورد بسیار جذاب ارائه می کند. با استفاده از این سیستم شما می توانید پر بازدید ترین صفحات را شناسایی کنید و در عین حال درک بهتری از رفتار کاربران خود بدست بیاورید و مسیر کاری آنها در وب سایت را تجزیه و تحلیل کنید.
جایگزین شماره 8 گوگل آنالیتیکز : کلیکی | Clickyکلیکی به عنوان یک ابزار بلادرنگ برای تجزیه و تحلیل در دنیا به حساب می آید. بلادرنگ یا Realtime بودن این ابزار یعنی ترافیک بصورت لحظه ای و دقیق به شما گزارش داده می شود. همچنین کلیکی می تواند رفتار یک کاربر در لحظه را تجزیه و تحلیل کند و آمار فعالیت های یک کاربر در وب سایت را کامل تجزیه و تحلیل کند. یکی از امکانات جذاب این ابزار ایجاد کردن Heatmap زیبا به ازای هر صفحه و Session از کاربرهای وب سایت و نحوه فعالیت کردن آنها بر روی وب سایت است . کلیکی بصورت کلی یکی از بهترین جایگزین های Google Analytics به حساب می آید.
جایگزین شماره 9 گوگل آنالیتیکز : ماتومو | Matomoماتومو مجموعه ای از همه ابزارها و امکاناتی است که شما می توانید با گوگل آنالیتیکز و سایر ابزارهای مشابه مقایسه کنید و پا را فراتر از یک ابزار گذاشته است. این ابزار ضمن اینکه به شما تجزیه و تحلیل آماری وب سایت را ارائه می دهد ، می تواند به شما Heatmap فعالیت کاربران و در عین حال نکات مهم در بررسی SEO وب سایت را نیز ارائه بدهد. شما با استفاده از این ابزار می توانید یک دید بسیار عالی برای بازاریابی وب سایت خود پیدا کنید . ماتومو برعکس گوگل از دیتای کاربران شما استفاده تجاری نمی کند.
جایگزین شماره 10 گوگل آنالیتیکز : هییپ | Heapهییپ یک ابزار عالی برای کالاهای آنلاین و وب سایت های فروشگاهی به حساب می آید. هیپ قابلیت رهگیری و بررسی کوچکترین حرکات کاربر شما به محض ورود به وب سایت و کلیک کردن و ... را به شما می دهد. شما در واقع یک سیستم رفتار شناسی کاربر را با هیپ تجربه خواهید کرد که داده های آماری بسیار جالبی را به شما ارائه می کند.
اما جایگزین شماره 11 در واقع یک وب سایت به نام https://www.cyfe.com/ است که خودش اسکریپت اختصاصی ندارد اما اگر اسکریپت گوگل آنالیتیکز را بر روی وب سایت نصب کرده باشید گزارش های بسیار جذابی را به شما ارائه می دهد ، این وب سایت خودش اسکریپت اختصاصی ندارد. اگر شما هم سرویسی مشابه یا جایگزین برای گوگل آنالیتیکز می شناسید ، می توانید در ادامه همین مقاله Comment بگذارید ...برای کسب اطلاعات بیشتر به آموزش برنامه نویسی مراجعه کنید. :: برچسبها: X آموزش سئو X آموزش طراحی وب , آموزش طراحی سایت , آموزش PHP , آموزش HTML , آموزش CSS , آموزش جاوا اسکریپت , آموزش JavaScriptآموزش ساخت سایت , آموزش MySQL , :: بازدید از این مطلب : 354 نوشته شده توسط : محمد نصیری
امنیت یکی از بخش های حیاتی یک برنامه جاوا است. به همین دلیل فریمورک های متعددی نوشته شده اند تا امنیت را در برنامه برای ما فراهم کنند. ولی مفاهیمی در همه آنها وجود دارد که یکسان است و در همه فریمورک ها استفاده می شود. در این مطلب در مورد این مفاهیم که مبانی امنیت در جاوا هستند صحبت می کنیم و همچنین شباهت ها و تفاوت های آنها را بررسی می کنیم. برای یادگیری رایگان زبان جاوا و آموزش برنامه نویسی به زبان ساده به این لینک مراجعه کنید Subject در امنیت جاوادر امنیت جاوا subject منبع درخواست است. Subject کلاسی است که اطلاعات در مورد منابع را در خود نگهداری می کند و می تواند تغییراتی در آنها ایجاد کند. Subject می تواند یک کاربر یا برنامه یا پروسس یا یک فایل یا یک کامپیوتر یا یک پایگاه داده باشد. برای مثال اگر کاربری بخواهد وارد سیستم شود و به یک سری منابع دسترسی داشته باشد پس کاربر یک subject است. Principal در امنیت جاوابعد از این که کاربر با موفقیت وارد سیستم شد و احراز هویت انجام شد ما یک subject خواهیم داشت که به بخش های مختلفی مانند رول(نقش)ها و SSN(social security number) ها مرتبط است. به هرکدام از این بخش های این شکلی یک Principal گفته می شود که همه آنها در داخل Subject قرار می گیرند. کاربر (User) در امنیت جاواشخصی است که به یک سری منابع دسترسی دارد و فعالیت هایی انجام می دهد و وظایفی بر عهده دارد. در برخی جاها می توان user را به عنوان یک principal در نظر گرفت که جاوا برای آن از کلاس UserPrincipal استفاه می کند. تفاوت بین Subject , Principal, Userهمانطورکه در بخش قبلی گفتیم می توانیم برخی از جنبه های کاربر را به شکل یک Principal نمایش دهیم. حال این principal ها زیر مجموعه subject ها هستند و کاربران زیرمجموعه principal های می باشند که به کاربرها اشاره می کنند. :: برچسبها: X آموزش سي شارپ , آموزش C# , دوره سي شارپ , دوره آموزشي سي شارپ آمو , زش جاوا , آموزش Java , آموزش زبان برنامه نويسي جاوا , آموزش زبان برنامه نويسي سي شارپ , آموزش جنگو , دوره آموزشي جنگو , :: بازدید از این مطلب : 375 نوشته شده توسط : محمد نصیری
ابزارهای اسکنر امنیتی ( Security Scanner ) و اسکنر آسیب پذیری ( Vulnerability Scan ) بسیاری در دنیا وجود دارند که ماهیت آنها انجام اسکن های امنیتی سیستم عامل ها ، تجهیزات ، وب سایت ها و ... و پیدا کردن نقاط آسیب پذیر آنهاست. شما با استفاده از خروجی گزارش این نرم افزارهای اسکنر امنیتی می توانید آسیب پذیری های موجود در شبکه ، سیستم عامل ها ، وب سایت ها و ... خود را پیدا کنید. و قبل از اینکه هکرها و نفوذگرهای کلاه سیاه بخواهند به آنها نفوذ کنند جلوی آنها را بگیرید . در این مطلب قصد داریم به شما برترین ابزارهای اسکنر آسیب پذیری و امنیت در دنیا را معرفی کنیم پس با ما باشید. شماره 1 : Core Impact نرم افزار تست نفوذ و هک بسیار پیشرفتهسالهای سال به عنوان یک متخصص امنیت و تست نفوذ یکی از آرزوهای من کار کردن و داشتن لایسنس بدون مشکل فقط یک نرم افزار بود و بس ... Core Impact یک سوپر اسکنر امنیتی است که در دنیا آن را به عنوان گرانترین و با قدرت ترین نرم افزار اسکنر امنیتی می شناسند ، به دنبال کرک و لایسنس تقلبی آن نگردید که به هیچ عنوان پیدا نمی کنید . از Core Impact به عنوان قدرتمندترین ابزار Exploit کردن در دنیا یاد می شود .این ابزار آخرین بروز رسانی ها از آخرین Exploit ها را در قالب پایگاه داده خودش برای حرفه ای ها جمع آوری می کند و از طریق یک لینک رمزنگاری شده با سرور اصلی سرویس دهنده همیشه در حال بروز رسانی است. Core Impact کاملترین راهکار برای ارزیابی و تست آسیب پذیری های امنیتی در یک سازمان می باشد. یکی از قابلیت های جالب این نرم افزار انجام حملات بصورت زنجیره ای و بین تجهیزات و دستگاه های مختلف است. با این ابزار شما به سادگی آسیب پذیری های یک سازمان را شناسایی ، جلوگیری و در دنیای واقعی به حملات پاسخ مناسب می دهید.Core Impact یک ابزار یکپارچه برای تست کردن شبکه ، سیستم عامل ، موبایل ، تجهیزات و Web و ... می باشد شما براحتی می توانید تعداد زیادی از کلاینت ها را به یکباره تست کنید و نتیجه آنها بلافاصله برای سرور مرکزی ارسال می شود. بعد از پیدا کردن امکان Patch کردن و تعمیر کردن آسیب پذیری ها به شما داده می شود. Core Impact امکان خرید سریع و استفاده بلافاصله Exploit های تجاری را نیز به شما می دهد .جالب اینجاست بدانید که شما امکان دانلود Trial این نرم افزار را ندارید و بایستی حتما برای دانلود اطلاعات سازمانی خودتان را وارد کنید تا پس از بررسی و اعلام هویت اصلی و برقراری تماس از شرکت مربوطه با شما ، نسخه Demo برای شما آماده می شود نه نسخه Trial تا بتوانید بصورت نمونه از این ابزار استفاده کنید. چند سال پیش برای تهیه کردن یک نسخه اولیه از این محصول برای یکی از سازمان های ایرانی در حدود 150 میلیون تومان هزینه کردیم. بنابراین به دنبال کار کردن بصورت شخصی با این ابزار نباشید. اطلاعات بیشتر در خصوص Core Impact را می توانید در لینک زیر پیدا کنید :
شماره 2 : Nexpose نرم افزار اسکن آسیب پذیری کامل و جامعنرم افزار اسکنر آسیب پذیری Nexpose محصولی از شرکت Rapid7 است که یکی از نوادر در دنیای اسکنرهای امنیتی است ، به عنوان یک توسینسو اگر می خواهید یک نرم افزار چرخه کامل اسکن آسیب پذیری ها یا بهتر بگوییم مدیریت آسیب پذیری ها را انجام بدهد Nexpose راهکار شماست . این ابزار برای شما فرآیند های شناخت شبکه ، تشخیص ، تایید ، طبقه بندی ریسک ، تجزیه و تحلیل تاثیر گذاری ، گزارش گیری و حتی راهکار پیشگیری و مقابله را با هم ارائه می دهد. Metasploit ای که همه آنرا می شناسیم در واقع ساخته و پروش داده شده شرکت Rapid7 است و به خوبی برای Exploit کردن آسیب پذیری ها استفاده می شود و با این ابزار یکپارچه شده است این ابزار امنیتی در قالب های نرم افزاری ، Appliance یا سخت افزاری ، ماشین مجازی یا حتی سرویس های مدیریت شده و سرویس های ابری هم قابل استفاده است.رابط کاربری این ابزار بصورت Web Based است ، برای اینکه بتوانید این ابزار را استفاده کنید می توانید نسخه رایگان و البته محدود آن را بصورت رایگان دریافت کنید اما نسخه تجاری آن بصورت لایسنس تک کاربره در حدود 2 هزار دلار هزینه سالیانه دارد . برای دانلود و استفاده از این ابزار می توانید به لینک زیر مراجعه کنید. شماره 3 : GFI Languard ارزیابی آسیب پذیری و اسکن گام به گام امنیتدر بحث معرفی ابزارهای امنیتی و اسکنرهای امنیتی بعد از Nessus ابزار GFI Languard را می توان به عنوان یکی از بهترین ها در این حوزه معرفی کرد ، این ابزار در واقع یک مشاور امنیت مجازی برای یک توسینسو است .این ابزار به شما پیشنهادهای در خصوص Patch های امنیتی که باید بر روی سرورها نصب شوند می دهد ، ضمن این فرآیند ارزیابی آسیب پذیری ها و بازرسی های امنیتی سرویس های شبکه را نیز انجام می دهد. ما بارها شده است که از این ابزار برای جمع آوری دارایی های شبکه یا همان فرآیند Asset Inventory استفاده کرده ایم زیرا بصورت ریز به ریز اطلاعاتی در خصوص سیستم های شبکه در اختیار شما قرار می دهد که حتی در فرآیند مستند سازی نیز بعضا کمک می کند.این ابزار کمک حال شما در فرآیند های مدیریت تغییرات در شبکه ، تجزیه و تحلیل ریسک و بحث های مدیریتی امنیت به ویژه بحث عدم انطباق ها در ISO 27001 خواهد بود. مهمترین قابلیت های این ابزار امکان ایجاد کردن اسکن های امنیتی شخصی سازی شده ، شناسایی آسیب پذیری های امنیتی و ارائه پیشنهاد و نصب Patch برای رفع مشکل امنیتی ، ایجاد کردن انواع تست ها و اسکن ها و اطمینان حداقلی در خصوص امنیت Application های موجود بر روی سرورها را می توان اشاره کرد. برای دانلود و تست این ابزار می توانید به لینک زیر مراجعه کنید : شماره 4 : Retina پلتفرم مدیریت آسیب پذیری | RNSSابزارها و نرم افزارهای اسکنر امنیتی بسیاری در دنیا وجود دارد اما ما در توسینسو ترجیح می دهیم بهترین ها را به شما معرفی کنیم. Retina Network Security Scanner نام اسکنر امنیت شبکه ای است که ساخته شبکه eEye Digital Security است که امروزه به Beyond Trust تغییر نام داده است. این نرم افزار یک سیستم چند پلتفرمی است برای ارزیابی آسیب پذیری های شبکه و سیستم عامل و ... یکی از نکات جذاب در خصوص Retina این است که علاوه بر آسیب پذیری های شناسایی شده امکان شناسایی برخی از آسیب پذیری های Zero Day را نیز به گفته وب سایت تولید کننده دارد که این بسیار جذاب و در عین حال بسیار جای بحث و جدل دارد. این ابزار بدون شک یکی از بهترین ابزارهای امنیتی در دنیا محسوب می شود که می توانیم در فرآیند های ارزیابی امنیتی و ریسک از آن استفاده کنیم.یکی از نکات جذاب دیگر در خصوص این ابزار این است که در دو قالب نرم افزاری و سخت افزاری قابل خریداری است. اگر فقط قصد تست کردن آن را دارید می توانید نسخه Trial را تهیه کنید اما بد نیست بدانید که نصب کردن Component های سروری این ابزار چندان هم ساده نیست. این ابزار قابلیت نصب بصورت Stand Alone و نصب بصورت توپولوژی Client و Server ای در نقاط مختلف شرکت های بزرگ را دارد.هر چند به گفته شرکت سازنده نصب Component کلاینت و سرور ساده است اما بیشتر می توانید آن را به همان نسخه Stand Alone معطوف کنید. اما در عوض بعد از نصب شدن محصول استفاده از آن بسیار ساده است.این ابزار راهکاری برای تجزیه و تحلیل امنیتی سیستم عامل ها ، Application ها و Policy های امنیتی شبکه می باشد به شما پیشنهاداتی ارائه می کند که می تواند از بروز حملات سایبری در سازمان شما جلوگیری کرده و شما در مقابل بدافزارها و کدهای مخرب نیز تا حدود زیادی احساس امنیت کنید. مستندات بسیار خوبی در خصوص نحوه استفاده از این محصول در وب سایت تولید کننده قابل دانلود و استفاده می باشد که کار را برای مدیران امنیتی بسیار ساده تر کرده است. برای اطلاعات بیشتر می توانید به لینک زیر مراجعه کنید : شماره 5 : Acunetix نرم افزار اسکنر امنیت و آسیب پذیری تخصصی وبیکی دیگر از ابزارهای کاربردی و مهم در حوزه ارزیابی سایت از لحاظ امنیتی ، ابزار پویشگر Acunetix | اکانتیکس می باشد. با استفاده از این ابزار می توان قبل از اینکه هکر بخواهد ، آسیب پذیری های وب سایت و بانک های اطلاعاتی و ... را جهت نفوذ شناسایی کند. سیستم را ممیزی و ارزیابی نمود و توسط آن آسیبپذیریها، نقاط ضعف موجود در شبکه ، وبسایت، بانکهای اطلاعاتی و اسکریپتها را شناسایی و پویش کرده و طی گزارشی اطلاع میدهد تادر جهت رفع آنها اقدام نمود.این ابزار یکی از نرمافزارهای بسیار قدرتمند است که با استفاده از ابزارهای پیشرفته پویشگری و ارزیابی خود به بررسی و ممیزی سایت پراخته تا نقاط ضعف آن را نمایش دهد. این نرم افزار با استفاده از برقراری ارتباط از طریق رابط کاربر نهایی با برنامهی وب، آسیبپذیریهای ساختاری آن را شناسایی میکند. شما می توانید نسخه دموی اکانتیکس Acunetix Web Vulnerability Scanner را از لینک زیر دانلود کنید : شماره 6 : HP WebInspect ابزار اسکن آسیب پذیری و امنیت وبیکی دیگر از ابزارهای کاربردی و مهم در حوزه ارزیابی سایت از لحاظ امنیتی ، استفاده از ابزار پویشگر WebInspect میباشد.پویشگر WebInspect متعلق به شرکت HP بوده که با استفاده از شبیه سازی تکنیک ها و روشها و متدهایی که هکرها در نفوذهای خود استفاده می کنند ، سعی در شناسایی آسیب پذیری و حفره های امنیتی وب سایت مربوطه داشته با استفاده از این ابزار قدرتمند ، می توانید آنالیز کامل و جامعی از برنامه های کاربردی و سرویس ها داشته باشید ابزار WebInspect یک نرم افزار قدرتمند در حوزهی آزمون نفوذ و شناسایی حفره های امنیتی و آسیب پذیری های مرتبط با برنامههای کاربردی تحت وب و برنامههای کاربردی بشمار می رود.از دیگر قابلیت های این نرم افزار، بررسی وب سرویس ها از لحاظ کانفیگ درست و ایمن و صحیح است و همچنین دارای قابلیت های بسیار بالایی می باشد.قیمت بالای این ابزار در نسخه اصل هم نشان از اعتبار و هم نشان از عیب! این پویشگر دارد. برای کسب اطلاعات بیشتر می توانید به وب سایت WebInspect در لینک زیر مراجعه کنید : شماره 7 : SAINT اسکنر امنیت و آسیب پذیری تخصصی شبکهابزار SAINT یکی از ابزارهای جالب و از طرفی قدرتمند تجاری در حوزه تست نفوذ و ارزیابی آسیب پذیری ها می باشد. SAINT در ابتدا Open Source بود و اما امروزه بصورت تجاری صرف ارائه می شود. SAINT در واقع یک ابزار شبکه ای یکپارچه شده با ابزارهای امنیتی است که این قابلیت را به یک توسینسو می دهد که بتواند آسیب پذیری های امنیتی موجود در تجهیزات شبکه ، سیستم عامل ها ، Application های دسکتاپ ، Application های تحت وب ، پایگاه های داده و ... را پیدا کرده و مشکل را حل کنند اگر در حالت غیر مهاجم به این ابزار نگاه کنیم یک ابزار شناسایی و مستند سازی در شبکه نیز محسوب می شود که می تواند براحتی انواع و تعداد سیستم عامل های موجود در شبکه و پورت های باز و ... را نیز به شما معرفی کند. SAINT به شما قابلیت Exploit کردن اهدافی با آدرس IPv4 و IPv6 را نیز می دهد و حتی آدرسهای URL را نیز می تواند Exploit کند. SAINT از جمله ابزارهایی است که به هیچ عنوان کاری به کار خانواده ویندوز از لحاظ نصب شدن ندارد و صرفا بر روی پلتفرم های لینوکس و Mac قابل اجرا می باشد.می توانید در لینک زیر اطلاعات بیشتری در خصوص این محصول به دست بیاورید :
شماره 8 : Shadow Security Scanner ابزار اسکن امنیت و بازداری از حملاتShadow Security Scanner نیز یکی دیگر از انواع اسکنرهای امنیتی می باشد که بصورت ویژه دارای قابلیت های بازرسی با بیشتر از 500 قالب آماده بازرسی امنیتی می باشد. این نرم افزار شبکه داخلی شما را برای خطاها و آسیب پذیری های امنیتی اسکن کرده و در قالب قوانینی که برایش تعریف می شوند گزارشها را آماده و به اطلاع می رساند. این ابزار در نوع خودش در درجه پیشرفته ها قرار دارد و امکان شناسایی Exploit های حساس امنیتی و بررسی کردن آنها را در خودش دارد.ابزارهای اختصاصی مدیران شبکه و پارامترهای اختصاصی کاربران پیشرفته شبکه نیز از جمله مواردی است که در طراحی این نرم افزار دیده شده است. نصب کردن این نرم افزار با توجه به بزرگ بودن آن کمی دشوار است اما شما براحتی بعد از نصب و ایجاد کردن Rule ها می توانید از آن استفاده کنید. شما می توانید با استفاده از Rule ها کل شبکه را در خصوص آسیب پذیر بودن در مورد یک آسیب پذیری خاص اسکن کنید ، برای مثال آسیب پذیری که در FTP یا Net-BIOS وجود داشته باشد.یکی از نکات خوب این نرم افزار هنگ نکردن در هنگام تست و قابلیت ادامه اسکن در صورت بروز مشکلات احتمالی حین اسکن است. در ادامه می توانید اطلاعات بیشتری را از لینک زیر به دست بیاورید :
شماره 9 : QualysGuard اسکنر امنیتی مبتنی بر Cloudیکی دیگر از نرم افزارهای قدرتمند و البته رتبه عالی از نظر مرجع مجله Gartner نرم افزار QualysGuard است که محصول شرکتی به همین نام است. این مجموعه نرم افزاری را می توان تنها محصول اختصاصی اسکن آسیب پذیری ها در قالب سرویس Cloud دانست. این سرویس برای سازمان های کوچک و متوسط و بزرگ قابل استفاده بوده یکی از برترین نرم افزارهای بحث مدیریت آسیب پذیری ها به حساب می آید که بصورت SaaS یا Software As A Service ارائه می شود. این ابزار به گزارش شرکت سازنده در سال گذشته در حدود 3 میلیارد اسکن موفق داشته است و این در نوع خودش یک رکورد به حساب می آید. اسکن های این نرم افزار بسیار دقیق بوده و به همین دلیل یکی از برترین های حوزه مدیریت و ارزیابی و مقابله با تهدیدات در شبکه ها محسوب می شود. این ابزار هم بصورت نرم افزاری و هم بصورت Appliance ارائه می شود.برای کسب اطلاعات بیشتر در خصوص QualysGuard می توانید به لینک زیر مراجعه کنید : شماره 10 : IBM AppScan ابزار اسکن و آنالیز امنیتییکی دیگر از ابزارهای کاربردی و مهم در حوزه ارزیابی سایت از لحاظ امنیتی ، استفاده از ابزار پویشگر IBM AppScan میباشد. در این مطلب سعی بر معرفی یکی دیگر از نرم افزارهای ممیزی وب سایت را که از پرکاربردترین اسکنرهای مورد استفاده است را داریم. IBM AppScan یک نرم افزار قدرتمند در حوزهی آزمون نفوذ و شناسایی حفره های امنیتی و آسیب پذیری های مرتبط با برنامههای کاربردی تحت وب و برنامههای کاربردی موبایل است. با استفاده از این ابزار می توان موجب پیادهسازی امن سیستمهای مبتنی بر وب شد از ویژگیهای دیگر این ابزار می توان به موارد زیر اشاره کرد.
شماره 11 : NsAuditor اسکنر امنیت شبکه و بازرسیدر ادامه معرفی ابزارهای اسکنر امنیتی به سراغ NsAuditor Network Security Auditor می رویم ، ابزاری کاربردی و ساده برای مدیران شبکه که انواع و اقسام ابزارهای کاربردی شبکه را برای بازرسی و اسکن و حتی مانیتورینگ در خود جای داده است. رابط کاربری این ابزار در عین سادگی دسترسی راحتی را به ابزارهای موجود به شما می دهد ، قابلیت مانیتورینگی که در این ابزار دیده شده است به شما ارتباطات شبکه و process هایی که در حال حاضر بر روی کامپیوترها وجود دارند را بصورت real-time نشان می دهد. در این مانیتورینگ بصورت شفاف و ریز شده هر پردازش اعم از TCP و UDP و Local و Remote و حتی Hostname و اسم سرویس و غیره بصورت کامل نمایش داده می شود.همچنین شما قابلیت ایجاد گزارش از آسیب پذیری هایی که در سرویس هایی مثل FTP و SMTP و Telnet و ... وجود دارند را نیز خواهید داشت. با استفاده از قابلیت NetBIOS Auditor ای که در این نرم افزار وجود دارد شما می توانید اطلاعاتی اعم از آدرس IP ماشین ، آدرس کارت شبکه ، سازنده کارت شبکه و اطلاعات کاملی در خصوص کاربران ، گروه ها و ماشین های موجود در شبکه برای بحث Inventory شبکه جمع آوری کنید. این ابزار یک کمک دستیار کامل برای شما در کار شبکه محسوب می شود. در لینک زیر می توانید اطلاعات بیشتری در خصوص این ابزار به دست بیاورید : شماره 12 : Nessus سردمدار محبوبیت و کاربرد در اسکن آسیب پذیریبدون شک محبوب ترین اسکنر آسیب پذیری و امنیتی دنیا از نظر بسیاری از هکرها و نفوذگران نسوس | Nessus است . یکی از قابلیت های جالب این Vulnerability Scanner قابلیت اضافه کردن پلاگین ها یا افزونه هایی است که به آن امکانات جدید اضافه می کنند. هر کدام از این پلاگین ها برای یک نوع Policy یا بخشی از اسکن های امنیتی بصورت ویژه مورد استفاده قرار می گیرند . قابلیت تعریف کردن نوع اسکن از نوع Blackbox یا Whitebox از جمله امکانات بسیار جالبی است که Nessus در اختیار شما قرار می دهد. نسوس می تواند از عیب های نرم افزارها ، پیدا کردن تروجان ها و بات نت ها ، بررسی تنظیمات شبکه و تجهیزات گرفته تا اسکن کردن سیستم های فیزیکی و مجازی و حتی بسترهای کلاود را بصورت کامل برای شما پوشش بدهد. Nessus امکان کشف آسیب پذیری ها با سرعت بسیار بالا را فراهم می کند ، پوشش گسترده ای از تجهیزات دارد و ارزیابی های متنوعی را می تواند انجام بدهد. این نرم افزار بسیار انعطاف پذیر و سبک است و البته سالهاست که دیگر بصورت رایگان ارائه نمی شود و بایستی لایسنس آن خریداری شود ، بد نیست بدانید بیشتر تست نفوذهایی که در ایران به این عنوان انجام می شود تنها ترجمه گزارش های همین نسوس است ! برای کسب اطلاعات بیشتر در خصوص این ابزار می توانید به لینک زیر مراجعه کنید : شماره 13 : OpenVAS اسکنر آسیب پذیری کپی برابر اصل Nessusدر بالا در خصوص اسکنر بسیار محبوب Nessus صحبت کرده ایم ، اما Nessus از سال 2005 به بعد تجاری شد و وارد عرض بازار تجارت شد ، در این حین پروژه ای به نام OpenVAS شروع به کار کرد که در واقع یک اسکنر آسیب پذیری بود که به نوعی می توان آن را نسخه رایگان Nessus در نظر گرفت ، نسخه open Source که ضمن اینکه با نام OpenVAS شناخته می شود به نام GNessus هم شناخته می شود. جالب است بدانید که پلاگین های این نرم افزار همچنان به زبان NASL که زبان نرم افزار Nessus برای انجام اسکن ها بوده است نوشته می شود. پروژه OpenVAS مدتی غیرفعال بود تا اینکه مجددا شروع به فعالیت و کار کرد.OpenVAS مخفف Open Vulnerability Assessment System است که یک اسکنر آسیب پذیری و البته یک ارزیاب امنیتی بسیار خوب به حساب می آید و تحت لیسانس GNU//GPL ارائه می شود. این ابزار را شما می توانید در قالب ماشین مجازی یا کد کامپایل نشده یا حتی بر روی سیستم عامل لینوکس بصورت مستقیم نصب کنید و از تمامی امکانات ( تقریبا ) یک Nessus بصورت رایگان استفاده کنید.در لینک زیر می توانید اطلاعات بیشتری در خصوص OpenVAS به دست بیاورید.برای شناسایی آسیبپذیریها و افزایش امنیت شبکه، ابزارهایی مانند Nessus، OpenVAS، Qualys و Acunetix به کار میروند. خلاصه معرفی نرم افزارهای اسکنر امنیتینرم افزارها و ابزارهای اسکنر یا پویشگر امنیتی بسیار زیادی در دنیا وجود دارند و قطعا قرار نیست این 13 مورد کاملترین و جامعرین لیست باشد ، این لیست با توجه به تجربه و تحقیقات نویسنده نوشته شده است و شما می توانید اسکنری که از لحاظ خاصی بهتر می دانید را در ادامه همین مطلب Comment قرار بدهید تا دیگران هم در خصوص آنها اطلاعات داشته باشند. اگر نظری در خصوص این مطلب و اسکنرها دارید خوشحال می شویم در ادامه مطرح کنید. :: برچسبها: X آموزش هک , آموزش هک قانونمند , آموزش CEH , آموزش سکیوریتی پلاس , آموزش Security , آموزش امنیت شبکه , :: بازدید از این مطلب : 1095 نوشته شده توسط : محمد نصیری
در این بخش از دوره آموزشیمان قصد داریم بپردازیم به انواع حالت های اسقرار سازی در حوزه Configuration Management نرم افزار Puppet چیست؟ آموزش نرم افزار Puppet ا Network Automation چیست؟ Configuration Management چیست؟ چگونه فرآیند های کاریمان را در سازمان اتوماتیک سازی کنیم؟ امروزه با افزایش تعداد سیستم ها و تجهیزات و گسترش پیدا کردن شبکه های کامپیوتری و زیرساخت ما اصولا معضلاتی نیز به وجود آمده است که یکی از آن ها پیکربندی سریع و آنی میباشد که با وجود چندین دیوایس متعدد اصولا نمیتوانیم پیکربندی را به شکلی به صورت سریع انجام بدهیم به همین سبب شما در نظر بگیرید که مهندس شبکه و یا Network Administrator در یک شبکه بزرگ در این موقعیت از شما درخواست میشود که تمامی سرور های وجود در شبکه میبایست به صورت هرچه سریع تر سیستم عاملشان عوض شود ، یا که قرار است بر روی تمامی روتر های موجود در سطح کشور که متعلق به شعبی هستند که شما در آن قرار دارید یک پیکربندی خاص اعمال شود خب در این صورت اگر تعداد دیوایس ها و تجهیزات زیاد باشد پیکربندی تمامی آنها وقت بسیار زیادی رو از شما میگیرد ! اما همونطور که مقایس شبکه های امروزی درحال گسترش و پیشرفت است تکنولوژی و راه کار های متنوع نیز درحال پیشرفت و گسترش میباشند به همین سبب ما تصمیم بر این گرفتیم که به معرفی و نحوه کار با نرم افزار قدرتمند اتوماتیک سازی فرآیند های زیرساختی یعنی نرم افزار Puppet بپردازیم و آن را مورد بحث و بررسی قرار دهیم. Network Automation چیست؟در این موضوع ما با استفاده از ابزارها و تکنیک ها و زبان های برنامه نویسی میتوانیم به شکل خیلی بهتر و سریع تر فرآیند های پیکربندی دیوایس هایمان را انجام بدهیم که به این موضوع ما دیگر نیز نیست برای پیکربندی و بررسی 50 کامپیوتر تک تک به آنها سر بزنیم فقط کافیست از پشت سیستم خودمان با استفاده از تکنیک های Network Automation دیوایس هایمان را به صورت یکجا پیکربندی کنیم که این دیوایس ها طیف متعددی رو شامل میشوند علاوه بر این موضوع ما به سبب Network Automation میتوانیم تجهیزات دیگر مانند سوییچ ها و روتر ها و سرور ها و حتی کلاینت های خودمان راهم پیکربندی کنیم
نرم افزار Puppet چیست؟درواقع Puppet یک نرم افزار قدرتمند در حوزه Configuration Management میباشد که به سبب آن ما توانایی پیکربندی و راه اندازی تجهیزات خود را به صورت کاملا سریع و Automated شده را داریم بدین شکل که در مدیریت دیوایس ها و پیکربندی های اونها این نرم افزار بسیار قدرتمند است و جزوه یکی از بهترین نرم افزار های حوزه Network Automation در کنار دیگر نرم افزار های قدرتمند مانند Ansible قرار گرفته است. نرم افزار Puppet به سبب یک زبان کد نویسی منحصر به فرد خود با نام DSL که تشکل شده از کلمات Domain Specific Language میباشد توانایی بررسی و پیاده سازی پیکربندی های متعدد را بر روی سیستم ها دارد. نرم افزار Puppet رایگان است؟
چرا از Puppet استفاده کنیم؟توجه کنید این سوال را میتوان به شکل دیگری هم پرسید برای مثال چرا از Configuration Management و Automation استفاده کنیم ؟! جواب ساده ایی داره چون شما درنظر بگیرید که در یک شرکت بسیار بزرگ Large Enterprise کار میکنید و قرار است بر روی 100 سرور یک پیکربندی مشابه یه یک مشکل را رفع کنید کنید برای مثال قصد دارید یک سیستم عامل جدید نصب کنید و یا یک تنظیمات خاص را ارائه کنید خب شما به عنوان یک ادمین شبکه اینکار براتون بسیار سخت و خسته کننده هست اما امروزه با پیشرفت تکنولوژی ما دیگه نیازی به انجام اینکارها نداریم !
نگاهی بر الگو های برنامه نویسی (Paradigm)درواقع قبل از شروع کار با DSL که زبان Puppet میباشد میبایست یک نگاه به الگو های برنامه نویسی بیندازیم. در ابتدا میبایست بدانیم که Paradigm یک سبک از نحوه ایجاد یک نرم افزار رایانه است که توسعه دهندگان از آن برای ایجاد نرم افزار مورد نظر استفاده میکنند؛ ما چهار نوع Paradigm متنوع برای برنامه نویسی داریم که به شرح زیر هستند:
در این مقاله تمرکز ما بر روی Imperative و Declarative میباشد. بررسی Imperative Paradigmدر این Paradigm ما منطق محاسباتی ایجاد یک نرم افزار را پیش روی خودمان داریم و تعیین میکنیم که چه موضوع و کاری باید انجام بشود. بررسی Declarative Paradigmدر این حالت دقیقا ما بر عکس Imperative عمل میکنیم بدین شکل که در این الگو ما منطق محاسباتی را بدون بیان نحوه انجام آن پیش میبریم ، برای مثال ما برای اینکه به محل کارمان بریم یک تاکسی میگیریم و مستقیما عنوان میکنیم که به آدرس مورد نظر برود. نرم افزار Puppet از چه الگوریتمی استفاده میکند؟نرم افزار Puppet از Declarative Paradigm استفاده میکند برای کد نویسی و ایجاد فایل های مورد نظر به همین سبب میتوانیم به مثال زیر توجه کنیم و تفاوت Puppet را با Bash در کد نویسی ببینیم: زبان Bash از الگوریتم Imperative استفاده میکند به همین سبب از طریق کد Bash زیر ما یک User را در سیستم مورد نظرمان ایجاد میکنیم Deployment Mode انواع حالت های اجرایی در پاپتاستقرار سازی چیست؟مفهوم استقرار سازی یا Deployment به این معنا میباشد که من بتوانم مقدار ها و پیکربندی های خاصی که نیاز دارم رو بر روی چندین دیوایس خود Deployed یا استقرار سازی کنیم. که البته توضیح این موضوع به این شکل بیشتر در دید حوزه Configuration Management میباشد در حوزه های دیگر و موقعیت های دیگر نیز همین معنا را میدهد اما با کمی تغییر حالت های استقرار سازی در Configuration Management به چه شکل است؟حالت های استقرار سازی در Configuration Management به دو دسته متفاوت تقسیم بندی میشوند که عبارتند از: حالت استقرار سازی Push-Basedدر این حالت Matser Node ما به عنوان یک سرور مرکزی عمل میکند و در این خود و دیوایس های مورد نظر یک ارتباط امن و مطمئن را ایجاد میکند، پس از ایجاد ارتباط شروع به پیکربندی و ارسال دستورات میکند مانند نرم افزار های Salt Stack و Ansible حالت استقرار سازی Pull-Basedدر این حالت دیوایس ها به سرور مورد نظر متصل میشوند ارتباط امن و مطمئن را ایجاد میکنند و از برقراری صحیح ارتباط اطمینان حاصل میکنند و پس از آن پیکربندی را از سمت سرور دانلود میکنند و بر روی خود استقرار سازی میکنند مانند Chef و Puppet نحوه کار Puppet در استقرار سازی به چه شکل است؟نحوه کار Puppet بر پایه Pull یا همان Pull Based Deployment میباشد و از این بابت دیوایس ها و تجهیزات مورد نظر ما در هر 1800ثانیه به سمت Puppet یک ارتباط را ایجاد میکنند و بررسی میکنند که آیا در Puppet پیکربندی جدیدی برایشان قرار گرفته است یا که خیر، درصورتی که پیکربندی خاصی در Puppet قرار گفته باشد کد های مورد نظر را دانلود میکنند و بر روی خود استقرار میسازند. مثال عملی از نحوه کار Puppetسناریو ما در Configuration Management از دو بخش Master و Agent تشکیل شده است که به شرح زیر هستند: نکته: Puppet فقط روی سیستم های لینوکسی اجرا سازی میشود به طور معمول بخش Agent - این بخش را تجهیزات و دیوایس ها ما تشکیل داده اند که هیچ محدودیتی در سیستم عاملشان وجود ندارد و میتوانند طیف گسترده ایی از سیستم های مختلف از جمله خانواده Microsoft سیستم های هسته لینوکس سیستم های خانواده BSD و سیستم عامل های متعدد دیگری مانند Solaris و Mac OS در ابتدا در بین Matser و Agent یک ارتباط امن ایجاد میشود.
نکته: ارتباطات بین Master و Agent از طریق Certificate امن سازی میشود. مرحله اول - ابتدایی ترین کاری که پس از ایجاد شدن ارتباط صورت میگیرد این است که از سمت Agent های ما اطلاعاتی در رابطه خودشان به سمت Master ارسال میشود که از جمله این اطلاعات عبارتند از:
مرحله دوم - در این شرایط پس از دریافت اطلاعات توسط Puppet یک فایل توسط Puppet ایجاد میشود که اطلاعات تکمیلی Agent ها به همراه پیکربندی های مورد نیازشان در آن قرار میگیرد که آن را با عنوان Configuration List میشناسم و تمامی اطلاعات در کنار در فایلی به نام Catalog قرار میگیرد. از جمله پیکربندی های که میتوان توی Configuration List: نصب، حذف و بروزرسانی بسته نرم افزار خاصی، ایجاد User و حذف User، راه اندازی مجدد و Restart کردن سیستم، پیکربندی و تغییر تنظیمات IP و...
مرحله چهارم - در این مرحله گزارشی به سمت Puppet در رابطه با موفقیت آمیز بودن فرآیند اعمال پیکربندی ارسال میشود. معرفی امکانات پاپت | Puppet Featureمباحث متنوعی را در رابطه با Puppet یادگرفتیم حالا بیاید بررسی کنیم که Puppet دارای چه ویژگی هایی میباشد به نوع دیگر قرار است توی این بخش به Feature های متعدد Puppet بپردازیم ویژگی Idempotency در Puppet چیست؟این ویژگی یکی از جالب ترین تکنیک های مورد استفاده در Puppet است که به سبب آن، نرم افزار Puppet یک نرم افزار منحصر به فرد در این حوزه شده است. به واسطه Idempotency ما توانایی و این امکان را داریم که مجموعه ایی از پیکربندی هارا در بازه های زمانی خاص بر روی یک دیوایس اعمال کنیم. در شرایطی که تغییری در دیوایس مورد نظر ایجاد شود Puppet آن را بررسی میکند و ویژگی های قبلی را به سمت همان دیوایس در بازه های زمانی مختلف استقرار سازی میکند. توجه داشته باشید ویژگی Puppet Idempotency در شرایطی میتواند بکار بیاید که شما بخواهید در بازه های زمانی یک پیکربندی خاصی را بر روی دیوایس اعمال کنید. درنظر داشته باشید که وقتی یک سیستم اجرا سازی میشود و شروع به کار میکند تا پایان عمر آن در بازه های زمانی نیاز به پیکربندی و تعمیر و بروزرسانی دارد که ما میتوانیم به سبب این ویژگی در Puppet اینکار هارا به انجام برسانیم، معمولا از این ویژگی برای بروزنگه داشتن سیستم ها استفاده میشود ویژگی RAL در Puppet چیست؟اگر یادتان باشد در قسمت قبل ما عنوان کردیم که در Puppet محدودیتی وجود ندارد که سیستم های Agent چه سیستم عاملی را داشته باشند اما چطور؟! از کجا Puppet میتونه متوجه این بشه که برای سیستم مورد نظر از چه پیکربندی استفاده کند و از چه دستوری برای پیکربندی های مورد نظر استفاده کند؟ دقیقا اینجاست که ویژگی تحت عنوان RAL یا همان Resource Application Layer پا به میدان میگذارد و این نگرانی هارا برطرف میکند. :: برچسبها: X آموزش شبکه ،آموزش شبکه های کامپیوتری،آموزش نتورک پلاس ،دوره آموزشی نتورک پلاس،دوره نتورک پلاس،آموزش Network+،دوره شبکه،دوره آموزشی شبکه،آموزش ویپ،دوره آموزشی ویپ , :: بازدید از این مطلب : 364 نوشته شده توسط : محمد نصیری
تروجان یا Trojan یکی از انواع بدافزارهاست که با هدف مخفی ماندن در دنیای اینترنت منتشر می شود تا به اهداف متنوعی که می تواند انجام بدهد برسد. اگر کمی علاقه مند به داستان های تاریخی باشید بد نیست بدانید که ریشه کلمه Trojan Horse یا اسب تروا از یک افسانه یا شاید یک روایت تاریخی قدیمی باشد که در آن شهری به نام تروا که نفوذ ناپذیر به نظر می رسید بعد از سالها محاصره تسلیم نشد و دشمنان دست از پا درازتر تصمیم گرفتند به محاصره پایان بدهند. شهر تروا آنقدر دیوارهای بلندی داشت که عملا نفوذ به آن را برای دشمنان غیرممکن می کرد . بعد از اینکه ساکنین تروا متوجه شدند که دشمان در حال لغو کردن محاصره و خالی کردن میدان هستند خوشحال شدند. زمانیکه دشمنان از ساحل تروا خارج می شدند یک مجسمه اسب بسیار بزرگ درست کردند و به یادگاری در ساحل جزیره قرار دادند . ساکنین تروا که این اسب را تحفه دشمن برای شکست در جنگ دانسته بودند با خوشحالی مجسمه را به داخل شهر تروا بردند و شروع به خوشحالی و جشن و پایکوبی تا حد مستی بسیار زدند غافل از اینکه دشمن برای همین موضوع برنامه ریزی کرده بود . زمانیکه همه جشن و پایکوبی را تمام کردند و بیهوش شدند از درون مجسمه چوبی سربازان نفوذی که دشمن در مجسمه جاساز کرده بودند از آن بیرون آمدند و شبانه درب های ورودی شهر تروا را برای دشمنان باز کردند و دشمن که با فاصله از ساحل دریا قرار گرفته بود تا نمایش فرار داشته باشد به ساحل برگشتند و در نهایت تروا به دست دشمن افتاد .تروجان (Trojan) یک نوع بدافزار است که به ظاهر یک نرمافزار مفید به نظر میرسد اما در پسزمینه، فعالیتهای مخرب انجام میدهد. بدافزار تروجان چیست؟اما این ماجرا چه ربطی به بدافزاری به نام اسب تروا دارد ؟ خوب واضح است ، معنی و مفهوم کاری که تروجان انجام می دهد دقیقا همین است ! تروجان ها بدافزارهایی هستند که خودشان را در قالب یک ابزار مفید و کاربردی به کاربر قالب می کنند و کاربر بر همین اساس آنها را دانلود و نصب می کند و آلوده می شود بدون اینکه خودش متوجه شود که یک بدافزار نصب کرده است ! Trojan Horse در واقع برنامه مخربی است که خودش را به جای برنامه های کاربردی می دهد ، برای مثال شما یک برنامه آنتی ویروس کرک شده نصب می کنید که کرک آن در واقع تروجانی است که شما بدون اطلاع نصب می کنید. معمولا این نوع بدافزار بصورت پیوست به فایل های اجرایی نصب برنامه ها می چسبد که قبلا در خصوص مبحث Wrapping مفصل در این مورد صحبت کرده ایم . تروجان ها معمولا در سیستم قربانی یک Backdoor برای دسترسی از راه دور به سیستم قربانی ایجاد می کنند . برخی از انواع تروجان ها هیچکاری الزاما بر روی سیستم قربانی انجام نمی دهند و فقط آماده به کار یا Standby هستند و شاید ماه ها و چه بسا سالها بر روی یک سیستم بدون اینکه شناسایی شوند وجود داشته باشند . تفاوت ویروس و تروجان در چیست؟اما آیا تروجان یک ویروس است یا خیر ؟ در واقع تنها تشابهی که بین ویروس کامپیوتری و تروجان می توان پیدا کرد این است که هر دو در دسته بندی بدافزارها قرار می گیرند و تمام ! ویروس ها ماهیتی عیان دارند و آلوده سازی سیستم را بصورت مشهودی انجام می دهد و روی یک سیستم بارها تکثیر می شوند در حالیکه تروجان ها هدفشان مخفی بودن است و تنها یک نسخه بر روی سیستم نصب می شود ، در عین حال ویروس ها ممکن است صرفا هدف تخریب داشته باشند اما تروجان ها اهداف مشخص و از قبل تعریف شده دارند. بیشتر ابزارهایی که به عنوان Keygen برای درست کردن سریال نرم افزارهای کرک شده استفاده می شوند در واقع همان تروجان هستند . معمولا تروجان ها بصورت پیوست هایی با پسوند exe و com و bat و hlp و scr در پیوست های ایمیل منتقل می شوند.
برای یادگیری بیشتر به دوره آموزشی کالی لینوکس ( PWK ) ، دوره آموزشی CEH و دوره آموزشی سکیوریتی پلاس قسمت 4 می باشد ، قبل از همه این آموزشها ، یادگیری دوره آموزش نتورک پلاس به عنوان پیشنیاز ورود به دنیای فناوری اطلاعات شدیدا توصیه می شود. :: برچسبها: آموزش هک , آموزش هک قانونمند , آموزش CEH , آموزش سکیوریتی پلاس , آموزش Security , آموزش امنیت شبکه , :: بازدید از این مطلب : 445 نوشته شده توسط : محمد نصیری
وقتی صحبت از Cryptomalware می شود ، ابتدا دو کلمه را در کنار هم بخوانید Cryptography Malware که به ترتیب کلمات بدافزار رمزنگاری ترجمه می شود و به خوبی مفهوم را می رساند. قبلا در توسینسو در خصوص مفهومی به نام Cryptovirology صحبت کرده ایم که در واقع بدافزارهایی که در حوزه رمزنگاری کار می کنند زیر مجموعه این نوع علم بدافزاری هستند. بصورت کلی هر بدافزاری که با استفاده از رمزنگاری اطلاعات اقدام به سوء استفاده از افراد بکند به عنوان Cryptomalware یا بدافزار رمزنگاری ( ترجمه بهتر پیدا کردید Comment بزارید ) شناخته می شود. باج افزار چیست؟ معرفی Ransomware به زبان سادهمعروف ترین نوع بدافزار رمزنگاری که در دنیا وجود دارد به عنوان باج افزار یا Ransomware شناخته می شود. مکانیزم کاری این نوع بدافزارها به نسبت ساده است ! آنها به سیستم قربانی نفوذ می کنند یا منتقل می شوند ، سپس اطلاعات یا فایل ها با پسوند های مشخصی مثل پسوند مستندات اداری ، عکس ها ، ویدیوها ، فایلهای بکاپ و ... را شناسایی می کنند و آنها را رمزنگاری می کنند و سپس پیامی روی تصویر قربانی درج می کنند که در صورت عدم پرداخت باج به این حساب های کاربری کلیه اطلاعات شما از بین خواهد رفت و بسیاری از کاربران قربانی مجبور به پرداخت این باج هستند تا کلید رمزگشایی را مهاجم در اختیار قربانی قرار بدهد.
به تصویر بالا دقت کنید ، اینجا یک مرکز پزشکی و درمانگاهی مهم در کشور است که به باج افزار آلوده شده است . فرض کنید که مدیر یک شبکه هستید و صبح اول وقت وقتی پای سیستم می نشینید با چنین صحنه ای مواجه شوید که کلیه فایل های شما شبیه چرخدنده و اجرایی شده اند و با کلیک کردن روی آنها پیامی مشابه تصویر بالا دریافت می کنید . این یعنی شما به باج افزار آلوده شده اید . محتوای پیام کاملا مشخص است .در پیامی که باج گیرنده در سیستم شما نمایش می دهد قطعا یک آدرس ایمیل موقتی وجود دارد که برای شما ایجاد شده است و البته یک شناسه منحصر به فرد برای کامپیوتر و یا شبکه شما که توسط آن کلید رمزگشایی توسط مهاجم طراحی شده است نیز در اختیار شما قرار می گیرد. اگر می خواهید باج بدهید باید این ID را برای آن ایمیل ارسال کنید ، یک نمونه فایل برای رمزگشایی برای مهاجم ارسال کنید و فایل اصلی را دریافت کنید تا متوجه شوید که با هویت درستی برای باج دادن مواجه هستید . این روند کلی باجگیری اینترنتی در دنیاست . جالب است بدانید که در دنیا بیشتر از صدها میلیون دلار در سال از این طریق باجگیری می شود و با توجه به استفاده از مکانیزم های پرداخت بصورت رمزارز ( Cryptocurrency ) امکان پیگیری آنها تا حدی غیر ممکن است .
تجربه آلودگی به باج افزار ایرانیبه تصویر بالا دقت کنید ، این تصویر را شاید بتوانیم تاریخچه باج افزاری در ایران بدانیم . این تجربه من در یکی از سازمان های حیاتی در ایران در سال 1387 بود که آلوده به نوعی باج افزار ایرانی شده بودند که بصورت هدفمند این سازمان را مورد هدف قرار داده بودند و قصد اخاذی و باجگیری داشتند که خوشبختانه ما موفق شدیم این مشکل را حل کنیم . تصویر بالا در حال حاضر فاقد هرگونه ارزش امنیتی بوده و با توجه به گذشت 12 سال از این موضوع دیگر انتشار آن نیز اهمیتی ندارد و برای اولین بار در ایران این تصویر توسط بنده در اینترنت منتشر می شود . برای یادگیری بیشتر به دوره آموزشی کالی لینوکس ( PWK )و آموزش هک ، دوره آموزشی CEH و دوره آموزشی سکیوریتی پلاس می باشد ، قبل از همه این آموزشها ، یادگیری دوره آموزش نتورک پلاس به عنوان پیشنیاز ورود به دنیای فناوری اطلاعات شدیدا توصیه می شود. :: برچسبها: آموزش هک , آموزش هک قانونمند , آموزش CEH , آموزش سکیوریتی پلاس , آموزش Security , آموزش امنیت شبکه , :: بازدید از این مطلب : 362 نوشته شده توسط : محمد نصیری
وقتی صحبت از Cryptomalware می شود ، ابتدا دو کلمه را در کنار هم بخوانید Cryptography Malware که به ترتیب کلمات بدافزار رمزنگاری ترجمه می شود و به خوبی مفهوم را می رساند. قبلا در توسینسو در خصوص مفهومی به نام Cryptovirology صحبت کرده ایم که در واقع بدافزارهایی که در حوزه رمزنگاری کار می کنند زیر مجموعه این نوع علم بدافزاری هستند. بصورت کلی هر بدافزاری که با استفاده از رمزنگاری اطلاعات اقدام به سوء استفاده از افراد بکند به عنوان Cryptomalware یا بدافزار رمزنگاری ( ترجمه بهتر پیدا کردید Comment بزارید ) شناخته می شود. باج افزار چیست؟ معرفی Ransomware به زبان سادهمعروف ترین نوع بدافزار رمزنگاری که در دنیا وجود دارد به عنوان باج افزار یا Ransomware شناخته می شود. مکانیزم کاری این نوع بدافزارها به نسبت ساده است ! آنها به سیستم قربانی نفوذ می کنند یا منتقل می شوند ، سپس اطلاعات یا فایل ها با پسوند های مشخصی مثل پسوند مستندات اداری ، عکس ها ، ویدیوها ، فایلهای بکاپ و ... را شناسایی می کنند و آنها را رمزنگاری می کنند و سپس پیامی روی تصویر قربانی درج می کنند که در صورت عدم پرداخت باج به این حساب های کاربری کلیه اطلاعات شما از بین خواهد رفت و بسیاری از کاربران قربانی مجبور به پرداخت این باج هستند تا کلید رمزگشایی را مهاجم در اختیار قربانی قرار بدهد. به تصویر بالا دقت کنید ، اینجا یک مرکز پزشکی و درمانگاهی مهم در کشور است که به باج افزار آلوده شده است . فرض کنید که مدیر یک شبکه هستید و صبح اول وقت وقتی پای سیستم می نشینید با چنین صحنه ای مواجه شوید که کلیه فایل های شما شبیه چرخدنده و اجرایی شده اند و با کلیک کردن روی آنها پیامی مشابه تصویر بالا دریافت می کنید . این یعنی شما به باج افزار آلوده شده اید . محتوای پیام کاملا مشخص است .در پیامی که باج گیرنده در سیستم شما نمایش می دهد قطعا یک آدرس ایمیل موقتی وجود دارد که برای شما ایجاد شده است و البته یک شناسه منحصر به فرد برای کامپیوتر و یا شبکه شما که توسط آن کلید رمزگشایی توسط مهاجم طراحی شده است نیز در اختیار شما قرار می گیرد. اگر می خواهید باج بدهید باید این ID را برای آن ایمیل ارسال کنید ، یک نمونه فایل برای رمزگشایی برای مهاجم ارسال کنید و فایل اصلی را دریافت کنید تا متوجه شوید که با هویت درستی برای باج دادن مواجه هستید . این روند کلی باجگیری اینترنتی در دنیاست . جالب است بدانید که در دنیا بیشتر از صدها میلیون دلار در سال از این طریق باجگیری می شود و با توجه به استفاده از مکانیزم های پرداخت بصورت رمزارز ( Cryptocurrency ) امکان پیگیری آنها تا حدی غیر ممکن است . تجربه آلودگی به باج افزار ایرانیبه تصویر بالا دقت کنید ، این تصویر را شاید بتوانیم تاریخچه باج افزاری در ایران بدانیم . این تجربه من در یکی از سازمان های حیاتی در ایران در سال 1387 بود که آلوده به نوعی باج افزار ایرانی شده بودند که بصورت هدفمند این سازمان را مورد هدف قرار داده بودند و قصد اخاذی و باجگیری داشتند که خوشبختانه ما موفق شدیم این مشکل را حل کنیم . تصویر بالا در حال حاضر فاقد هرگونه ارزش امنیتی بوده و با توجه به گذشت 12 سال از این موضوع دیگر انتشار آن نیز اهمیتی ندارد و برای اولین بار در ایران این تصویر توسط بنده در اینترنت منتشر می شود . برای یادگیری بیشتر به دوره آموزشی کالی لینوکس ( PWK ) ، دوره آموزشی CEH و دوره آموزشی سکیوریتی پلاس می باشد ، قبل از همه این آموزشها ، یادگیری دوره آموزش نتورک پلاس به عنوان پیشنیاز ورود به دنیای فناوری اطلاعات شدیدا توصیه می شود.
:: برچسبها: آموزش هک ،آموزش هک قانونمند،آموزش CEH ،آموزش سکیوریتی پلاس،آموزش Security،آموزش امنیت شبکه , :: بازدید از این مطلب : 344 نوشته شده توسط : محمد نصیری
وقتی صحبت از Cryptomalware می شود ، ابتدا دو کلمه را در کنار هم بخوانید Cryptography Malware که به ترتیب کلمات بدافزار رمزنگاری ترجمه می شود و به خوبی مفهوم را می رساند. قبلا در توسینسو در خصوص مفهومی به نام Cryptovirology صحبت کرده ایم که در واقع بدافزارهایی که در حوزه رمزنگاری کار می کنند زیر مجموعه این نوع علم بدافزاری هستند. بصورت کلی هر بدافزاری که با استفاده از رمزنگاری اطلاعات اقدام به سوء استفاده از افراد بکند به عنوان Cryptomalware یا بدافزار رمزنگاری ( ترجمه بهتر پیدا کردید Comment بزارید ) شناخته می شود. باج افزار چیست؟ معرفی Ransomware به زبان سادهمعروف ترین نوع بدافزار رمزنگاری که در دنیا وجود دارد به عنوان باج افزار یا Ransomware شناخته می شود. مکانیزم کاری این نوع بدافزارها به نسبت ساده است ! آنها به سیستم قربانی نفوذ می کنند یا منتقل می شوند ، سپس اطلاعات یا فایل ها با پسوند های مشخصی مثل پسوند مستندات اداری ، عکس ها ، ویدیوها ، فایلهای بکاپ و ... را شناسایی می کنند و آنها را رمزنگاری می کنند و سپس پیامی روی تصویر قربانی درج می کنند که در صورت عدم پرداخت باج به این حساب های کاربری کلیه اطلاعات شما از بین خواهد رفت و بسیاری از کاربران قربانی مجبور به پرداخت این باج هستند تا کلید رمزگشایی را مهاجم در اختیار قربانی قرار بدهد. به تصویر بالا دقت کنید ، اینجا یک مرکز پزشکی و درمانگاهی مهم در کشور است که به باج افزار آلوده شده است . فرض کنید که مدیر یک شبکه هستید و صبح اول وقت وقتی پای سیستم می نشینید با چنین صحنه ای مواجه شوید که کلیه فایل های شما شبیه چرخدنده و اجرایی شده اند و با کلیک کردن روی آنها پیامی مشابه تصویر بالا دریافت می کنید . این یعنی شما به باج افزار آلوده شده اید . محتوای پیام کاملا مشخص است .در پیامی که باج گیرنده در سیستم شما نمایش می دهد قطعا یک آدرس ایمیل موقتی وجود دارد که برای شما ایجاد شده است و البته یک شناسه منحصر به فرد برای کامپیوتر و یا شبکه شما که توسط آن کلید رمزگشایی توسط مهاجم طراحی شده است نیز در اختیار شما قرار می گیرد. اگر می خواهید باج بدهید باید این ID را برای آن ایمیل ارسال کنید ، یک نمونه فایل برای رمزگشایی برای مهاجم ارسال کنید و فایل اصلی را دریافت کنید تا متوجه شوید که با هویت درستی برای باج دادن مواجه هستید . این روند کلی باجگیری اینترنتی در دنیاست . جالب است بدانید که در دنیا بیشتر از صدها میلیون دلار در سال از این طریق باجگیری می شود و با توجه به استفاده از مکانیزم های پرداخت بصورت رمزارز ( Cryptocurrency ) امکان پیگیری آنها تا حدی غیر ممکن است . تجربه آلودگی به باج افزار ایرانیبه تصویر بالا دقت کنید ، این تصویر را شاید بتوانیم تاریخچه باج افزاری در ایران بدانیم . این تجربه من در یکی از سازمان های حیاتی در ایران در سال 1387 بود که آلوده به نوعی باج افزار ایرانی شده بودند که بصورت هدفمند این سازمان را مورد هدف قرار داده بودند و قصد اخاذی و باجگیری داشتند که خوشبختانه ما موفق شدیم این مشکل را حل کنیم . تصویر بالا در حال حاضر فاقد هرگونه ارزش امنیتی بوده و با توجه به گذشت 12 سال از این موضوع دیگر انتشار آن نیز اهمیتی ندارد و برای اولین بار در ایران این تصویر توسط بنده در اینترنت منتشر می شود . برای یادگیری بیشتر به دوره آموزشی کالی لینوکس ( PWK ) و آموزش هک، دوره آموزشی CEH و دوره آموزشی سکیوریتی پلاس می باشد ، قبل از همه این آموزشها ، یادگیری دوره آموزش نتورک پلاس به عنوان پیشنیاز ورود به دنیای فناوری اطلاعات شدیدا توصیه می شود.
:: برچسبها: آموزش هک , آموزش هک قانونمند , آموزش CEH , آموزش سکیوریتی پلاس , آموزش Security , آموزش امنیت شبکه , :: بازدید از این مطلب : 363 نوشته شده توسط : محمد نصیری
ریسک افزار چیست؟ یکی از جدیدترین مفاهیم در حوزه بدافزاری دنیای امنیت اطلاعات ، کلمه ای به نام Riskware یا ریسک افزار است. طبیعتا Risk و Software تشکیل دهنده این کلمه هستند اما جالب است بدانید که با اینکه از لحاظ امنیتی این نوع نرم افزارها در دسته بندی بدافزاری یا Malware ای قرار می گیرند اما واقعا بدافزار نیستند ! بله دست متوجه شدید ریسک افزارها بدافزار نیستند ، یعنی نویسنده یا تولید کننده آنها با هدف تخریب و انجام عملیات های مخرب آنها را تولید نکرده است.
اما نکته اینجاست که اینگونه نرم افزارها به شکلی امنیت کامپیوتر شما را تهدید می کنند و به همین دلیل ریسک به وجود آمدن عملیات مخرب را بالا می برند و به همین دلیل به آنها Riskware گفته می شود.اما واقعا چطور ممکن است یک نرم افزار باعث بالا رفتن ریسک امنیتی در یک کامپیوتر بشود؟ خوب در واقع Riskware ها می توانند با انجام دادن یک سری تغییرات در سیستم عامل قربانی کاری کنند که سایر بدافزارهای مخرب بتوانند عملیات مخربشان را انجام بدهد و اینکار به واسطه نصب شدن یک Riskware انجام می شود. بگذارید ساده تر بگوییم ، زمانیکه شما یک نرم افزار بر روی کامپیوتر خود نصب می کنید که این امکان را فراهم می کند که یک ریسک به وجود بیاید به آن Riskware می گوییم ، قرار نیست که این Riskware خودش تخریب یا عملیات مخرب انجام بدهد.برای مثال نرم افزاری ممکن است قوانین نصب و اجرای یک برنامه دیگر را نقض کند ، ممکن است اجازه اجرای یک برنامه دیگر در کامپیوتر را ندهد ، ممکن است جلوی به روز رسانی مختلف سیستم را بگیرد ، ممکن است Rule های دارای مشکل امنیتی در فایروال شما ایجاد کند ، ممکن است به عنوان Backdoor در سیستم قربانی مورد استفاده قرار بگیرد .
ساده ترین مثالی که می توانیم از Riskware ها بزنیم ابزارهای دانلودی مثل Torrent و P2P هایی مثل EMule هستند که قسمتی از هارد دیسک شما را به اشتراک عمومی می گذارند. الزامی ندارد که به تنهایی Riskware خطرناک باشد اما این امکان را فراهم می کند که انتشار سایر بدافزارها راحت تر شود. بصورت کلی یک Riskware ابزاری است که باعث حذف شدن ، مسدود کردن ، تغییر دادن و کپی اطلاعات و مختل کردن کارایی کامپیوترها و شبکه می شود. یک Riskware می تواند در قالب برنامه های IRC ، P2P ، SMTP ، انواع Downloader اینترنتی ، انواع ابزارهای مانیتورینگ ، ابزارهای شبکه ، ابزارهای مدیریت از راه دور شبکه ، سرویس های FTP ، سرویس های پروکسی ، سرویس Telnet و سرور وب و همچنین Toolbar های اینترنتی ظاهر شود. برای یادگیری بیشتر به دوره آموزشی کالی لینوکس ( PWK )و آموزش هک ، دوره آموزشی CEH و دوره آموزشی سکیوریتی پلاس می باشد ، قبل از همه این آموزشها ، یادگیری دوره آموزش نتورک پلاس به عنوان پیشنیاز ورود به دنیای فناوری اطلاعات شدیدا توصیه می شود.
:: برچسبها: آموزش هک , آموزش هک قانونمند , آموزش CEH , آموزش سکیوریتی پلاس , آموزش Security , آموزش امنیت شبکه , :: بازدید از این مطلب : 351
|
|
آرشیو مطالب آخرین مطالب پیوند های روزانه مطالب تصادفی مطالب پربازدید چت باکس
تبادل لینک هوشمند پشتیبانی LoxBlog.Com
|