LINUX

آموزش لینوکس

LINUX

آموزش لینوکس

LINUX

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

طبقه بندی موضوعی

۷ مطلب با کلمه‌ی کلیدی «bash» ثبت شده است

با سلام.

اینجانب در زمینه ی پشتیبانی سرورهای لینوکسی و همچنین آموزش ابتدایی تا پیشرفته لینوکس و زبان های bash و python میپردازم.

موفق باشید.

۰ نظر موافقین ۰ مخالفین ۰ ۱۷ اسفند ۹۴ ، ۱۴:۲۰
مرتضی

امروز تصمیم دارم راجع به اتخاذ تصمیم در اسکریپت نویسی به زبان shell یا همون bash ی توضیحاتی بدم. در شل دو حالت کلی وجود داره.

۱) if else

۲) case esac


عبارات if else

امروز من مورد یک رو که همون عبارت if else هست رو توضیح میدم. خود این مساله هم چند حالت داره که خدمتتون میگم:


۱) if fi

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

if [ expression ]
then
   Statement(s) to be executed if expression is true
fi


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

۰ نظر موافقین ۴ مخالفین ۰ ۲۴ مرداد ۹۳ ، ۱۶:۲۶
مرتضی

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


تعریف آرایه ها

برای تعریف کردن آرایه ها در bash شما میتونید به صورت زیر برای اندیس های مختلف مقادیری رو تعیین کنید:

NAME[0]="Muhammad"
NAME[1]="Ali"
NAME[2]="Zahra"
NAME[3]="Hassan"
NAME[4]="Hossein"


برای صدا زدن هر یک از اون ها شما میتونید مثلا به صورت زیر عمل کنید:

$ echo ${NAME[0]}
Muhammad

۰ نظر موافقین ۰ مخالفین ۰ ۰۹ تیر ۹۳ ، ۱۴:۱۰
مرتضی
در بخش قبل به توضیحی درباره متغیرها پرداختم و الان میخوام به بررسی متغیرهای مخصوصی در زبان bash بپردازم.
برای مثال اگر میخواین pid شل که در حال اجراست رو در بیارید میتونید به صورت زیر عمل کنید:
$ echo $$
29949

حالا میخوام به توضیح مختصری در باره این نوع متغیرها بپردازم و در انتها هم یک مثال براتون بیارم:
- $0 : نام اسکریپتی که در حال نوشتن اون هستید رو نمایش میده:
- n$ : در این جا شما میتونید به جای n مقدار عددی مثبت رو قرار بدید. مثلا 1$ بیانگر پارامتر اولی هست که به اسکریپت میدید و ....
- #$ : این علامت بیانگر تعداد پارامترهایی هست که این اسکریپت نیاز داره تا با اون ها اجرا بشه. یا تعداد پارامترهایی که اسکریپت با اون اجرا شده.
- *$ : تمام پارامتر ها رو به نمایش میذاره
- @$ : این هم مانند قبل همه پارامتر ها رو نشون میده
- ?$ : این متغیر وضعیت خروج آخرین دستور زده شده رو به صورت یک عدد به شما نمایش میده. مثلا اگر دستور آخری که اجرا کردید موفقیت آمیز بوده و صحیح بده مقدار 0 رو بر میگردونه و اگر دستور یا اسکریپت با موفقیت به اجرا در نیامد مقدار 1- را بر میگرداند
- $$ : شماره پراسه شل در حال اجرا یا شلی که در اون هستید رو بر میگردونه
- !$ : شماره پراسه آخرین دستوری که در background اجرا شده رو نمایش میده
۰ نظر موافقین ۰ مخالفین ۰ ۰۶ تیر ۹۳ ، ۲۰:۴۴
مرتضی

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

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


Shell Prompt

علامت شل $ می باشد که وقتی ظاهر شد شما میتونید دستورات لازم رو وارد کنید. بعد از اینکه دستور رو نوشتید و اینتر رو زدید, شل مقدار ورودی رو از شما میگیره. هر دستور در لینوکس به خودی خود یک داده از نوع رشته ست که به صورت پیوسته و ناگسسته نوشته میشه.

دستور زیر تاریخ و ساعت رو به شما نشون میده:

$ date
Tue Jun 24 20:27:28 IRDT 2014


شما میتونید نشان دستورات خودتون رو با توجه به توضیحاتی که در بخش محیط ها  گفتم تغییر بدید.

۲ نظر موافقین ۲ مخالفین ۰ ۰۳ تیر ۹۳ ، ۲۱:۳۱
مرتضی


مقدمه

اگر دارای user/pass از سایت shodan هستید، می توانید بدون وارد شدن به سایت و با استفاده از curl اطلاعات مورد نیاز خود را بیرون بکشید:

یک اسکریپت با محوریت curl بنویسید که بعد از login مقدار cookie را ذخیره نموده و در هنگام دادن query، ار آن استفاده نماید.

برای نوشتن اسکریپت لازم است که بدانید سایت توسط کدام method احراز هویت می شود:

  • متد get یا post
  • با token یا بدون token

برای این کار plugin با عنوان tamperdata را در firefox نصب کنید و هنگام زدن پسورد از تراکنش log بگیرید. با اینکار خواهید دید که نوع احراز هویت این سایت از نوع Post خواهد بود و با توجه به متغیر ارسالی _authentication_token می فهمید که شما باید در بازدید اول از سایت مقدار token را ذخیره نمایید تا به همراه user/pass به سرور post نمایید. برای نمونه log زیر را ببینید.

POSTDATA=_authentication_token=165562185269441014632573075270189964596&username=javad&password=123456&\
next=http%3A%2F%2Fwww.shodanhq.com%2F&login_submit=Login


بعد از مشخص سازی مدل داده مورد نیاز برای post، می بایست یک بار از سایت بازدید نمایید تا مقدار token را بگیرید و در این حالت باید cookie خود را ذخیره کنید تا در بازدید دوم با همین cookie اقدام به login نمایید.

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

۲ نظر موافقین ۰ مخالفین ۰ ۱۸ خرداد ۹۳ ، ۰۸:۵۲
مرتضی

یونیکس چیست؟

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

این ارتباطات بین کاربر و سیستم عامل از طریق واسطی به نام shell صورت میگیرد که به صورت command line می باشد. این فرمان ها از طریق شل برای کرنل ترجمه میشوند.


* یونیکس در اصل در سال ۱۹۶۹ توسط کارمندان گروه AT&T مانند Ken Thompson, Dennis Ritchie, Douglas McIlroy,  و Joe Ossanna در آزمایشگاه Bell نوشته شد.


* نسخه های فراوانی از یونیکس شامل Solaris Unix و AIX و HP Unix و BSD و دیگر نسخ ها هم اکنون در بازار موجود می باشند و به صورت رایگان میتواند در دسترس عموم قرار گیرد.


* چندین کابر به طور همزمان میتوانند از یونیکس استفاده کنند که این قابلیت را به اصطلاح سیستم multiuser میگویند.


* هر کاربر نیز میتواند به تنهایی چندین برنامه را تحت یونیکس اجرا کند که به این قابلیت multitasking گفته میشود.


ساختار یونیکس

این نمایی ابتدایی از سیستم یونیکس می باشد:


۰ نظر موافقین ۲ مخالفین ۰ ۱۱ خرداد ۹۳ ، ۲۱:۳۴
مرتضی