چطور تبدیل به یک هکر شویم؟
در دنیای امنیت کامپیوتر، هکر کسی است که بر مکانیزمهای امنیتی در یک سیستمهای کامپیوتری و شبکه تمرکز دارد. سابقه برنامه نویسی حرفه ای و جادوگران حوزه شبکهسازی به چندین دهه قبل بازمیگردد و آنها کار خود را با مینیکامپیوترها و شبکه آرپانت (که به نوعی ورژن ابتدایی اینترنت امروزی بود) آغاز کردند.


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


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


۱. یکی از بهترین راهها برای اینکه پایتان را در آب بزنید اینست که دیوایسی تحت عنوان «Live CD» یا «Live USB» را به کار بگیرید: ورژنی از لینوکس که بدون دستکاری هارد دیسک شما، تماما از طریق سیدی یا یواسبی اجرا میشود. از این طریق میتوانید بدون انجام کارهای دشوار، احتمالات پیش روی خود را بررسی کنید.
لینوکس را میتوانید به صورت موازی با ویندوز مایکروسافت، روی دستگاهی یکسان به اجرا در آورید.


۲. گذشته از لینوکس، سیستم عاملهای دیگری هم داریم که مشابه UNIX به حساب میآیند و از جمله آنها میتوان به سیستمهای BSD* اشاره کرد. محبوبترین سیستمهای BSD* را FreeBDS ،NetBSD ،OpenBDS و FragonFly BSD تشکیل دادهاند. تمام این سیستمها درست مانند لینوکس متنباز هستند ولی باید حتما این را به خاطر داشته باشید که ماهیتی متفاوت با لینوکس دارند.


۳. macOS روی Darwin هم ایده خوبی است. داروین کاملا رایگان و متنباز است و از طریق آدرس Open Source - Releases میتوانید به آن دسترسی داشته باشید. از آنجایی که هسته این سیستم را UNIX تشکیل داده و macOS اپل هم حسابی محبوب است، بسیاری از مردم اپلیکیشنهای لینوکس را روی macOS پورت کردهاند. با ابزارهای مدیریت پکیج مانند هومبرو، فینک یا مکپورتس قادر به دریافت این برنامه ها و نرم افزارها نیز هستید. یا در یک گزینه جایگزین، میتوانید صرفا لینوکس را به صورت موازی با macOS روی سیستمهای مک به اجرا در آورید.


۴. اگر میخواهید دست به حرکتی شدیدا خرق عادت بزنید، میتوانید حتی به سراغ سیستم عاملی مانند Open Indiana بروید که براساس ورژن متنباز سیستم عامل Solaris ساخته شده (سیستم عاملی که بعدا توسط اوراکل خریداری شد و دیگر متنباز نیست). Open Indiana و Solaris بر مبنای UNIX System V ساخته شدند و به همین ترتیب، با اپلیکیشنهای لینوکس سازگاری ندارند. اما باید این را نیز افزود که پورتهای فراوانی از اپلیکیشنهای لینوکس وجود دارد. پیشنهاد نهایی ما اینست که به خاطر محبوبیت بیشتر و دسترسی به اپلیکیشنهای گستردهتر، بهتر است کارتان را با استفاده از macOS یا BSD یا لینوکس آغاز کنید.


HTML بنویسید
اگر نمیدانید چطور باید برنامه نوشت، ضروری است که کارتان را با زبان ساده HyperText Mark-Up Language (یا همان HTML) آغاز کنید و به مرور زمان، دانشتان را گسترش دهید. وقتی به طراحی وب سایت نگاه میکنید، تمام تصاویر و جزییات طراحی آنها با استفاده از HTML کدنویسی شده است. به عنوان یک پروژه ساده، کارتان را با یادگیری چگونگی ساخت یک صفحه هوم ساده آغاز کنید و مسیر را ادامه دهید.


۱. در مرورگر کامپیوترتان، اطلاعات سورس صفحه را باز کرده و برای اینکه مثالی در ذهن داشته باشید، به بررسی کدهای HTML بپردازد. برای مثال در مرورگر فایرفاکس میتوانید به سراغ گزینه Web Developer و بعد Page Source بروید و مدتی را صرف تماشای کدها کنید.


۲. میتوانید به نوشتن HTML در برنامههای پردازش کلمه ساده مانند Notepad بپردازید و آنها را با نام دلخواه (مانند MyExampleWork.HTML) ذخیره کنید. سپس میتوانید این فایل را درون یک مرورگر آپلود کرده و شاهد ورژن ترجمه شده کدها باشید.


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

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

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

۳. برخلاف جاوا، جاوا اسکریپت شباهت بسیار زیادی به پایتون داشته و هر دو جزو زبانهای مبتنی بر C به حساب میآیند. جاوا اسکریپت «زبان برنامهنویسی وب» است و بنابراین اگر میخواهید به یادگیری هرچه بیشتر در حوزه توسعه وب و هک ادامه دهید، یادگیری جاوا اسکریپت بهتر از پایتون خواهد بود.

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

۵. استفاده از یک پلتفرم برای آغاز کار مانند Backtrack 5 R3 یا Kali یا Ubuntu 12.04LTS هم احتمالا ایده خوبی باشد.