D E D S E C



در قسمت‌های قبل با ربات تلگرام آشنا شدیم و یاد گرفتیم که چگونه به درخواست‌های کاربران پاسخ مناسب بدهیم. در این قسمت یعنی قسمت چهارم برنامه نویسی با php برای ربات تلگرام با ارسال عکس، صوت، فیلم، مستندات، استیکر، موقعیت مکانی، کارت دعوت، اطلاعات تماس و وضعیت فعالیت بات آشنا می‌شویم.

ارسال تصاویر برای بات تلگرام با متد sendPhoto:

برای ارسال عکس با ربات تلگرام از متد sendPhoto استفاده می‌کنیم. متد sendPhoto تصویر را با استفاده از POST برای کاربر ارسال می‌کند. در مثال زیر با CURL کار ارسال را انجام می‌دهیم:

$url= "https://api.telegram.org/bot".$token."/sendPhoto?chat_id=".$chat_id;
$post = array(
    'photo'     => new CURLFile(realpath("dedsec.jpg"))
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_exec($ch);

دستورات بالا عکس موجود در ریشه جاری با نام dedsec.jpg را به کاربر ارسال می‌کند.

می توان زیر تصاویر متنی برای توضیح ارسال کرد. برای ارسال این مقدار از پارامتر caption به شکل زیر استفاده می‌کنیم:

$url= "https://api.telegram.org/bot".$token."/sendPhoto?chat_id=".$chat_id."&caption=متن کپشن";

ارسال تصاویر برای بات تلگرام با متد sendAudio:

ارسال صوت در تلگرام شبیه ارسال تصویر است. در زیر مثالی از استفاده از این متد مشاهده می‌کنید:

$url= "https://api.telegram.org/bot".$token."/sendAudio?chat_id=".$chat_id;
$post = array(
    'audio'     => new CURLFile(realpath("dedsec.mp3"))
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_exec($ch);

در بالا مانند sendPhoto فایل صوتی خود را با curl و متد پست ارسال می‌کنیم.

متد sendAudio پارامتر‌های اختیاری زیر را دارد:

  • caption: متن توضیح زیر فایل صوتی را تعیین می‌کند.
  • duration: طول مدت Track صوتی را به ثانیه دریافت می‌کند.
  • performer: نام اجرا کننده Track صوتی (مثلا نام خواننده)
  • title: نام Track صوتی

نکته: محدودیت حجمی ارسال فایل‌های صوتی با بات تلگرام 50 مگابایت است.

ارسال فیلم برای بات تلگرام با متد sendVideo:

بهترین حالت ارسال فیلم برای بات تلگرام ارسال فیلم با فرمت mp4 است. هر چند که فرمت‌های دیگر نیز ممکن است ارسال شوند. اگر از فرمت خاصی استفاده کنید که تلگرام امکان ارسال آن به عنوان video را نداشته باشد خود تلگرام آن را به عنوان document ارسال می‌کند:

$url= "https://api.telegram.org/bot".$token."/sendVideo?chat_id=".$chat_id;
$post = array(
        'video'     => new CURLFile(realpath("dedsec.mp4"))
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_exec($ch);

ارسال مستندات برای بات تلگرام با متد sendDocument:

مثالی از ارسال مستندات با بات تلگرام را در زیر می‌بینید:

$url= "https://api.telegram.org/bot".$token."/sendDocument?chat_id=".$chat_id;

برای متد sendDocument نیز می‌توان caption ارسال کرد.

نکته: محدودیت حجمی ارسال مستندات با بات تلگرام 50 مگابایت است.

ارسال استیکر برای بات تلگرام با متد sendSticker:

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

اگر تصویری با فرمت‌های رایج دارید و می‌خواهید به webp تبدیل کنید از این سایت استفاده کنید.

$url= "https://api.telegram.org/bot".$token."/sendSticker?chat_id=".$chat_id;
$post = array(
        'sticker'     => new CURLFile(realpath("dedsec.webp"))
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_exec($ch);

ارسال موقعیت برای بات تلگرام با متد sendLocation:

در این متد با داشتن طول و عرض موقعیت جغرافیایی یک عکس و لینک از آدرس محل مورد نظر برای کاربر ارسال می‌شود:

$url= "https://api.telegram.org/bot".$token."/sendLocation?chat_id=".$chat_id."&latitude=37.7576793&longitude=-122.5076402";
file_get_contents($url);

ارسال کارت دعوت برای بات تلگرام با متد sendVenue:

این متد بسیار شبیه sendLocation است با این تفاوت که عنوان و آدرس نیز می‌توان به آن اضافه کرد:

$url= "https://api.telegram.org/bot".$token."/sendVenue?chat_id=".$chat_id."&latitude=37.7576793&longitude=-122.5076402&title=عنوان&address=آدرس";
file_get_contents($url);

ارسال مشخصات تماس برای بات تلگرام با متد sendContact:

متد فوق بسیار ساده است، شماره، نام و نام خانوادگی مشترک را دریافت و مشخصات تماس را برای کاربر ارسال می‌کند:

$url= "https://api.telegram.org/bot".$token."/sendContact?chat_id=".$chat_id."&phone_number=09122222222&first_name=dedsec-hack.blog&last_name=.ir";
file_get_contents($url);

ارسال وضعیت عملکرد بات برای بات تلگرام با متد sendChatAction:

متد فوق کارکرد جالبی دارد، فرض کنید قرار است با بات برای کاربر ویدیو حجیمی بفرستید مدت زمانی که کاربر صبر می‌کند تا ویدیو به دستش برسد جالب است که متن sending a video"" برای کاربر نمایش داده شود و پس از آن کلیپ ویدیو به نمایش درآید:

$url= "https://api.telegram.org/bot".$token."/sendChatAction?chat_id=".$chat_id."&action=upload_video";
file_get_contents($url);

$url= "https://api.telegram.org/bot".$token."/sendVideo?chat_id=".$chat_id;
$post = array(
'video'     => new CURLFile(realpath("dedsec.mp4"))
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_exec($ch);

dedsec will give you the truth

join us


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

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

برای شروع در botFather کامند poems را اضافه می‌کنیم:

اضافه کردن کامند به بات تلگرام

برای ارسال کیبورد به کاربر از متد sendMessage استفاده می‌کنیم و پارامتر text و reply_markup را برای آن ارسال می‌کنیم. پارامتر text پیام مناسب کیبورد را برای کاربر ارسال می‌کند؛ و Replay_markup آرایه‌ای است که مقادیر کیبورد را ارسال می‌کند.

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

<?php
header('Content-Type: text/html; charset=utf-8');
$message= file_get_contents("php://input");
$arrayMessage= json_decode($message, true);

$token= "249879980:AAHNdWnXjdq6Fw17NF81xXTtjA3xs19Sc6w";
$chat_id= $arrayMessage['message']['from']['id'];
$command= $arrayMessage['message']['text'];

if($command == '/start'){
    $text= "سلام، به ربات ما خوش آمدید";
    $url= "https://api.telegram.org/bot".$token."/sendMessage?chat_id=".$chat_id."&text=".$text;
    file_get_contents($url);    
}else if($command == '/aboutus'){
    $text= "این یک متن درباره ماست";
    $url= "https://api.telegram.org/bot".$token."/sendMessage?chat_id=".$chat_id."&text=".$text;
    file_get_contents($url);
}else if($command == '/poems'){
    $poets= array(
        'keyboard' => array(
                array('/Ferdowsi', '/Mawlawi', '/Hafez', '/Rudaki')
            ),
        );
    $jsonPoets= json_encode($poets);
    $text= "نام یکی از شعرای بزرگ ایرانی را انتخاب کنید";
    $url= "https://api.telegram.org/bot".$token."/sendMessage?chat_id=".$chat_id."&text=".$text."&reply_markup=".$jsonPoets;
    file_get_contents($url);
}else{
    $text= "دستور نا معتبر است";
    $url= "https://api.telegram.org/bot".$token."/sendMessage?chat_id=".$chat_id."&text=".$text;
    file_get_contents($url);
}

اگر این فایل را به هاست خود منتقل کنید مشاهده خواهید کرد که کاربر به محض کلیک روی poems یک کیبورد چهار کلیده با نام‌های سه شاعر ایرانی مشاهده می‌کند.

در این مرحله ما چهار کامند جدید /Rudaki و /Hafez و /Mawlawi و /Ferdowsi داریم که هر کدام یک بیت شعر را به کاربر نمایش می‌دهد.

اگر سورس بالا را چک کنید متوجه می‌شوید بعد از کلیک بر روی نام شاعر و نمایش بیت شعر مرتبط کیبورد باز ظاهر می‌ماند. برای مخفی کردن کیبورد پس از نمایش بیت شعر باید یک آرایه hide_keyboard => true  ایجاد می‌کنیم و آن را ضمیمه url نمایش بیت شعر می‌کنیم:

}else if($command == "/Ferdowsi"){
    $text= "خردمند باش وبی آزارباش     همیشه زبانرا نگهدار باش";
    $hide_keyboard= json_encode(array('hide_keyboard' => true));
    $url= "https://api.telegram.org/bot".$token."/sendMessage?chat_id=".$chat_id."&text=".$text."&reply_markup=".$hide_keyboard;
    file_get_contents($url);
}

در سطر 9 متغیر hide_keyboard آرایه‌ای دارد که با ارسال آن کیبورد بسته می‌شود.

dedsec will give you the truth

join us


ربات تلگرام ابزاری است اهداف تجاری، خدماتی، امنیتی، تفریحی و آموزشی. در این سلسله آموزش علاوه بر آشنایی با ربات تلگرام یاد می‌گیریم چگونه با زبان قدرتمند php یک ربات هوشمند تلگرام راه اندازی کنیم.

تفاوتی ندارد از چه زبان برنامه نویسی‌ای استفاده می‌کنید، اگر این آموزش را تا آخر دنبال کنید می‌توانید با هر زبان برنامه نویسی یک ربات هوشمند برای تلگرام خود بسازید.

تلگرام برای کمک به برنامه نویسان یک API جامع و کاربردی آماده کرده است که به برنامه نویسان امکان توسعه نرم افزارهای مفید برای تلگرام را می‌دهد.

ربات‌ها در ظاهر مانند تماس‌های ساده در تلگرام لیست می‌شوند ولی در باطن تفاوت‌های اساسی با تماس‌های متداول تلگرامی دارند. طبیعتا ربات‌های تلگرام بر عکس تماس‌های تلگرام آخرین زمان آنلاین شدن را نشان نمی‌دهند و در نهایت اسم خود واژه bot را شامل می‌شوند.

همیشه مد نظر داشته باشید که ربات‌ها تنها با کسانی ارتباط برقرار می‌کنند که به آن‌ها اجازه فعالیت داده باشند.

معرفی چند ربات تلگرام

قرآن: این ربات قرآنی بسیار جالب و قدرتمند است. این ربات امکان دریافت یک آیه به صورت تصادفی به همراه ترجمه و صوت را دارد. همچنین می‌توانید آیه‌ای را برای آن مشخص کنید و ترجمه و صوت آن را دریافت کنید.

نهج البلاغه: ربات مذهبی نهج البلاغه

ربات توکان: ربات دریافت نرخ ارز، اطلاعات ورزشی، اوقات شرعی، جستجو در وب و.

ربات عماد خان: ربات سرگرمی با قابلیت‌های فراوان

واژه یاب: ربات ترجمه لغات انگلیسی به فارسی، جستجوی واژه نامه‌های فارسی به فارسی

اینستاگیر: ربات دانلود تصاویر اینستاگرام

اطلاعات 1 در تلگرام: ربات اطلاعات 1 به تفکیک شهرها

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

Bot Fahter (بابا بات)

بابا بات، botfather

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

BotFather یک ربات رسمی است. همیشه در هنگام استفاده از ربات‌های رسمی تلگرام توجه کنید که یک آی آبی رنگ هشت گوش در کنار نام آن وجود داشته باشد.

اگر بر روی کلید start کلیک کنید می‌توانید لیست کامندهای لازم برای مدیریت ربات را مشاهده کنید. اولین کامند، /newbot است که با استفاده از آن می‌توان ربات تلگرام جدید را ایجاد کرد.

ابتدا روی /newbot کلیک کرده، سپس نام ربات خود را وارد کرده، در مرحله بعدی یک یوزرنیم که به واژه bot ختم می‌شود را وارد می‌کنیم. اگر نام کاربری تکراری نباشد این نام پذیرفته شده و مراحل با موفقیت به پایان می‌یابد. البته توجه کنید در پیام تبریک موفقیت ثبت بات غیر از آدرس دسترسی به ربات یک token برای دسترسی به ربات نیز به کاربر نمایش داده می‌شود که باید آن را برای برنامه نویسی‌های بعدی ذخیره کرد.

آشنایی با کامندهای مطرح BotFather

/token: با استفاده از این دستور token ربات شما نمایش داده می‌شود.

/revoke: با این دستور token قبلی شما از بین رفته و یک token جدید برایتان ساخته می‌شود.

/setname: این دستور را وقتی وارد کنید لیستی از ربات‌های ایجاد شده توسط خودتان را می‌بینید که روی هر کدام کلیک کنید می‌توانید نام ربات خود را تغییر دهید.

/setdescription: با این دستور می‌توانید توضیحاتی به ربات خود اضافه کنید که هنگام اضافه کردن ربات به کاربر نمایش داده می‌شود. این توضیحات می‌توانند حداکثر 512 کاراکتر باشند.

/setabouttext: این دستور توضیحات ربات را در صفحه پروفایل دریافت می‌کند. این توضیحات نباید بیشتر از 120 کاراکتر باشند.

/setuserpic: برای اضافه کردن عکس به ربات مورد استفاده قرار می‌گیرد.

/setcommands: برای تعریف کامندهای مخصوص ربات از این دستور استفاده می‌کنیم. طبق توضیحات داده شده در خود تلگرام باید کامند را به شکل زیر تعیین کنیم:

command – description

مثال:

aboutus – آشنایی با ما

برای مشاهده تغییرات در بات تلگرام خود Clear history کنید.

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

dedsec will give you the truth

join us


در این قسمت یعنی قسمت آخر مجموعه پست‌های آشنایی با زبان برنامه نویسی Go، با کتابخانه‌ها و ابزارهای مهم زبان گو آشنا می‌شویم، و در ادامه به روش یادگیری این زبان می‌پردازیم. با هیتوس همراه باشید.

کتابخانه استاندارد Go یکی از جامع ترین کتابخانه‌های موجود در بین تمام زبان‌های برنامه نویسی است. از طرفی چون Go یک زبان نو ظهور است، طراحی کتابخانه در حالت بسیار تمیز و یکپارچه‌ای قرار دارد.

Package‌هایی برای آرشیو و فشرده سازی: tar, zip, bzip2, flate, gzip, lzw, zlib

Package‌هایی برای رمزنگاری و عملیات هش: aes, cipher, des, dsa, rc4, rsa, md5, sha1, sha256, sha512, tls, x509

Package‌هایی برای کار با فایل‌های مختلف: base32 ,base64, binary, csv, gob, hex, pem, json, xml

Package‌هایی برای کار با گرافیک دو بعدی:  color, draw, gif, jpeg, png

Package‌هایی برای کار با مباحث شبکه: html, cgi, fcgi, mail, url, jsonrpc

ذات سیستمی زبان Go در اینجا مشخص می‌شود. تمام Package‌های بالا در Go نوشته شده اند. برای داشتن خیلی از این Package‌ها در زبان‌های دیگر، باید متوسل به کتابخانه‌های نوشته شده در زبان C می‌شدیم.

خوبی Go در این است که برای اعمال سطح پایین دیگر نیازی به C نیست. Go در واقع همان C مدرن است، از طرف همان کسانی که روزی C و Unix را به شما معرفی کرده بودند!

همه Package‌های بالا را همراه کنید با Package‌هایی برای عملیات ریاضی، زمان، و تاریخ، محیط سیستم عامل، پایگاه داده، ورودی و خروجی، رشته ها، پردازش و Parse کردن متن و .

در ضمن کتابخانه استاندارد با یک HTTP Server داخلی همراه است که به راحتی می‌توان آن را با Nginx یا Node.js مقایسه کرد. در واقع، اکثر سایت‌هایی که در ابتدای این نوشته به آن‌ها اشاره شد هم از همین Server داخلی برای خدمات رسانی به کاربرانشان استفاده می‌کنند.

همچنین در کتابخانه استاندارد Go یک سیستم Template Engine ارایه شده تا برنامه نویسی وب را برای شما آسان تر کند. با این حساب، احتمالا متوجه شده اید که برنامه نویسی وب در Go، نیاز چندانی به فریم‌ورک‌های مرسوم در زبان‌های دیگر نخواهید داشت. کتابخانه استاندارد Go همه چیز را از قبل برایتان مهیا کرده است.

از نظر مستندات، Go در جایگاه بسیار خوبی قرار دارد و برای تمام Package‌ها و تک تک توابع و پارامترهای شان به طور کامل مستندات وجود دارد.

اگر زبان انگلیسی شما در حد مطلوبی قرار دارد (که به عنوان یک برنامه نویس باید هم این چنین باشد) در زمینه یادگیری Go با هیچ مشکلی مواجه نخواهید شد و نیاز به هیچ کتاب و منبع خاصی نخواهید داشت؛ چرا کهمستندات موجود در سایت زبان به اندازه کافی کامل و مناسب است.

با این که زمان زیادی از انتشار نسخه پایدار نمی‌گذرد، اما Go ابزارهای جانبی نستباٌ کاملی در اختیار دارد:

ابزار Go که کار کامپایل و نصب Package را آسان کرده است. این ابزار حتی قابلیت این را دارد که Package‌ها را به صورت اتوماتیک از سایت‌هایی مثل Github دریافت و نصب نماید!

ابزار Godoc قادر است سایت golang.org را به صورت محلی در کامپیوتر شما اجرا کند. سایت اصلی golang.org هم به کمک همین ابزار در حال اجراست. همچنین godoc می‌تواند مستندات مربوط به Package‌ها و توابع آن‌ها را مستقیما در ترمینال نمایش دهد.

ابزار Gofmt استایل کد نویسی شما را مدیریت می‌کند. برای مثال هرکدام ازا عضای تیم می‌توانند استایل خودنویسی خودشان را داشته باشند، اما در نهایت از Gofmt برای یپارچه کردن استایل کدهای پروژه استفاده کنند.

ابزار Gocode هم برای کمک به ادیتورها و IDE‌ها طراحی شده. این ابزار بررسی کدهای شما اطلاعات موجود در آن‌ها را استخراج کرده و در اختیار ادیتورها و IDE‌های می‌گذارد. آن‌ها هم می‌توانند از این اطلاعات برای پیاده سازی قابلیت Auto completion استفاده نمایند.

مهم ترین ابزار کار هر برنامه نویس ویرایشگر متن است. خوشبختانه Go از پشتیبانی خوبی در این زمینه برخوردار است. در رابطه با ویرایشگرهای ساده و سبک، Go از Kate و Notepad++ و BBEdit و Gedit و . به صورت رسمی پشتیبانی می‌کند.

برای کسانی که با ویرایشگرهای حرفه‌ای کدنویسی می‌کنند، Go پشتیبانی رسمی و کاملی را برای ویرایشگرهای بی رقیب Vim و Emacs ارائه کرده است. در واقع از آنجایی که تیم سازندگان Go و اکثر جامعه کابران آن نیز با همین ابزارها کدنویسی می‌کنند، پشتیبانی از این دو از اولویت بسیار بالایی برخوردار است.

در Go همانند دیگر زبان‌های کامپایلری نیاز خاصی به وجود IDE حس نخواهید کرد؛ اما برای کسانی که کار با IDE‌ها را ترجیح می‌دهند، Go از پشتیبانی مناسبی برای IDE‌های Eclipse و Intellig برخوردار است.

از کجا کار با Go را شروع کنیم؟

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

dedsec will give you the truth

join us


آموزش پارتیشن بندی ویندوز

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

بطور کلی در ویندوز ۲ نوع هارد درایو شناخته می شود:

  1. Basic : که از ویندوز ۸.۱ به بعد خاصیت RAID (قابلیتی است که یک پارتیشن روی هارد دیسک باشد و هر اطلاعات از پارتیشن اول بر روی پارتیشن نظیر در هارد دیسک دوم نوشته شود) به هارددیسک Basic اضافه شد.
  2. Dynamic : در این حالت می‌توانیم از خاصیت RAID استفاده کنیم.

انواع پارتیشن هایی که میتوان ایجاد کرد دو نوع می‌باشد:

  1. Primary که قابلیت بوتیبل (Bootable) کردن دارد.
  2. Extended که قابل تقسیم به logical درایو را دارد.

پارتیشن بندی در ویندوز

برای پارتیشن بندی در ویندوز در صفحه‌ی انتخاب هارد هنگام نصب کلید ترکیبی shift+f10 را بزنید.

بدین ترتیب صفحه‌ی command prompt باز می شود.

دستور زیر را وارد کنید. از آنجایی که این دستور نیاز به دسترسی ادمین دارد پس وارد کردن دستور شما باید اجازه دسترسی برای تغییرات در هارددیسک را به نرم‌افزار دهید

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

تنها راه شناخت هارد دیسک ها فضای ذخیره سازی آنها می‌باشد. اگر تمامی هارد دیسک های شما فضای ذخیره سازی یکسان داشته باشند با توجه به اسلات های هارد دیسک در مادربرد در لیست نشان داده می شوند.

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

** توجه داشته باشید که در صورت انتخاب هارد، در صورت تغییرات پارتیشن تمامی اطلاعات آن پاک می‌شود. پس قبل از این کار اطلاعات خود را از روی هارد پشتیبان تهیه کنید.

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

با توجه به نیاز خود پارتیشن های لازم را ایجاد می‌کنیم. برای ساخت پارتیشن bootable از دستور زیر استفاده کنید.

بجای علامت سوال سایز مورد نیاز خود را بر اساس مگابایت Mb وارد کنید. اگر میخواهید فضای پارتیشن خود عددی رند باشد میزان گیگابایت آنرا به عدد ۱۰۲۴ ضرب کنید. برای مثال ۶۰*۱۰۲۴= ۶۱۴۴۰ عدد بدست آمده را بجای علامت سوال وارد کنید. (بدون فاصله)

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

برای مثال می خواهید ویندوز ۱۰ نسخه پرو نصب کنید. ۶۰ گیگ برای سیستم عامل نیاز دارید این مقدار برای نصب لازم می‌باشد اما کافی نیست زیرا سیستم عامل بعد از مدتی فایل هایی به پارتیشن اضافه می کند از طرفی در صورت نصب برنامه های مختلف (حتی در پارتیشن های دیگر) فایل سیستمی آن برنامه در این پارتیشن ذخیره می شود پس مقداری فضای ذخیره سازی نیز برای این منظور لحاظ کنید. بطور میانگین با استفاده معمولی از سیستم عامل ۸۰ گیگ مناسب این پارتیشن می باشد. با این حال اگر کاربر حرفه ای هستید میتوانید این فضا را بیشتر هم در نظر بگیرید.

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

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

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

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

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

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

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

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

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

بعد از هربار تقسیم بندی یک حرف به آن اختصاص دهید.

دستورفرمت برای هارد لازم می باشد.

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

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

dedsec will give you the truth
join us


Python را اغلب با دیگر زبان‌های تفسیر شده مانند جاوا، جاوا اسکریپت، پرل، Tcl یا SmalTalk مقایسه می‌کنند. البته مقایسه با C++ و Common Lisp و یا Schame نیز می‌تواند کارآمد باشد. در این مطلب قصد داریم Python را با زبان‌های نامبرده مقایسه کنیم.

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

مقایسه Python با جاوا

زبان برنامه نویسی جاوا

برنامه‌های Python عموماً نسبت به برنامه‌های جاوا کندتر اجرا می‌شوند، ولی اغلب برای توسعه‌ زمان کمتری نیاز دارند. برنامه‌های Python، معمولاً سه تا پنج برابر کوتاه‌تر از برنامه‌های معادل‌شان در برنامه‌های جاوا هستند. این تفاوت می‌تواند بخاطر انواع داده‌ای سطح بالای تعبیه شده‌ی داخلی یا typing داینامیکِ Python باشد.
برای مثال، یک برنامه‌نویسِ Python برای اعلان انواع آرگومان‌ها یا متغیر‌ها وقت تلف نمی‌کند و لیست چند ریختی قدرتمندِ Python و انواعِ dictionary، جهت پشتیبانی دستوری قدرتمند، مستقیماً در زبان تعبیه شده‌اند و همیشه در برنامه‌هایِ Python استفاده می‌شوند.

بخاطرِ typing زمان اجرا، run time مربوط به python نسبت به جاوا باید سخت‌تر کار کند. برای مثال زمان ارزیابی عبارتِ a+b، ابتدا run time باید شیء‌هایِ a و b را بررسی کند تا نوع‌شان را پیدا کند، این عملیات در زمان کامپایل انجام نمی‌شوند. سپس عملیات متناسب با جمع، فراخوانی می‌شود که ممکن است یک متد overload شده توسط کاربر باشد. از طرف دیگر، جاوا، می‌تواند یک integer کارآمد یا یک نقطه اعشار اضافه را اجرا کند ولی نیاز به اعلان متغیرهایِ a و b دارد و اجازه overload کردن عملگرِ + را برای کلاس‌های تعریف شده توسط کاربر،  نمی‌دهد.

به دلایل مذکور، Python بعنوان یک زبانِ "glue" بهتر عمل می‌کند درحالی که جاوا بیش‌تر بعنوان یک زبان پیاده‌سازی سطح پایین شناخته می‌شود. در واقع، ترکیب این دو زبان با هم فوق‌العاده است. کامپوننت‌ها می‌توانند در جاوا توسعه یافته و طراحی شوند و در Python با فرم‌های برنامه ترکیب شوند؛ همچنین تا زمانی‌که طراحی کامپوننت‌ها با پیاده‌سازیِ جاوا herdened” شود، می‌توان از Python بعنوان نمونه‌ی اولیه استفاده کرد. برای پشتیبانی از چنین روشِ توسعه‌ای، یک پیاده‌سازی از Python که در حال نوشته شدن با جاوا است، در حال توسعه است و از طریق جاوا و vice versa امکان فراخوانی کدِ Pyhton را فراهم می‌آورد. در این پیاده‌سازی، سورس‌کدِ Python به بایت‌کدِ جاوا ترجمه می‌شود (به کمک کتابخانه‌ی run-time برای پشتیبانی از سمانتیکِ داینامیکِ Python).

مقایسه Python با جاوا اسکریپت

زیرمجموعه‌ی "مبتنی بر شیءِ" Python، تقریباً معادل با جاوا اسکریپت است. Python هم مثل جاوا اسکریپت (نه جاوا)، از استایلی از برنامه نویسی پشتیبانی می‌کند که از توابع و متغیرهای ساده استفاده می‌کند، بدون این‌که درگیر تعریفِ کلاس‌ها شود. به هرحال، این تمام چیزی است که در مورد جاوا اسکریپت وجود دارد. از طرف دیگر، Python از کدنویسی برنامه‌های خیلی بزرگ پشتیبانی می‌کند و از طریق استایل برنامه‌نویسیِ شیء‌گرا، که کلاس‌ها و وراثت نقش مهمی در آن بازی می‌کنند، بخوبی قابلیتِ استفاده‌ی مجدد از کد را فراهم می‌کند.

مقایسه Python و پِرل (Perl)

زبان برنامه نویسی Perl

Python و پِرل، پیش‌زمینه‌ی مشابهی دارند (اسکریپت‌نویسیِ یونیکس، که هر دو رشد خوبی در این زمینه داشته‌اند)، و از بسیاری از قابلیت‌های مشابه پشتیبانی می‌کنند ولی فلسفه‌ی آن‌ها با هم فرق می‌کند. پرل، بر پشتیبانی از اعمال مبتنی بر شیءِ پرکاربرد تأکید دارد، مثلِ داشتن عبارت‌های منظمِ تعبیه شده، پویش فایل و قابلیت‌های تولید گزارش. Python بر پشتیبانی از روش‌های برنامه‌نویسی پرکاربرد تأکید دارد، مثلِ طراحی ساختار داده و برنامه‌نویسی شیء‌گرا، و با ارائه‌ی یک نشانه‌گذاری زیبا و نه بیش‌از حد مرموز، برنامه‌نویس‌ها را به نوشتن کد‌های خوانا (و البته با قابلیت نگهداری) تشویق می‌کند. در نتیجه، Python مشابه پرل است ولی کمتر در دامنه‌ی برنامه‌ی اصلی استفاده می‌شود؛ به هر حال Python نسبت به پرل، کاربرد بیش‌تری دارد.

مقایسه Python و Tcl

Tcl هم مثلِ Python بعنوان یک زبان توسعه‌ی برنامه، بخوبی یک زبان برنامه‌نویسی مستقل کاربرد دارد. به هر حال، Tcl، که بطور معمول تمام داده‌ها را بعنوان رشته ذخیره می‌کند، از نظر ساختارهای داده‌ای ضعیف است و کدهای معمولی را کندتر از Python اجرا می‌کند. Tcl، قابلیت‌های مورد نیاز برای نوشتن برنامه‌های بزرگ مثل namespaceهای ماژولار را ندارد. بنابراین، معمولاً وقتی یک برنامه‌ی بزرگِ از Tcl استفاده می‌کند، extentionهایی دارد که با C یا C++ نوشته شده‌اند و مخصوص آن برنامه هستند.

اغلب یک برنامه‌ی معادلِ نوشته شده با Python، می‌تواند بصورتِ "pure Python" هم نوشته شود. البته، توسعه‌ی pure Python سریع‌تر از نوشتن و اشکال‌زداییِ یک کامپوننتِ C یا C++ است. گفته می‌شود که جبران کیفیت، معادل با ابزارِ TK است. Python، بعنوانِ کتابخانه‌ی کامپوننت رابط کاربری گرافیکی استاندارد، یک رابط (interface) به TK دارد.

Tcl 8.0 با ارائه‌ی کامپایلرِ بایت‌کد که در پشتیبانی از نوع داده‌ها و اضافه کردن namespaceها محدودیت دارد، مسائلِ پرسرعت را آدرس‌دهی می‌کند. به هر حال، این زبان، هنوز هم یک زبان برنامه‌نویسی دست و پا گیر است.

مقایسه Python با small talk

شاید بزرگ‌ترین تفاوت میان python و smalltalk، این باشد که دستوراتِ Python، بیش‌تر "mailstream" هستد و این امر باعث می‌شود که در زمینه‌ی آموزش برنامه‌نویسی یک سطح بالاتر باشد. Python هم مثلِ Smalltalk دارای typing و اتصال (binding) داینامیک و شی گرایی است. به هر حال، Python انواع شیء‌های تعبیه شده‌ی داخلی را از کلاس‌های تعریف شده توسط کاربر متمایز کرده و در حال حاضر اجازه‌ی ارث بری از انواع تعبیه شده‌ی داخلی را نمی‌دهد. کتابخانه‌ی استانداردِ کالکشنِ انواع داده‌ایِ Smalltalk بیش‌تر اصلاح شده، در حالی‌که کتابخانه‌ی Python برای تعامل با اینترنت و حقایقِ WWW مثل ایمیل، HTML و FTP امکانات بیش‌تری دارد.

Python در مورد محیط توسعه و توزیع کد، فلسفه‌ی متفاوتی دارد. در حالی‌که Smalltalk، تصویرِ یکپارچه‌ای از سیستم دارد که شامل هر دو محیط کاربری و برنامه‌ی کاربر می‌شود، Python هر دو ماژول‌های استاندارد و ماژول‌های کاربر را در فایل‌های منحصر به فردی که در خارج از سیستم به سادگی قابل مرتب شدن و توزیع شدن هستند، ذخیره می‌کند. نتیجه این‌که برای متصل کردن یک رابط گرافیکی (GUI) به برنامه‌ی Python، بیش‌تر از یک آپشن مورد نیاز است، در حالی‌که GUI داخل سیستم تعبیه نشده است.

مقایسه Python و C++

زبان برنامه نویسی C++

تقریباً هر چیزی که در مورد جاوا وجود دارد، در C++ هم قابل اعمال است. درحالی‌که کدِ Python، سه تا پنج برابر کوتاه‌تر از کد جاوای معادل آن است، اغلب پنج تا ده برابر کوتاه‌تر از کد معادل آن در C++ است! شواهد نشان می‌دهند که یک برنامه‌نویسِ Python می‌تواند کاری را در دو ماه تمام کند در حالی‌که دو برنامه‌نویس جاوا نمی‌توانند در یک سال هم همان کار را تمام کنند. Python در جایگاه یک زبانِ "glue" می‌درخشد و برای ترکیب کامپوننت‌های نوشته شده در C++ استفاده می‌شود. 

مقایسه Python و Common Lisp و Scheme

این زبان‌ها از لحاظِ معنا‌گراییِ داینامیک، شبیه به Python هستند، ولی از لحاظ رویکردشان نسبت به دستورات، متفاوت هستند که باعث می‌شود که مقایسه تقریبا تبدیل به یک آرگومانِ تعصبی شود: حذفِ دستورات از Lips یک مزیت است یا یک عیب؟ باید توجه داشت که قابلیت‌های درونیِ Python شبیه به Lips هستند و برنامه‌های Python می‌توانند قطعه برنامه‌ها را بسرعت ساخته و اجرا کنند. معمولاً خواص دنیای واقعی تعیین شده هستند: Common Lips بزرگ (مزیت خیلی خوبی است) است و دنیایِ Scheme بین تعداد زیادی از ورژن‌های ناسازگار تقسیم شده، در حالی‌که Python یک پیاده‌سازیِ واحد، مجانی و فشرده دارد.

dedsec will give you the truth

join us


تشخیص حملات و مانیتورینگ ویندوز

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

معرفی ابزار Attack Monitor

همانطور که گفته شد با استفاده از این ابزار میتوانید انواع حملات را مانیتورینگ کنید. این ابزا ربه زبان پایتون نسخه 3 نوشته شده است و از نسخه های ویندوز 7 ، 8 ، 10 و ویندوز سرور های 2008 ، 2012 ، 2016 ، 2019 پشتیبانی می کند و به طور کلی می توانید با این ابزار از حملات سایبری در سیستم خود جلوگیری نمایید.



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

در ابتدا کار پایتون نسخه 3 را در ویندوز خود دانلود ونصب نمایید.

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

  هکر ها خانه های هوشمند را جاسوسی میکنند

وارد CMD ویندوز شوید و دستورات زیر را به ترتیب برای نصب پیشنیاز های ابزار وارد نمایید :

(دقت داشته باشید از طریق CMD وارد مسیر پوشه ابزار شده باشید.) تشخیص حملات

pip3 install -U -r requirements.txt

python installer.py sysmon

python installer.py psaudit

python installer.py auditpol

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

python installer.py install

python installer.py exceptions

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

نحوه کار ابزار Attack Monitor
نحوه کار ابزار Attack Monitor

لینک دانلود


dedsec will give you the truth
join us

آموزش نصب اوبونتو در ویندوز 10

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

استفاده از سیستم عامل دلخواه در ماشین های مجازی

برنامه هایی مانند VMware ، hyper-v و … وجود دارند که با استفاده از ان ها می توانید در یک محیط مجازی ، سیستم عامل مورد نظر خود را نصب کنید وبرای مثال اگر سیستم عامل شما ویندوز است باید برنامه ماشین مجازی مورد نظر خود را نصب کنید و سپس درون ان سیستم عامل مورد نظر را نصب نمایید؛ که با این کار همزمان می توانید چندین سیستم عامل در سیستم داشته باشید. اما این کار می تواند مزیت ها و معایبی داشته باشد که ممکن است برای ما محدودیت ایجاد کند.

معایب :

  • نیاز به فضایه ذخیره سازی بالا برای نگه داری اطلاعات سیستم عامل ها
  • استفاده همزمان از منابع سخت افزاری و مشکل کندی سیستم
  • نیاز به منابع کافی برای استفاده
  • دارای برخی محدودیت ها

روش دوم برای نصب اوبونتو

این روش بهترین راه برای نصب و استفاده از اوبونتو در ویندوزاست که این امکان فقط در ویندوز 10 وجود دارد ، در واقع ما یک نسخه بسیار کم حجم از اوبونتو را از Microsoft Store دریافت و نصب می کنیم و مزیت های بسیار زیادی نسبت به روش مجازی سازی دارد که به ان ها میپردازیم.

مزیت ها :

  • نیاز نداشتن به مجازی سازی
  • استفاده از فضای ذخیره سازی بسیار کم
  • اجرا و دسترسی سریع
  • استفاده از منابع سخت افزاری بسیار کم

نحوه نصب اوبونتو در ویندوز 10

در ابتدا ویندوز خود را به اخرین نسخه اپدیت نمایید و سپس پاورشل را در ویندوز با دسترسی Administrator اجرا کنید؛ برای این کار کافیست از بخش جستجو ویندوز PowerShell را جستجو کنید و بر روی ان کلیک راست نمایید سپس run as administrator را بزنید و بعد از اجرا ان ، دستور زیر را در پاور شل وارد نمایید.

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

سیستم را یک بار ریاستارت کنید. به Microsoft Store رفته و ubuntu را جستجو کنید.

نسخه ubuntu مورد نظر را انتخاب کنید و بر روی get بزنید تا دانلود اغاز شود.

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

https://www.microsoft.com/en-us/p/ubuntu/9nblggh4msv6?activetab=pivot:overviewtab

بعد از دستور بالا و نصب شدن اوبونتو در ویندوز 10 کافیست وارد cmd شوید و دستور ubuntu را بزنید یا از بخش جستجو ubuntu را جستجو نمایید و مانند یک برنامه خواهید دید که اجرا خواهد شد و دسترسی کامند لاین به ان خواهید داشت. به استفاده از این سیستم عامل می توانید از دستوراتی مانند : git ، ssh ، bash ، apt و … استفاده نمایید.

لینک های دانلود


dedsec will give you the truth
join us

آخرین ارسال ها

آخرین جستجو ها


هیئت ورزش کارگری استان گیلان پايگاه امام جعفر صادق شهيديه modir-project radikalp vistasazepv ويدئوها و مطالب آموزشي مشاوره‌اي در زمينه رشد و هدايت تحصيلي برا holoocenter14 faslterooyesh pahneyetkv shab-k