2-فایلهای redo log اطلاعاتی را نگهداری می کنند که هنگام خرابی سیستم برای recovery آن مورد استفاده قرار می گیرند.این فایلها تمامی تغییرات اعمال شده بر روی یک پایگاه داده را نگهداری می کنند. به طور پیش فرض سه فایل redo log وجود دارد که به صورت چرخشی مورد استفاده قرار می گیرند به طوریکه بعد از پر شدن log file جاری یک عمل log switch انجام شده و Log بعدی به عنوان log جاری یا current تغییر می کند.
3-فایلهای کنترلی یا control fileها حاوی اطلاعاتی چون: نام بانک اطلاعاتی،تاریخ و زمان ایجاد Data file ها و Redo log file های بانک اطلاعاتی هستند که برای start شدن یک instance مورد نیاز می باشند. بدون این فایلها امکان دستیابی به سایر ساختارهای فیزیکی در زمان start شدن بانک اطلاعاتی وجود ندارد. بدلیل اهمیت زیاد این فایلها باید به خوبی از آنها محافظت شود. در اوراکل با مکانیزم mirror کردن چند نسخه از این فایلها نگهداری می شود. اطلاعات زیر در control file ها نگهداری می گردد:
🔵 نام بانک اطلاعاتی
🔵 تاریخ ایجاد بانک اطلاعاتی
🔵 شناسه (ID) یکتای بانک اطلاعاتی
🔵 آخرین شماره تغییر بانک اطلاعاتی SCN
🔵 نام و مسیر data file های بانک اطلاعاتی
🔵 نام و مسیر control file های بانک اطلاعاتی
🔵 وضعیت بانک اطلاعاتی از لحاظ قرار داشتن یا قرار نداشتن در حالت Archived log mode
🔵نام redo log file جاری
🔵 اطلاعات مربوط به Tablespace های بانک اطلاعاتی
🔵 اطلاعات مربوط به RMAN backup
🔵 نام بانک اطلاعاتی
🔵 تاریخ ایجاد بانک اطلاعاتی
🔵 شناسه (ID) یکتای بانک اطلاعاتی
🔵 آخرین شماره تغییر بانک اطلاعاتی SCN
🔵 نام و مسیر data file های بانک اطلاعاتی
🔵 نام و مسیر control file های بانک اطلاعاتی
🔵 وضعیت بانک اطلاعاتی از لحاظ قرار داشتن یا قرار نداشتن در حالت Archived log mode
🔵نام redo log file جاری
🔵 اطلاعات مربوط به Tablespace های بانک اطلاعاتی
🔵 اطلاعات مربوط به RMAN backup
داده ها در یک بانک اطلاعاتی اوراکل به دو گروه تقسیم می گردند:
Metadata
Data
به مجموعه اطلاعاتی که بانک اطلاعاتی برای procedural کردن درخواستهای non-procedural به آن نیاز دارد metadata گفته می شود.مجموعه این metadata ها از طریق data dictionary views قابل دسترسی و مشاهده می باشند.مثلا دیدگاه DBA_TABLES وظیفه نگهداری metadataهای جداول ایجاد شده در بانک اطلاعاتی را برعهده دارد. همچنین مثالهای زیر را داریم.
دیدگاه DBA_USERS اطلاعاتی در مورد تمامی کاربران پایگاه داده را در خود دارد.
دیدگاه DBA_VIEWS اطلاعاتی در مورد همه VIEW ها (دیدگاه ها) رادر خود دارد.
و مثال آخر دیدگاه DBA_TAB_COLUMNS که نام و نوع داده همه ستونهای جداول در پایگاه داده را در خود دارد.
یکسری از نکات:
تمامی metadata های بانک اطلاعاتی در Data dictionary ذخیره می شود.
خود data dictionary در یک tablespace به نام SYSTEM ذخیره می گردد.
مفهوم Data به داده های جداولی که توسط ما در بانک اطلاعاتی ذخیره گردیده اطلاق می گردد.
Dynamic Performance Views
تمامی این دیدگاه ها با پیشوند $V آغاز شده و محتوی آنها به فعالیت بانک اطلاعاتی بستگی دارد. تمامی این view ها در زمان shutdown شدن بانک اطلاعاتی خالی شده و در startup بعدی بر مبنای فعالیت بانک پر می شوند.
چند مثال از Dynamic Performance view ها:
دیدگاه V$DATABASE شامل اطلاعاتی در مورد خود پایگاه داده مانند نام پایگاه داده و زمان ایجاد آن می باشد.
دیدگاه V$VERSION نسخه پایگاه داده ای که در حال استفاده است را نشان می دهد.
دیدگاه V$OPTION اجزای اختیاری که در پایگاه داده نصب شده اند را نمایش می دهد.
دیدگاه V$SQL اطلاعاتی در مورد دستور SQL ای که کاربران پایگاه داده اجرا کرده اند نمایش می دهد.
مفاهیم اولیه:
سیستم مدیریت بانک اطلاعاتی رابطه ای (RDBMS):
یک بانک اطلاعاتی رابطه ای مجموعه ای از روابط و جداول دوبعدی است.
دسترسی کاربران به بانک اطلاعاتی رابطه ای: در یک مدل رابطه ای تمامی اشیاء بانک اطلاعاتی به صورت غیر مستقیم در اختیار کاربران بانک اطلاعاتی قرار می گیرند.یعنی کاربران بانک اطلاعاتی مستقیما به جداول و سایر اشیاء بانک اطلاعاتی که بر روی دیسک قرار می گیرند، دسترسی ندارند.برای دسترسی به بانک اطلاعاتی رابطه ای به یک instance از بانک اطلاعاتی نیاز می باشد.
تعریف instance: به مجموعه ای از پردازشهای اوراکل و حافظه مشترک اطلاق می شود که برای دسترسی به اشیا بانک اطلاعاتی موردنیاز می باشد.
نکته:اصلی ترین موضوعی که در یک مدل رابطه ای مطرح می باشد non-procedural بودن درخواستهای آن است که ابتدا باید به صورت procedural تبدیل شده و سپس قابلیت اجرا پیدا کند.instance اوراکل وظیفه procedural کردن درخواستهای non-procedural را برعهده دارد.instance برای ایجاد یک execution plan (طرح اجرایی) از درخواستهای SQL به داده های data dictionary نیاز دارد.بنابراین داده های data dictionary در چگونگی ایجاد طرح اجرایی نقش دارند.در اوراکل درخواستهایی که توسط instance اجرا می شود در حافظه instance نگهداری می شود، تا درخواستهای مشابه بعدی با سرعت بیشتری اجرا شده و نیاز به ایجاد طرح اجرایی جدید نداشته باشد.
پس هر instance اوراکل از دو ساختار اصلی زیر تشکیل می شود:
1-پردازشی:وظیفه procedural کردن درخواستهای non-procedural به عهده این قسمت است.
2-حافظه ای:وظیفه نگهداشتن نسخه ای از اطلاعات اجرا شده در بانک اطلاعاتی به عهده این قسمت می باشد.اگر اطلاعات درخواست شده جدید، قبلا در حافظه instance وجود داشته باشد از اجرای مجدد آن صرفنظر شده و از اطلاعات حافظه پاسخگویی به درخواست انجام می شود. اینکار افزایش کارایی بانک اطلاعاتی را به همراه دارد.
دسته بندی دستورات SQL:
دستورات SQL به 5 دسته کلی تقسیم می شوند:
1-دستورات Data retrieval: مانند دستور SELECT
2-دستورات Data manipulation language یا DML:مانند دستورات
INSERT
UPDATE
DELETE
MERGE
3-دستورات Data definition language یا DDL: مانند دستورات
CREATE
ALTER
DROP
RENAME
TRUNCATE
4-دستورات Transaction control:مانند
COMMIT
ROLLBACK
SAVEPOINT
5-دستورات Data control language یا (DCL): مانند
GRANT
REVOKE
Metadata
Data
به مجموعه اطلاعاتی که بانک اطلاعاتی برای procedural کردن درخواستهای non-procedural به آن نیاز دارد metadata گفته می شود.مجموعه این metadata ها از طریق data dictionary views قابل دسترسی و مشاهده می باشند.مثلا دیدگاه DBA_TABLES وظیفه نگهداری metadataهای جداول ایجاد شده در بانک اطلاعاتی را برعهده دارد. همچنین مثالهای زیر را داریم.
دیدگاه DBA_USERS اطلاعاتی در مورد تمامی کاربران پایگاه داده را در خود دارد.
دیدگاه DBA_VIEWS اطلاعاتی در مورد همه VIEW ها (دیدگاه ها) رادر خود دارد.
و مثال آخر دیدگاه DBA_TAB_COLUMNS که نام و نوع داده همه ستونهای جداول در پایگاه داده را در خود دارد.
یکسری از نکات:
تمامی metadata های بانک اطلاعاتی در Data dictionary ذخیره می شود.
خود data dictionary در یک tablespace به نام SYSTEM ذخیره می گردد.
مفهوم Data به داده های جداولی که توسط ما در بانک اطلاعاتی ذخیره گردیده اطلاق می گردد.
Dynamic Performance Views
تمامی این دیدگاه ها با پیشوند $V آغاز شده و محتوی آنها به فعالیت بانک اطلاعاتی بستگی دارد. تمامی این view ها در زمان shutdown شدن بانک اطلاعاتی خالی شده و در startup بعدی بر مبنای فعالیت بانک پر می شوند.
چند مثال از Dynamic Performance view ها:
دیدگاه V$DATABASE شامل اطلاعاتی در مورد خود پایگاه داده مانند نام پایگاه داده و زمان ایجاد آن می باشد.
دیدگاه V$VERSION نسخه پایگاه داده ای که در حال استفاده است را نشان می دهد.
دیدگاه V$OPTION اجزای اختیاری که در پایگاه داده نصب شده اند را نمایش می دهد.
دیدگاه V$SQL اطلاعاتی در مورد دستور SQL ای که کاربران پایگاه داده اجرا کرده اند نمایش می دهد.
مفاهیم اولیه:
سیستم مدیریت بانک اطلاعاتی رابطه ای (RDBMS):
یک بانک اطلاعاتی رابطه ای مجموعه ای از روابط و جداول دوبعدی است.
دسترسی کاربران به بانک اطلاعاتی رابطه ای: در یک مدل رابطه ای تمامی اشیاء بانک اطلاعاتی به صورت غیر مستقیم در اختیار کاربران بانک اطلاعاتی قرار می گیرند.یعنی کاربران بانک اطلاعاتی مستقیما به جداول و سایر اشیاء بانک اطلاعاتی که بر روی دیسک قرار می گیرند، دسترسی ندارند.برای دسترسی به بانک اطلاعاتی رابطه ای به یک instance از بانک اطلاعاتی نیاز می باشد.
تعریف instance: به مجموعه ای از پردازشهای اوراکل و حافظه مشترک اطلاق می شود که برای دسترسی به اشیا بانک اطلاعاتی موردنیاز می باشد.
نکته:اصلی ترین موضوعی که در یک مدل رابطه ای مطرح می باشد non-procedural بودن درخواستهای آن است که ابتدا باید به صورت procedural تبدیل شده و سپس قابلیت اجرا پیدا کند.instance اوراکل وظیفه procedural کردن درخواستهای non-procedural را برعهده دارد.instance برای ایجاد یک execution plan (طرح اجرایی) از درخواستهای SQL به داده های data dictionary نیاز دارد.بنابراین داده های data dictionary در چگونگی ایجاد طرح اجرایی نقش دارند.در اوراکل درخواستهایی که توسط instance اجرا می شود در حافظه instance نگهداری می شود، تا درخواستهای مشابه بعدی با سرعت بیشتری اجرا شده و نیاز به ایجاد طرح اجرایی جدید نداشته باشد.
پس هر instance اوراکل از دو ساختار اصلی زیر تشکیل می شود:
1-پردازشی:وظیفه procedural کردن درخواستهای non-procedural به عهده این قسمت است.
2-حافظه ای:وظیفه نگهداشتن نسخه ای از اطلاعات اجرا شده در بانک اطلاعاتی به عهده این قسمت می باشد.اگر اطلاعات درخواست شده جدید، قبلا در حافظه instance وجود داشته باشد از اجرای مجدد آن صرفنظر شده و از اطلاعات حافظه پاسخگویی به درخواست انجام می شود. اینکار افزایش کارایی بانک اطلاعاتی را به همراه دارد.
دسته بندی دستورات SQL:
دستورات SQL به 5 دسته کلی تقسیم می شوند:
1-دستورات Data retrieval: مانند دستور SELECT
2-دستورات Data manipulation language یا DML:مانند دستورات
INSERT
UPDATE
DELETE
MERGE
3-دستورات Data definition language یا DDL: مانند دستورات
CREATE
ALTER
DROP
RENAME
TRUNCATE
4-دستورات Transaction control:مانند
COMMIT
ROLLBACK
SAVEPOINT
5-دستورات Data control language یا (DCL): مانند
GRANT
REVOKE
نکته:SQL یک زبان محاوره ای non-procedural می باشد که در زمان اجرا درخواست، توسط instance بانک اطلاعاتیprocedural
شده و در حافظه instance ذخیره می شود.
مفاهیمی دیگر از اوراکل:
سرور بانک اطلاعاتی اوراکل شامل بانک اطلاعاتی و instance بانک اطلاعاتی است.
پس داریم:
Oracle server=oracle instance + oracle database
زمانیکه بانک اطلاعاتی استارت می شود فضایی از حافظه به نام sysyem global area یا SGA و background process هایی بوجود می آیند که به آن instance اطلاق می شود.SGA فضایی از حافظه instance بانک اطلاعاتی است که برای ذخیره تمامی درخواستهای کاربران بانک مورد استفاده قرار می گیرد.در سیستم عامل ویندوز هر instance اوراکل به صورت یک سرویس به سرویسهای ویندوز به فرمت oracleserviceSID اضافه می شود.از تعداد این سرویسها می توان به تعداد instance های بانک اطلاعاتی و نام آنها پی برد.
اجزای مدل رابطه ای:
هر بانک اطلاعاتی رابطه ای دارای سه مؤلفه اصلی زیر می باشد:
1-هسته RDBMS یا RDBMS kernel
2-data dictionary
3-زبان غیر رویه ای SQL
حال در زیر به توصیف هر قسمت می پردازیم.
هسته RDBMS یا RDBMS kernel:
یک RDBMS مانند اوراکل انجام کارهای زیر را برعهده دارد:
-ذخیره و جستجو و امنیت داده ها
-کنترل دسترسی به منابع برای مدیریت در همزمانی دسترسی به بانک اطلاعاتی توسط کاربران
-مدیریت بر روی cache و paging
-مدیریت قفل برای کنترل استفاده همزمان از منابع
-زمانبندی درخواست کاربران
-مدیریت بر روی فضای فیزیکی موردنیاز در tablespaceها و ....
در اوراکل instance وظیفه بارگزاری RDBMS kernel را به عهده دارد.در زمان بارگزاری kernel ابتدا حافظه SGA اختصاص یافته و سپس background process های اوراکل ایجاد می گردند.
بنابراین تا اینجا دریافتیم که یک instance اوراکل
-ابزاری برای دسترسی به پایگاه داده اوراکل می باشد.
-همیشه یک و تنها یک پایگاه داده را باز می کند.
-شامل حافظه و پردازش می باشد.
Data dictionary:
در معماری RDBMS جداولی وجود دارند که به آنها جداول Dats dictionary اطلاق می گردد.این جداول وظیفه نگهداری اشیاء پایگاه داده را برعهده دارند.مثلا در اوراکل جدول از قبل تعریف شده ای به نام DBA_TABLES در data dictionary وجود دارد، که وظیفه نگهداری اطلاعات مربوط به جداول ایجاد شده توسط تمامی کاربران بانک را به عهده دارد.
تمامی اشیاء بانک اطلاعاتی در data dictionary ذخیره می گردند.به این ترتیب می توان با یک زبان مثل sql داده ها را دستیابی کرد.
در خلال ایجاد پایگاه داده، سرور اوراکل ساختارهای شئ اضافی در فایلهای داده ایجاد میکند که عبارتند از:
-Data dictionary tables
-Dynamic performance tables
همچنین در data dictionary دو نوع view یا دیدگاه داریم که عبارتند از:
-Data dictionary views
-Dynamic performance views
#oracle #db @unixmens
شده و در حافظه instance ذخیره می شود.
مفاهیمی دیگر از اوراکل:
سرور بانک اطلاعاتی اوراکل شامل بانک اطلاعاتی و instance بانک اطلاعاتی است.
پس داریم:
Oracle server=oracle instance + oracle database
زمانیکه بانک اطلاعاتی استارت می شود فضایی از حافظه به نام sysyem global area یا SGA و background process هایی بوجود می آیند که به آن instance اطلاق می شود.SGA فضایی از حافظه instance بانک اطلاعاتی است که برای ذخیره تمامی درخواستهای کاربران بانک مورد استفاده قرار می گیرد.در سیستم عامل ویندوز هر instance اوراکل به صورت یک سرویس به سرویسهای ویندوز به فرمت oracleserviceSID اضافه می شود.از تعداد این سرویسها می توان به تعداد instance های بانک اطلاعاتی و نام آنها پی برد.
اجزای مدل رابطه ای:
هر بانک اطلاعاتی رابطه ای دارای سه مؤلفه اصلی زیر می باشد:
1-هسته RDBMS یا RDBMS kernel
2-data dictionary
3-زبان غیر رویه ای SQL
حال در زیر به توصیف هر قسمت می پردازیم.
هسته RDBMS یا RDBMS kernel:
یک RDBMS مانند اوراکل انجام کارهای زیر را برعهده دارد:
-ذخیره و جستجو و امنیت داده ها
-کنترل دسترسی به منابع برای مدیریت در همزمانی دسترسی به بانک اطلاعاتی توسط کاربران
-مدیریت بر روی cache و paging
-مدیریت قفل برای کنترل استفاده همزمان از منابع
-زمانبندی درخواست کاربران
-مدیریت بر روی فضای فیزیکی موردنیاز در tablespaceها و ....
در اوراکل instance وظیفه بارگزاری RDBMS kernel را به عهده دارد.در زمان بارگزاری kernel ابتدا حافظه SGA اختصاص یافته و سپس background process های اوراکل ایجاد می گردند.
بنابراین تا اینجا دریافتیم که یک instance اوراکل
-ابزاری برای دسترسی به پایگاه داده اوراکل می باشد.
-همیشه یک و تنها یک پایگاه داده را باز می کند.
-شامل حافظه و پردازش می باشد.
Data dictionary:
در معماری RDBMS جداولی وجود دارند که به آنها جداول Dats dictionary اطلاق می گردد.این جداول وظیفه نگهداری اشیاء پایگاه داده را برعهده دارند.مثلا در اوراکل جدول از قبل تعریف شده ای به نام DBA_TABLES در data dictionary وجود دارد، که وظیفه نگهداری اطلاعات مربوط به جداول ایجاد شده توسط تمامی کاربران بانک را به عهده دارد.
تمامی اشیاء بانک اطلاعاتی در data dictionary ذخیره می گردند.به این ترتیب می توان با یک زبان مثل sql داده ها را دستیابی کرد.
در خلال ایجاد پایگاه داده، سرور اوراکل ساختارهای شئ اضافی در فایلهای داده ایجاد میکند که عبارتند از:
-Data dictionary tables
-Dynamic performance tables
همچنین در data dictionary دو نوع view یا دیدگاه داریم که عبارتند از:
-Data dictionary views
-Dynamic performance views
#oracle #db @unixmens
bpora.pdf
239.4 KB
بک گراند پروسس در اوراکل - انگلیسی
🔖استفاده از اینترنت در هواپیما
به طور کلی دو روش برای اتصال به اینترنت برای هواپیما وجود دارد:
🔰روش اول: استفاده از دکل های مخابراتی که روی زمین قرار دارند می باشد.
▪️تجهیزات ارسال و دریافت روی همان دکل های مخابراتی برای تلفن همراه نصب می شود و برجهای مخابراتی و باندپهن موبایل سیگنالهای وایفای را برای هواپیماها در آسمان ارسال میکنند.
هواپیما ها روی بدنه و بالهای خود چندین آنتن گیرنده امواج رادیویی دارند که میتوانند با دکلهای موبایل روی زمین ارتباط برقرار کنند. همانطور که هواپیما به سمت مقصد حرکت میکند، نزدیکترین دکلهای مخابراتی موبایل را پیدا میکنند و به آن وصل می شود.و بعد از دریافت نزدیکترین سیگنالها ، برای مسافران داخل هواپیما ارسال میشود.
و از این طریق همیشه مسافران به اینترنت دسترسی دارند.
‼️ اما چون دکل های مخابراتی روی زمین وجود دارند و اگر هواپیما برای مدت طولانی از روی کوهها یا دریا و اقیانوس عبور کند، ممکن است در سرویس وایفای اختلال ایجاد شود.
🔰روش دوم استفاده از از طریق ماهواره ها است.
▪️در این روش هواپیماها به ماهوارههای در مدار ژئواستاتیک که حدود ۳۶ هزار کیلومتر بیرون از مدار زمین هستند و میتوانند سیگنالهایی را به سوی زمین ارسال یا دریافت کنند، متصل میشوند.
مانند روش اول در این روش نیز یک آنتن روی هواپیما نصب می شود و سیگنالها را از ماهوارهها دریافت میکند.
وبعد از پیدا کردن نزدیکترین ماهواره به هواپیما ،با استفاده از یک روتر بیسیم سیگنالها برای دستگاههای متصل به وایفای هواپیما و مسافران ارسال شود.
✔️استفاده از ماهواره برای اینترنت نیاز به نصب تجهیزات بیشتر و سنگین تری روی هواپیما ها دارد به همین دلیل بسیار گران تر از روش اول می باشد.
🔺به همین خاطر است که بسیاری از خطوط هواپیمایی نمیتوانند هزینهها یا زیرساخت لازم برای استفاده از وایفای در هر کشور یا شهری را تامین کنند و از داشتن این سرویس برای مسافران خود داری میکنند.
‼️نکته:البته ناگفته نماند هزینه بلیط برای کسانی که میخواهند از این سرویس ها استفاده کنند به مراتب گرانتر می باشد.
به طور کلی دو روش برای اتصال به اینترنت برای هواپیما وجود دارد:
🔰روش اول: استفاده از دکل های مخابراتی که روی زمین قرار دارند می باشد.
▪️تجهیزات ارسال و دریافت روی همان دکل های مخابراتی برای تلفن همراه نصب می شود و برجهای مخابراتی و باندپهن موبایل سیگنالهای وایفای را برای هواپیماها در آسمان ارسال میکنند.
هواپیما ها روی بدنه و بالهای خود چندین آنتن گیرنده امواج رادیویی دارند که میتوانند با دکلهای موبایل روی زمین ارتباط برقرار کنند. همانطور که هواپیما به سمت مقصد حرکت میکند، نزدیکترین دکلهای مخابراتی موبایل را پیدا میکنند و به آن وصل می شود.و بعد از دریافت نزدیکترین سیگنالها ، برای مسافران داخل هواپیما ارسال میشود.
و از این طریق همیشه مسافران به اینترنت دسترسی دارند.
‼️ اما چون دکل های مخابراتی روی زمین وجود دارند و اگر هواپیما برای مدت طولانی از روی کوهها یا دریا و اقیانوس عبور کند، ممکن است در سرویس وایفای اختلال ایجاد شود.
🔰روش دوم استفاده از از طریق ماهواره ها است.
▪️در این روش هواپیماها به ماهوارههای در مدار ژئواستاتیک که حدود ۳۶ هزار کیلومتر بیرون از مدار زمین هستند و میتوانند سیگنالهایی را به سوی زمین ارسال یا دریافت کنند، متصل میشوند.
مانند روش اول در این روش نیز یک آنتن روی هواپیما نصب می شود و سیگنالها را از ماهوارهها دریافت میکند.
وبعد از پیدا کردن نزدیکترین ماهواره به هواپیما ،با استفاده از یک روتر بیسیم سیگنالها برای دستگاههای متصل به وایفای هواپیما و مسافران ارسال شود.
✔️استفاده از ماهواره برای اینترنت نیاز به نصب تجهیزات بیشتر و سنگین تری روی هواپیما ها دارد به همین دلیل بسیار گران تر از روش اول می باشد.
🔺به همین خاطر است که بسیاری از خطوط هواپیمایی نمیتوانند هزینهها یا زیرساخت لازم برای استفاده از وایفای در هر کشور یا شهری را تامین کنند و از داشتن این سرویس برای مسافران خود داری میکنند.
‼️نکته:البته ناگفته نماند هزینه بلیط برای کسانی که میخواهند از این سرویس ها استفاده کنند به مراتب گرانتر می باشد.
dev/null/ و dev/zero/ دو فایل در سیستم عامل لینوکس و دیگر سیستم عامل های شبه-یونیکس هستند که برای ایجاد فایل های خالی و همچنین در Redirection کاربرد دارند. بطور مثال برای ایجاد یک فایل توسط دستور dd به همراه یکی از فایل های گفته شده می توان از دستور های زیر استفاده نمود. یا برای Redirect کردن خطای ناشی عدم نداشتن مجوز بر روی فایل ها، از اجرای دستور find می توان از این فایل ها استفاده نمود. در این حالت خطای ناشی از اجرای هر دستور دیگر یا حتی خروجی های استاندارد را می توان به این فایل ها هدایت کرد که باعث می شود “هیچ چیز نشان داده شوند.
dd if=/dev/zero of=/tmp/filename bs=4096 count=1000
dd if=/dev/null of=/tmp/filename bs=4096 count=1000
find /home -user a.nami -name “*.sh” 2> /dev/null | less
فایل dev/null/ : این شبه-فایل، فایلی بدون داده را ایجاد می کند، اما نیاز به اندازه دارد. به عبارت بهتر، این فایل، فایلی را با صفر هایی ایجاد می کند که همین باعث دادن حجم به فایل می شود. با اتسفاده از دستور زیر فایل را ایجاد کنید.
dd if=/dev/zero of=/tmp/filename bs=4096 count=1000
حال اگر با دستور cat بخواهید درون فایل ایجاد شده را ببینید، خواهید دید که فایل تهی یا خالی است. (نخسین دستور زیر). اما اگر با دستور strace پیش از cat خواهید دید که فایل ایجاد شده با صفر هایی پر شده است. (دومین دستور زیر و خروجی آن در زیر)
cat /tmp/filename
strace cat /tmp/filename
execve(“/bin/cat”, [“cat”, “/dev/zero”], [/* 46 vars */]) = 0
<—->
fadvise64(3, 0, 0, POSIX_FADV_SEQUENTIAL) = 0
read(3, “\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?…, 32768) = 32768
write(1, “\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?…, 32768) = 32768
read(3, “\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?…, 32768) = 32768
write(1, “\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?…, 32768) = 32768
read(3, “\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?…, 32768) = 32768
write(1, “\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?…, 32768) = 32768
read(3, “\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?…, 32768) = 32768
write(1, “\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?…, 32768) = 32768
read(3, “\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?…, 32768) = 32768
write(1, “\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?…, 32768) = 32768
read(3, “\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?…, 32768) = 32768
write(1, “\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?…, 32768) = 32768
read(3, “\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?…, 32768) = 32768
پس از دستور بالا برای ایجاد یک فایل با اندازه ای مشخص (استفاده از دستور dd) بدون هیچ داده ای (استفاده از فایل dev/zero/) استفاده می کنیم. از دستور زیر استفاده کنید تا اندازه فایل (4 مگابایت) را مشاهده کنید.
ls -lh /tmp/filename
-rw-r–r–. 1 root root 4.0M Sep 18 07:11 /tmp/filename
فایل dev/null/ : مانند فایل پیشین، از این فایل برای ایجاد فایل تهی استفاده می شود با این تفاوت که دیگر اندازه ی لازم در فایل قبلی و همچنین صفر های پر شده در فایل قبلی را ندارد. اگر از دستور زیر استفاده کنید فایلی خالی ایجاد می شود.
dd if=/dev/null of=/tmp/filename bs=4096 count=1000
اگر فایل را با دستور cat بخوانید، چیزی نمایش داده نمی شود و با استفاده از دستور strace نیز استفاده کنید (خروجی در زیر آن)، خواهید دید که بر خلاف فایل قبلی، فایل با صفر ها پر نشده است.
cat /tmp/filename
strace cat /tmp/filename
همچنین فایل فاقد اندازه لازمه در فایل قبلی است.
ls -lh /tmp/filename
-rw-r–r–. 1 root root 0 Sep 22 02:16 /tmp/filename
#/dev/zero #/dev/null @unixmens
dd if=/dev/zero of=/tmp/filename bs=4096 count=1000
dd if=/dev/null of=/tmp/filename bs=4096 count=1000
find /home -user a.nami -name “*.sh” 2> /dev/null | less
فایل dev/null/ : این شبه-فایل، فایلی بدون داده را ایجاد می کند، اما نیاز به اندازه دارد. به عبارت بهتر، این فایل، فایلی را با صفر هایی ایجاد می کند که همین باعث دادن حجم به فایل می شود. با اتسفاده از دستور زیر فایل را ایجاد کنید.
dd if=/dev/zero of=/tmp/filename bs=4096 count=1000
حال اگر با دستور cat بخواهید درون فایل ایجاد شده را ببینید، خواهید دید که فایل تهی یا خالی است. (نخسین دستور زیر). اما اگر با دستور strace پیش از cat خواهید دید که فایل ایجاد شده با صفر هایی پر شده است. (دومین دستور زیر و خروجی آن در زیر)
cat /tmp/filename
strace cat /tmp/filename
execve(“/bin/cat”, [“cat”, “/dev/zero”], [/* 46 vars */]) = 0
<—->
fadvise64(3, 0, 0, POSIX_FADV_SEQUENTIAL) = 0
read(3, “\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?…, 32768) = 32768
write(1, “\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?…, 32768) = 32768
read(3, “\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?…, 32768) = 32768
write(1, “\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?…, 32768) = 32768
read(3, “\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?…, 32768) = 32768
write(1, “\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?…, 32768) = 32768
read(3, “\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?…, 32768) = 32768
write(1, “\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?…, 32768) = 32768
read(3, “\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?…, 32768) = 32768
write(1, “\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?…, 32768) = 32768
read(3, “\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?…, 32768) = 32768
write(1, “\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?…, 32768) = 32768
read(3, “\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?…, 32768) = 32768
پس از دستور بالا برای ایجاد یک فایل با اندازه ای مشخص (استفاده از دستور dd) بدون هیچ داده ای (استفاده از فایل dev/zero/) استفاده می کنیم. از دستور زیر استفاده کنید تا اندازه فایل (4 مگابایت) را مشاهده کنید.
ls -lh /tmp/filename
-rw-r–r–. 1 root root 4.0M Sep 18 07:11 /tmp/filename
فایل dev/null/ : مانند فایل پیشین، از این فایل برای ایجاد فایل تهی استفاده می شود با این تفاوت که دیگر اندازه ی لازم در فایل قبلی و همچنین صفر های پر شده در فایل قبلی را ندارد. اگر از دستور زیر استفاده کنید فایلی خالی ایجاد می شود.
dd if=/dev/null of=/tmp/filename bs=4096 count=1000
اگر فایل را با دستور cat بخوانید، چیزی نمایش داده نمی شود و با استفاده از دستور strace نیز استفاده کنید (خروجی در زیر آن)، خواهید دید که بر خلاف فایل قبلی، فایل با صفر ها پر نشده است.
cat /tmp/filename
strace cat /tmp/filename
همچنین فایل فاقد اندازه لازمه در فایل قبلی است.
ls -lh /tmp/filename
-rw-r–r–. 1 root root 0 Sep 22 02:16 /tmp/filename
#/dev/zero #/dev/null @unixmens
Forwarded from Academy and Foundation unixmens | Your skills, Your future (yashar esmaildokht 🐧)
اگر می خواهید یک ریمستر یا توزیع شخصی نسبت به بر نامه های خود داشته باشید من Pinguy Builder را پیشنهاد می کنم که فورکی هست از remastersys
نکته : در مورد remastersys در https://unixmen.ir مقاله ای نوشتم
#remaster #remastersys #own_distro #pinguy @unixmens
نکته : در مورد remastersys در https://unixmen.ir مقاله ای نوشتم
#remaster #remastersys #own_distro #pinguy @unixmens
Forwarded from Academy and Foundation unixmens | Your skills, Your future (yashar esmaildokht 🐧)
در چند روز اخیر، کارشناسان روش جدیدی برای کرک کلمه عبور شبکه وایفای کشف نمودهاند که در زمان کمتری دسترسی به کلمه عبور را ممکن میکند.
این روش که هنگام تحلیل آسیب پذیری wpa3 به طور تصادفی کشف شده است. با استفاده از این آسیبپذیری میتوان با دسترسی به یکی از بستههایی که بین مودم و کاربر مبادله میشود و آنالیز آن، به تمام اطلاعاتی که برای یک حمله جستجوی کامل نیاز است دست یافت.
در روشهای قبلی، هکر باید برای دست یافتن به کلمه عبور منتظر وصل شدن یکی از کاربران به اکسس پوینت میشد تا بتواند در فرآیند احراز اصالت برای تصدیق یک کاربر جدید، کلمه عبور را به دست آورد. اما در این روش کافی است که یکی از فریمها به نام EAPOL دست پیدا کنیم.
در این تکنیک که مختص رمزنگاری wpa/wpa2 هست، در وایفایهایی که قابلیت PMKID-based roaming فعال است، هکر میتواند با دستیابی به این کد، کلمه عبور psk(pre shared key) را بازیابی نماید. با استفاده از ابزار hashcat و استخراج قسمت pmkid (کدی برای برقراری ارتباط بین کاربر و اکسس پوینت) از این نوع فریم، در کمتر از 10 دقیقه با توجه به سیگنال خوب و عدم وجود نویز بالا، میتوان این کار را انجام داد و هکر در اولین فریم EAPOL ارسال شده از اکسس پوینت، بر خلاف حمله های قبلی که باید منتظر handshake میشد، میتواند به شبکه وایفای قربانی دست یابد.
استفاده از این نوع آسیب پذیری در استاندارد جدید wpa3 به دلیل ایجاد یک روش رمزنگاری جدید Simultaneous Authentication of Equals (SAE) مشکلتر خواهد بود.
هنوز معلوم نیست این آسیبپذیری بر روی کدام یک از برندها یا مدلهای مسیریابها وجود دارد؛ اما به گفته محققین اکثر دستگاههایی که از پروتکل IEEE 802.11i/p/q/rبه همراه قابیلت roaming functions استفاده میکنند در معرض این آسیب پذیری قرار دارند.
با توجه به اینکه موفقیت این حمله بستگی به پیچیدگی کلمه عبور شبکه وایفای دارد، توصیه میکنیم از کلمات عبور با طول کافی و استفاده از حروف بزرگ و کوچک، اعداد و نمادها استفاده نمایید تا مقاومت کافی به این حملات داشته باشید.
#security #wifi @unixmens
این روش که هنگام تحلیل آسیب پذیری wpa3 به طور تصادفی کشف شده است. با استفاده از این آسیبپذیری میتوان با دسترسی به یکی از بستههایی که بین مودم و کاربر مبادله میشود و آنالیز آن، به تمام اطلاعاتی که برای یک حمله جستجوی کامل نیاز است دست یافت.
در روشهای قبلی، هکر باید برای دست یافتن به کلمه عبور منتظر وصل شدن یکی از کاربران به اکسس پوینت میشد تا بتواند در فرآیند احراز اصالت برای تصدیق یک کاربر جدید، کلمه عبور را به دست آورد. اما در این روش کافی است که یکی از فریمها به نام EAPOL دست پیدا کنیم.
در این تکنیک که مختص رمزنگاری wpa/wpa2 هست، در وایفایهایی که قابلیت PMKID-based roaming فعال است، هکر میتواند با دستیابی به این کد، کلمه عبور psk(pre shared key) را بازیابی نماید. با استفاده از ابزار hashcat و استخراج قسمت pmkid (کدی برای برقراری ارتباط بین کاربر و اکسس پوینت) از این نوع فریم، در کمتر از 10 دقیقه با توجه به سیگنال خوب و عدم وجود نویز بالا، میتوان این کار را انجام داد و هکر در اولین فریم EAPOL ارسال شده از اکسس پوینت، بر خلاف حمله های قبلی که باید منتظر handshake میشد، میتواند به شبکه وایفای قربانی دست یابد.
استفاده از این نوع آسیب پذیری در استاندارد جدید wpa3 به دلیل ایجاد یک روش رمزنگاری جدید Simultaneous Authentication of Equals (SAE) مشکلتر خواهد بود.
هنوز معلوم نیست این آسیبپذیری بر روی کدام یک از برندها یا مدلهای مسیریابها وجود دارد؛ اما به گفته محققین اکثر دستگاههایی که از پروتکل IEEE 802.11i/p/q/rبه همراه قابیلت roaming functions استفاده میکنند در معرض این آسیب پذیری قرار دارند.
با توجه به اینکه موفقیت این حمله بستگی به پیچیدگی کلمه عبور شبکه وایفای دارد، توصیه میکنیم از کلمات عبور با طول کافی و استفاده از حروف بزرگ و کوچک، اعداد و نمادها استفاده نمایید تا مقاومت کافی به این حملات داشته باشید.
#security #wifi @unixmens
هکرها به مسیریابهای ایدیاسال دیلینک نفوذ نموده و آدرس DNS آنها را تغییر دادهاند. این امر باعث میشود تا کاربرانی که قصد اتصال به سایتهای بانکی خود را دارند به وبسایتهای جعلی که اطلاعات حساب کاربری کاربران را سرقت میکنند هدایت شوند. توجه به علامت ناامن بودن در مرورگر تنها راه نجات از این حمله پنهان است.
این حمله که توسط مهاجمان مورد استفاده قرار میگیرد به آنها اجازه میدهد تغییرات را در قسمت تنظیمات DNS مودمهای ایدیاسال دیلینک انجام دهند. درواقع این امر به آنها اجازه میدهد تا به راحتی مقادیر زیادی از مسیریابهای آسیبپذیر را اسکن کنند و بتوانند تنظیمات DNS آنها را به یک سرور DNS تحت کنترل مهاجم تغییر دهند.
ماجرا از این قرار است که زمانی که یک کاربر تلاش میکند تا به یک سایت در اینترنت متصل شود، برای اولین بار از یک سرور DNS برای ارسال یک نام میزبان مانند www.google.com به یک آدرس IP مانند 172.217.11.366 درخواست میکند. سپس کامپیوتر کاربر به این آدرس IP متصل شده و اتصال مورد نظر را آغاز میکند. با تغییر سرورهای نام استفاده شده در مسیریاب، کاربران به سایتهای جعلی و مخرب هدایت میشوند؛ در حالی که فکر میکنند که این سایتها قانونی و قابل اعتماد هستند. از آن جایی که این سایتها مشابه با سایت اصلی هستند، کاربران به سایت اعتماد نموده و اطلاعات کاربری خود مانند شماره حساب، پین هشت رقمی، شماره تلفن همراه، پین کارت و رمز حساب خود را وارد نموده و این اطلاعات را به دست هکرها میسپارد.
در واقع dns سرورهای مخرب مورد استفاده در این حمله با آدرسهای 69.162.89.185 و 198.50.222.136 بوده است. این سرورها آدرسهای بانکهای Banco de Brasil با آدرس www.bb.com.brو Itau Unibanco با آدرس www.itau.com.brرا جعل نموده و کاربران آنها را فریب میدهند.
به طور کلی میتوان گفت حملات جعل سرور DNS بسیار خطرناک است؛ زیرا در این نوع حملات کاربر متوجه هیچ چیز غیرمعمولی نشده، هیچ ایمیل فیشینگ وجود ندارد و هیچ تغییری در رایانه کاربر به وجود نیامده است و همه چیز روی مسیریاب و حتی بدون تعامل کاربر صورت میگیرد و در نظر کاربر همه چیز عادی و خوب به نظر میرسد. درواقع کاربر می تواند از هر مرورگری و کلیدهای میانبر معمول خود استفاده کند، هم چینین میتواند آدرس سایت را به صورت دستی تایپ کند یا حتی از گوشی همراه و تبلت خود استفاده کند. تنها نشانهای که در این زمان به کاربر کمک میکند تا مورد سوءاستفاده قرار نگیرد، توجه به علامت ناامن بودن در مرورگر است.
کاربران برای جلوگیری از چنین حملاتی بهتر است که نرمافزار مودم خود را به روز نموده و در زمان مشاهده وبسایتها به هشدارهای مرورگر توجه نمایند. برای اینکه مطمین شوید مورد چنین حملهای قرار نگرفتهاید میتوانید با چک کردن آدرس DNS خود با آدرسهای معتبر از صحت آنها مطمین شوید.
#security #D_link
این حمله که توسط مهاجمان مورد استفاده قرار میگیرد به آنها اجازه میدهد تغییرات را در قسمت تنظیمات DNS مودمهای ایدیاسال دیلینک انجام دهند. درواقع این امر به آنها اجازه میدهد تا به راحتی مقادیر زیادی از مسیریابهای آسیبپذیر را اسکن کنند و بتوانند تنظیمات DNS آنها را به یک سرور DNS تحت کنترل مهاجم تغییر دهند.
ماجرا از این قرار است که زمانی که یک کاربر تلاش میکند تا به یک سایت در اینترنت متصل شود، برای اولین بار از یک سرور DNS برای ارسال یک نام میزبان مانند www.google.com به یک آدرس IP مانند 172.217.11.366 درخواست میکند. سپس کامپیوتر کاربر به این آدرس IP متصل شده و اتصال مورد نظر را آغاز میکند. با تغییر سرورهای نام استفاده شده در مسیریاب، کاربران به سایتهای جعلی و مخرب هدایت میشوند؛ در حالی که فکر میکنند که این سایتها قانونی و قابل اعتماد هستند. از آن جایی که این سایتها مشابه با سایت اصلی هستند، کاربران به سایت اعتماد نموده و اطلاعات کاربری خود مانند شماره حساب، پین هشت رقمی، شماره تلفن همراه، پین کارت و رمز حساب خود را وارد نموده و این اطلاعات را به دست هکرها میسپارد.
در واقع dns سرورهای مخرب مورد استفاده در این حمله با آدرسهای 69.162.89.185 و 198.50.222.136 بوده است. این سرورها آدرسهای بانکهای Banco de Brasil با آدرس www.bb.com.brو Itau Unibanco با آدرس www.itau.com.brرا جعل نموده و کاربران آنها را فریب میدهند.
به طور کلی میتوان گفت حملات جعل سرور DNS بسیار خطرناک است؛ زیرا در این نوع حملات کاربر متوجه هیچ چیز غیرمعمولی نشده، هیچ ایمیل فیشینگ وجود ندارد و هیچ تغییری در رایانه کاربر به وجود نیامده است و همه چیز روی مسیریاب و حتی بدون تعامل کاربر صورت میگیرد و در نظر کاربر همه چیز عادی و خوب به نظر میرسد. درواقع کاربر می تواند از هر مرورگری و کلیدهای میانبر معمول خود استفاده کند، هم چینین میتواند آدرس سایت را به صورت دستی تایپ کند یا حتی از گوشی همراه و تبلت خود استفاده کند. تنها نشانهای که در این زمان به کاربر کمک میکند تا مورد سوءاستفاده قرار نگیرد، توجه به علامت ناامن بودن در مرورگر است.
کاربران برای جلوگیری از چنین حملاتی بهتر است که نرمافزار مودم خود را به روز نموده و در زمان مشاهده وبسایتها به هشدارهای مرورگر توجه نمایند. برای اینکه مطمین شوید مورد چنین حملهای قرار نگرفتهاید میتوانید با چک کردن آدرس DNS خود با آدرسهای معتبر از صحت آنها مطمین شوید.
#security #D_link