63 (1303)

چگونه یک هکر بشویم؟ نویسنده: Eric Steven Raymond مترجم: میثم فرضعلی‌پور بازنگری: ۱.۳۱:  بیست و دوم مارس ۲۰05 فهرست مندرجات هدف این متن چیست؟ یک هکر کیست؟ مرامنامه‌ی هکری ۱-جهان مملو از مسئله‌های جذاب است که در انتظار حل شدن به سر می‌برند ۲-هیچ مسئله‌ای نباید دو بار حل شود ۳-کسالت و مشقت بد هستند ۴-آزادی خوب است ۵-نگرش جایگزینی برای صلاحیت نیستمهارت‌های بنیادی هکرها ۱-چگونه برنامه نوشتن را یاد بگیرید ۲-یکی از یونیکس های منبع‌باز را بدست بیاورید و یاد بگیرید که چگونه آن را بکار ببرید ۳-یاد بگیرید که چگونه از وب استفاده کنید و HTML بنویسید ۴-اگر زبان انگلیسی شما خوب نیست، آن را یاد بگیریدوضع فرهنگ هکرها ۱-نرم‌افزار منبع‌باز بنویسید ۲-به تست و اشکال‌زدایی نرم‌افزار‌های منبع‌باز کمک کنید ۳-اطلاعات مفید را منتشر کنید ۴-به انجام کارهای زیربنایی کمک کنید ۵-در انتشار فرهنگ هکرها همکاری کنیدارتباط بین هکر و نرد(Nerd) نکات مهممنابع دیگرفهرست پرسش‌های متداول INCLUDEPICTURE "J:\\نا\\ " \* MERGEFORMATINET هدف این متن چیست؟ من به عنوان ویراستار «فایل اصطلاحات هکر‌ها» و نویسنده‌ی تعدادی از مطالب مشهور دیگر مانند آن، اغلب اوقات از مبتدیان نامه‌هایی دریافت می‌کنم که از من می‌پرسند(به این مضمون) «من چگونه می‌توانم یاد بگیرم که یک هکر ماهر باشم؟» قبل از این در سال ۱۹۹۶ من متوجه شدم که فهرست پرسشهای متداول یا متن اینترنتی دیگری که به این سوال مهم توجه کند، وجود ندارد. بنابراین من نوشتن این متن را شروع کردم و هم‌اکنون بسیاری از مردم آن را به عنوان یک منبع معتبر مطالعه می‌کنند. با وجود این من ادعا نمی‌کنم که تنها صاحب نظر در این مورد هستم. اگر شما چیزی را که اینجا می‌خوانید دوست ندارید، راهنمای خودتان را برای هکر شدن بنویسید. اگر شما این مطلب را از منبع اصلی آن نمی‌خوانید بهتر است بدانید که نسخه‌ی اصلی آن در آدرس http://htbh.persianblog.com/ است توجه: لیستی از پرسشهای متداول در انتهای این متن وجود دارد. لطفاً آنها را قبل از آنکه برای من سوالی در مورد این متن بفرستید، -دو بار- بخوانید. ترجمه‌های متعددی از این متن وجود دارد:عربی،بلغارستانی، کاتالونیائی، چینی(ساده‌شده)، دانمارکی، هلندی، فارسی، فنلاندی، آلمانی، عبری، ایتالیایی، ژاپنی، لهستانی، پرتغالی(برزیلی)، اسپانیایی، ترکی، سوئدی و انگلیسی قابل ذکر است از آنجایی که این متن گاهگاهی تغییر می‌کند آنها ممکن است به درجات متفاوتی قدیمی باشند. شکل ۵ نقطه در داخل ۹ مربع که این متن به وسیله‌ی آن تزئین شده است ،یک glider نامیده می‌شود. که طرح ساده‌ای با تعدادی خاصیت تعجب آور در نوعی شبیه سازی ریاضی به نام زندگی(Life) است. این موضوع هکر‌ها را برای سالهای زیادی مجذوب کرده بود من فکر می‌کنم که آن نشانه‌ی خوبی است برای آنچه هکر‌ها شبیهش هستند: مجرد، در اول با ظاهری کمی اسرار‌آمیز اما یک دروازه به کل دنیا همراه با یک منطق پیچیده‌. مطالب بیشتری را در مورد نشان glider اینجا بخوانید. یک هکر کیست؟ فایل اصطلاحات هکرها شامل تعدادی از تعاریف برای واژه‌ی هکر است. اکثراً شامل انجام کارها با مهارت فنی و اشتیاق در حل مسائل و غلبه بر محدودیت‌ها. ولی اگر شما می‌خواهید بدانید که چگونه یک هکر شوید، تنها دوتای آن‌ها به دردتان می‌خورد. جامعه‌ای با یک فرهنگ اشتراکی متشکل از برنامه‌نویسان خبره وجود دارد که پیشینه‌ی آن به دهه‌های قبل و زمان اولین کامپیوتر کوچک و آزمایش‌های اولیه‌ی آرپانت بازمی‌گردد. اعضای این جامعه اصطلاح هکر را به وجود آوردند. هکرها اینترنت را ساختند. هکرها سیستم‌عامل یونیکس را تبدیل به سیستم‌عاملی کردند که اکنون می‌بینید. هکرها یوزنت را اداره می‌کنند. هکرها وب را به وجود آوردند. اگر شما بخشی از این فرهنگ هستید، اگر شما در آن همکاری کرده‌اید و اگر افراد دیگر این جامعه شما را یک هکر می‌دانند، پس شما یک هکر هستید. نگرش هکرها محدود به فرهنگ هکرهای کامپیوتر نیست. افرادی وجود دارند که منش هکرها را در موضوعات دیگر مانند الکترونیک یا موسیقی نیز بکار می‌برند. درواقع شما می‌توانید آن را در بالاترین سطح از هر شاخه‌ی علم یا هنر بیابید. هکرهای کامپیوتر این روح اصلی را در موضوعات دیگر نیز به رسمیت می‌شناسند و می‌توان به آنها نیز هکر گفت. - و برخی معتقدند ماهیت اصلی هکر بودن مستقل از واسطه‌های خاصی است که هکرها با آنها کار می‌کنند. اما بقیه‌ی این متن به مهارت‌ها و منش‌های هکرهای کامپیوتر و عقاید رایج در مورد فرهنگ اشتراکی که سرچشمه‌ی واژه‌ی هکر است، خواهدپرداخت. گروه دیگری از مردم وجود دارند که با سروصدای زیادی خودشان را هکر می‌نامند. اما آنها هکر نیستند. آنها (اکثراً پسرهای نوجوان) افرادی هستند که به صورت غیر مجاز به کامپیوترها دسترسی پبدا می‌کنند یا از سیستم‌های تلفن سوء استفاده می‌کنند.هکرهای واقعی این افراد را کرکر(Cracker) می‌نامند و کاری به آنها ندارند. اکثر هکرهای واقعی معتقدند که کرکرها تنبل و بی‌مسئولیت بوده و چندان هم باهوش نیستند. اشیایی که می‌توانند سیستم‌های امنیتی را از کار بیاندازند، شما را هکر نمی‌کنند، همانطور که «روشن کردن اتوموبیل با تکه‌ای سیم شما را مهندس مکانیک نمی‌کند»، .متاسفانه اکثر روزنامه‌نویسان و نویسندگان به اشتباه واژه‌ی هکر برای معرفی کرکرها به‌کار می‌برند و این کار هکرها را بسیار عصبانی می‌کند. تفاوت اساسی این است: هکرها چیزهایی می‌سازند، کرکرها آنها را خراب می‌کنند. اگر شما می‌خواهید هکر شوید، به خواندن ادامه دهید. اما اگر می‌خواهید کرکر شوید، گروه خبری alt.2600 را بخوانید و آماده باشید که به زودی در زندان کارمجانی انجام دهید. آن‌وقت متوجه خواهید شد که آنقدرها که فکر می‌کردید، باهوش نبودید. و این تمام چیزی است که من به شما در مورد کرکرها می‌گویم. INCLUDEPICTURE "J:\\نا\\ " \* MERGEFORMATINET مرامنامه‌ی هکری ۱-جهان مملو از مسائل جذاب است که در انتظار حل شدن به سر می‌برند ۲-هیچ مسئله‌ای نباید دو بار حل شود ۳-کسالت و بیگاری مضر هستند ۴-آزادی خوب است ۵-نگرش جایگزینی برای مهارت نیست هکرها مشکلات را حل می‌کنند و سازنده عمل می‌کنند. آنها به آزادی و کمک داوطلبانه‌ی دوجانبه اعتقاد دارند. برای پذیرفته شدن به عنوان یک هکر، شما باید به نحوی رفتار کنید مانند آنکه خودتان این نوع نگرش را دارید و برای اینکه اینگونه رفتار کنید شما باید واقعاً به آن اعتقاد داشته باشید . اما اگر شما فکر می‌کنید که نگرش اجتماعی هکرها فقط راهی برای پذیرفته شدن در این فرهنگ است، شما اصل موضوع را فراموش خواهید کرد. تبدیل شدن به فردی که به این موضوعات اعتقاد دارد، برای کمک به یادگیری و با انگیزه نگاه‌داشتن شما مهم است. مانند همه‌ی هنرهای سازنده، بهترین راه برای استاد شدن پیروی کردن از خط فکری استاد است. نه فقط به صورت فکری بلکه همچنین به صورت حسی. یا مانند آنچه این شعر مدرن Zen می‌گوید: تا که راه یابی: به استاد بنگر به دنبالش باش با او برو از نگاه او بنگر استاد شو پس اگر شما می‌خواهید یک هکر بشوید، جملات زیر را تکرار کنید تا به آنها اعتقاد پیدا کنید. ۱-جهان مملو از مسائل جذاب است که در انتظار حل شدن به سر می‌برند هکر بودن بسیار هیجان‌انگیز است. اما این نوع هیجان به تلاش زیادی نیاز دارد و تلاش محتاج انگیزه است.ورزشکاران موفق انگیزه‌ی خودشان را از لذتی که در غلبه‌ی آنها بر محدودیت‌های فیزیکی بدنشان در آنها به وجود می‌آید، بدست می‌آورند. به‌طور مشابه برای هکر بودن شما باید انگیزه‌ی اولیه را از حل مشکلات و افزایش مهارت‌ها و تمرین هوش خود بدست آورید.اگر شما جزو افرادی نیستید که ذاتاً اینگونه فکر می‌کنند، برای هکر شدن باید چنین شوید. در غیراینصورت شما خواهید دید که انرژی هکری شما به وسیله‌ی عواملی مانند سکس و پول و مشهورشدن تضعیف می‌شود (همچنین شما باید ایمان به ظرفیت یادگیری خودتان را بیشتر کنید -باور داشته باشید که حتی اگر تمام چیزهایی که برای حل مسئله لازم است را ندانید، اگر فقط از عهده‌ی قسمت کوچکی از آن برآیید و آن را یاد بگیرید، به اندازه‌ای که برای حل مسئله لازم است یاد خواهید گرفت- و به همین شیوه ادامه دهید تا مسئله حل شود) ۲-هیچ مسئله‌ای نباید دو بار حل شود ذهن‌های سازنده، منابع باارزش و محدودی هستند. آنها نباید برای دوباره اختراع کردن چرخ تلف بشوند در حالی که مسائل جذاب بسیار زیادی وجود دارد. برای رفتار کردن مانند یک هکر، شما باید اعتقاد داشته باشید که زمان فکر کردن هکرهای دیگر بسیار پرارزش است. بنابراین به اشتراک گذاشتن اطلاعات تقریباً یک کار اخلاقی است. مسائل را حل کنید و سپس راه‌حل را منتشر کنید تا هکرهای دیگر بتوانند به عوض دوباره حل کردن مسائل حل شده، مسائل جدید را حل کنند. (لازم نیست معتقد باشید که باید همه‌ی یافته‌های خودتان را منتشر کنید. گرچه هکرهایی که این کار را انجام می‌دهند بیشترین احترام را در میان هکرهای دیگر دارند. این با معیارهای هکرها سازگار است که به اندازه‌ی کافی از آنها بفروشید تا بتوانید ضروریات خود و نیازهای کامپیوترتان را تامین کنید. خوب است که از مهارت‌های هکری خودتان برای تامین خانواده یا حتی ثروتمند شدن استفاده کنید. مادامی که وظیفه‌ی خودتان را به هنرتان و هکرهای دیگر فراموش نکنید) ۳-کسالت و بیگاری مضر هستند هکرها (و به طور کلی افراد خلاق) هیچ وقت نباید کسل بشوند یا کارهای سخت و تکراری انجام بدهند. زیرا در اینگونه موارد آنها به کاری که می‌توانند انجام دهند (حل مسائل جدید) نمی‌پردازند و این بی‌فایده بودن هر کسی را می‌رنجاند. بنابراین خستگی و مشقت نه‌فقط ناخوشایند بلکه واقعاً مضر هستند. برای رفتار کردن مانند یک هکر، شما باید کاملاً ایمان داشته باشید که می‌خواهید ناخودآگاه از چیزهای کسل کننده تا آنجا که ممکن است دور شوید.نه فقط به خاطر خودتان بلکه برای هر کس دیگر (مخصوصاً هکرها). (یک استثنای بارز در اینجا وجود دارد. هکرها ممکن است بعضی اوقات کارهایی را انجام بدهندکه برای یک ناظر تکراری یا خسته کننده به نظر بیاید. به عنوان تمرین ذهنی یا به منظور به دست آوردن یک مهارت یا انجام دادن تمرینات مخصوص، شما به طرز دیگری نمی‌توانید عمل کنید. اما شما در این انتخاب آزادی دارید.- هیچ فرد اندیشمندی، نباید به اجبار در وضعیتی قرار گیرد که او را کسل کند.) ۴-آزادی خوب است هکرها به طور طبیعی مخالف استبداد هستند. هر کسی که بتواند به شما دستور بدهد، می‌تواند شما را از حل کردن مسائلی که مجذوبشان شده‌اید باز دارد. و مسلماً به طوری که ذهن‌های مستبد کار می‌کند، معمولاً دلیل‌های احمقانه و وحشتناکی برای چنین کاری پیدا می‌کنند. پس با روش استبدادی هر کجا که آن را یافتید باید مبارزه کنید وگرنه شما و دیگر هکرها را خفه می‌کند. (این به معنای جنگ با تمام قدرت‌ها نیست -کودکان باید راهنمایی(تادیب) شوند، خلافکاران باید محدود بشوند. یک هکر ممکن است موافق باشد که نوعی از قدرت را به منظور به دست آوردن چیزی که او می‌خواهد، بپذیرد. اما این یک معامله‌ی آگاهانه و محدود است. آنجایی که فردی تسلیم خواسته‌های دیکتاتور می‌شود، یک پیشنهاد نیست.) دیکتاتورها در سانسور و پنهان‌کاری موفق هستند. آنها برای همکاری‌های داوطلبانه و به اشتراک گذاشتن اطلاعات مزاحمت ایجاد می‌کنند. آنها فقط مشارکت در کارهایی را می‌پسندند که خودشان آن را کنترل کنند. پس برای رفتار کردن مانند یک هکر، شما باید یک دشمنی ذاتی با سانسور، پنهان‌کاری، فریب‌دادن و استفاده از زور برای تحت فشار قرار دادن افراد مسئول را در خود پرورش دهید و بر طبق این عادت عمل کنید. ۵-نگرش جایگزینی برای مهارت نیست برای هکر شدن شما بایستی تعدادی از این نگرش‌ها را در ذهنتان توسعه بدهید. اما کپی برداری محض از عقاید به تنهایی شما را هکر نمی‌سازد همانگونه که شما را قهرمان ورزشی یا ستاره‌ی راک نمی‌کند. هکر شدن به هوش، تمرین، از خود گذشتگی و سخت‌کوشی نیاز دارد. بنابراین شما باید یاد بگیرید که به منش اتکا نکنید و به هر نوع توانایی احترام بگذارید. هکرها اجازه نمی‌دهند که ژست‌ها وقت آنها را تلف کنند. اما آنها احترام زیادی برای توانایی قائل‌اند. مخصوصاً توانایی در زمینه‌ی هکری. اما توانایی در هر کاری خوب است. توانایی در بدست آوردن مهارت‌هایی که افراد کمی می‌توانند در آن زمینه به درجه‌ی استادی برسند، خیلی خوب است و توانایی در مهارت‌هایی که مستلزم زکاوت، مهارت و تمرکز هستند بهترین است. اگر شما به توانایی احترام بگذارید، از توسعه‌ی توانایی‌های خود لذت خواهید برد و سخت‌کوشی و فداکاری بیشتر از مشقت به کاری مشتاقانه بدل خواهد شد. این طرز فکر برای هکر شدن حیاتی است. مهارت‌های بنیادی هکرها ۱-چگونه برنامه نوشتن را یاد بگیرید ۲-یکی از یونیکس های منبع‌باز را بدست بیاورید و یاد بگیرید که چگونه آن را بکار ببرید ۳-یاد بگیرید که چگونه از وب استفاده کنید و HTML بنویسید ۴-اگر زبان انگلیسی شما خوب نیست، آن را یاد بگیرید داشتن منش هکرها برای هکر شدن حیاتی است اما مهارت‌ها اهمیت بیشتری دارند. منش جایگزینی برای مهارت نیست. مجموعه‌ای از مهارت‌های پایه وجود دارند که شما بایستی برای هکر شدن داشته باشید. این مهارت‌ها با گذشت زمان، هنگامی که تکنولوژی مهارت‌های جدیدی را می‌سازد و مهارت‌های قدیمی را منسوخ می‌کند، به آرامی تغییر می‌کنند. در گذشته برنامه‌نویسی به زبان ماشین شامل این مجموعه بود و تا این اواخر زبان HTML جزو این مهارت‌ها نبود. اما اکنون به‌وضوح شامل موارد زیر است: ۱-چگونه برنامه نوشتن را یاد بگیرید البته این یک مهارت پایه‌ای برای هکرهاست. اگر شما هیچ کدام از زبانهای برنامه‌نویسی را بلد نیستید، من به عنوان شروع پایتون را به شما پیشنهاد می‌کنم. پایتون با ظرافت طراحی شده و به خوبی مستند سازی شده است و نسبتاً ابتدایی است. با وجود اینکه پایتون به عنوان اولین زبان برنامه‌نویسی برای یادگیری خوب است ولی تنها یک اسباب بازی نیست. پایتون خیلی قدرتمند و انعطاف پذیر بوده و برای پروژه‌های بزرگ مناسب است. من یک ارزیابی از پایتون را با جزئیات کامل نوشته‌ام. منابع آموزشی خوبی در سایت پایتون در دسترس هستند. جاوا نیز زبان خوبی برای آموزش برنامه‌نویسی است. جاوا از پایتون مشکل‌تر است ولی کدهای سریعتری تولید می‌کند. فکر می‌کنم به عنوان زبان دوم برنامه‌نویسی خیلی خوب باشد. متاسفانه منابع پیاده‌سازی شرکت Sun هنوز اختصاصی هستند. به علت وجود یک مفسر منبع‌باز خوب برای جاوا این امر چندان بحث زیادی به وجود نمی‌آورد. مشکل واقعی توابع کتابخانه‌ای هستند که با زبان منتقل می‌شوند. توابع کتابخانه‌ای منبع‌باز نسبت به توابع Sun ضعیف‌تر هستند. بنابراین اگر شما تصمیم دارید که جاوا را یاد بگیرید، به عوض وابستگی به کد اختصاصی Sun با یک پیاده‌سازی منبع‌باز کار کنید. اما توجه کنید که اگر تنها یک یا دو زبان برنامه‌نویسی را بلد باشید، به مهارت‌های یک هکر دست پیدا نخواهید کرد یا حتی صرفاً یک برنامه‌نویس هم نخواهید شد. شما باید بیاموزید که به‌طور کلی چگونه در مورد مسائل برنامه‌نویسی مستقل از هر زبانی فکر کنید. برای اینکه یک هکر واقعی شوید، شما باید به سطحی برسید که بتوانید با ارتباط دادن موضوعات موجود در راهنما به دانسته‌های خود، در طی چند روز یک زبان را یاد بگیرید. بنابراین شما بایستی چندین زبان کاملاً متفاوت را یاد بگیرید. اگر شما به‌طور جدی به برنامه‌نویسی بپردازید، مجبورید که زبان C که زبان هسته‌ی یونیکس است را یاد بگیرید. زبان ++C خیلی شبیه C است. اگر شما یکی از آنها را بدانید، یاد گیری دیگری چندان مشکل نخواهد بود. با وجود این هیچ کدام از آنها به‌عنوان اولین زبان برنامه‌نویسی برای یادگیری خوب نیستند. درواقع هرچه بیشتر از برنامه‌نویسی با زبان C اجتناب کنبد، بازدهی بیشتری خواهید داشت. زبان C بسیار کارآمد است و در استفاده از منابع سیستم بسیار صرفه‌جویی می‌کند. متاسفانه زبان C کارآیی خودش را با نیاز به کدنویسی سطح پایین برای مدیریت منابع سیستم (مانند حافظه) بدست می‌آورد. همه‌ی کدهای سطح پایین پیچیده و مستعد باگ هستند و وقت زیادی را در مرحله‌ی اشکال زدایی به خود اختصاص می‌دهند. با کامپیوترهای امروزی و قدرتی که آنها دارند، این معمولاً معامله‌ی خوبی نیست. بهتر است از زبانهایی استفاده کنیم که کمی وقت کامپیوتر را تلف کنند ولی از زمان شما بسیار مفیدتر استفاده کنند. مانند پایتون . زبانهای برنامه‌نویسی دیگری که اهمیت ویژه‌ای برای هکرها دارندشامل Perl و LISP می‌شوند. Perl به دلیل کاربردی بودن ارزش یادگیری دارد. Perl به طور گسترده‌ای در صفحات وب فعال و مدیریت سیستم‌ها استفاده می‌شود. بنابراین حتی اگر شما برنامه‌ای به زبان Perl ننویسید، باید بتوانید برنامه‌هایی را که به زبان Perl نوشته شده‌اند را بخوانید. اکثر افراد از Perl در جایی استفاده می‌کنند که من به شما پایتون را توصیه کردم (خودداری از برنامه‌نویسی به زبان C در کارهایی که به امکانات C نیازی ندارد). شما نیاز پیدا خواهید کرد که کدهای نوشته شده توسط آنها را بخوانید. LISP به دلیل دیگری ارزش یادگیری دارد. LISP به روشن‌فکری عمیقی نیاز دارد که پس از یادگیری آن را به دست خواهید آورد.این تجربه شما را برنامه نویس بهتری خواهد کرد. حتی اگر چندان برنامه‌ای با LISP ننویسید. (شما به راحتی می‌توانید با نوشتن و تغییر دادن محیط ویرایش Emacs تجربه‌ی مقدماتی با LISP را بدست آورید) بهترین روش یادگیری همه‌ی زبانهای گفته شده (پایتون، جاوا، ++C/C، پرل و LISP) است. این زبانها علاوه بر اینکه مهم‌ترین زبانهای برنامه‌نویسی در دنیای هک هستند، نمایانگر خط مشی‌های متفاوت در برنامه‌نویسی نیز می‌باشند و هرکدام معلومات باارزشی به شما می‌دهند. من نمی‌توانم در اینجا دستورالعمل کاملی در مورد اینکه چگونه برنامه بنویسید ارائه دهم. کتابها و دوره‌های آموزشی نیز چنین کاری نمی‌کنند. (بیشتر و شاید همه‌ی هکرها خودشان مهارت‌هایشان را یاد گرفته‌اند) برنامه‌نویسی یک مهارت پیچیده است. شما می‌توانید امکانات یک زبان برنامه‌نویسی -قسمتی از دانش مورد نیاز برای برنامه‌نویسی- را از کتابها یاد بگیرید. اما طرز فکری که اینگونه اطلاعات را به مهارت‌های کاربردی تبدیل می‌کند، تنها به وسیله‌ی تمرین و کارآموزی بدست می‌آید و این یعنی ۱)خواندن کد و ۲)نوشتن کد. یادگرفتن برنامه‌نویسی مانند یادگیری خوب نوشتن یک زبان طبیعی است. بهترین روش برای این کار خواندن برنامه‌هایی است که به وسیله‌ی استادان نوشته شده است. پس از آن سعی کنید خودتان برنامه‌هایی بنویسید و دوباره خیلی بیشتر بخوانید، کمی بیشتر بنویسید، خیلی بیشتر بخوانید... این چرخه را ادامه دهید تا زمانی که برنامه‌های شما قدرت و کارایی برنامه‌های نوشته شده نوسط استادان را بدست آورند. سابقاً یافتن سورس‌کدهای خوب کار سختی بود. به دلیل اینکه تعداد کمی کد منبع از برنامه‌های بزرگ برای خواندن و تغییر دادن در اختیار هکرهای تازه‌کار بود. اما اکنون این وضعیت به طرز چشمگیری تغییر کرده است. نرم‌افزارهای منبع‌باز، ابزارهای برنامه‌نویسی و سیستم‌های عامل (که همه‌ی ّنها به وسیله‌ی هکرها تهیه شده‌اند) اکنون به سادگی در دسترس هستند. که مرا به نوشتن مبحث بعدی ترغیب می‌کند. ۲-یکی از یونیکس های منبع‌باز را بدست بیاورید و یاد بگیرید که چگونه آن را بکار ببرید من فرض می‌کنم که شما صاحب یک کامپیوتر شخصی هستید یا به یک کامپیوتر شخصی دسترسی دارید. همه‌ی کودکان امروزه یک کامپیوتر دارند. مهم‌ترین قدمی که هر مبتدی در جهت بدست آوردن مهارت های هک می‌تواند بردارد، تهیه‌ی یک نسخه از Linux یا BSD Unix، نصب کردن آن بر روی کامپیوتر خود و به کار بردن آن است. درست است که سیستم‌عامل‌های دیگری نیز به جز یونیکس وجود دارند اما آنها در قالب دودویی منتشر می‌شوند و شما نمی‌توانید سورس کد آنها را بخوانید یا تغییر دهید. سعی برای یادگیری هک بر روی سیستم‌های دارای ویندوز، MacOS و یا هر سیستم منبع بسته‌ی دیگر مانند تلاش برای یادگیری رقص در لباش شوالیه است . تحت OS/X این مسئله امکان پذیر است اما فقط بخشی از این سیستم منبع باز است و به احتمال زیاد شما را به بن‌بست خواهد کشاند و باید مواظب باشید که به کد اختصاصی اپل عادت نکنید. اگر شما بر روی یونیکس تمرکز کنید، با چشمان بسته نیز چیزهای مفیدی یاد می‌گیرید. یونیکس سیستم عامل اینترنت است. شما می‌توانید بدون دانستن یونیکس از اینترنت استفاده کنید. اما بدون داشتن درک درستی از یونیکس هرگز هکر اینترنتی خوبی نخواهید شد. به همین دلیل امروزه جامعه‌ی هکرها شدیداً یونیکس محور است. (این موضوع همواره صادق نبوده و برخی از هکرهای قدیمی از این موضوع راضی نیستند.اما همزیستی بین یونیکس و اینترنت به قدری محکم است که حتی قدرت مایکروسافت هم نمی‌تواند جلوی آن را بگیرد.) پس یک یونیکس را انتخاب کنید. من خودم لینوکس را دوست دارم اما انتخاب‌های دیگری نیز وجود دارند. (شما می‌توانید همزمان لینوکس و ویندوز را بر روی سیستم خود اجرا کنید) آن را یاد بگیرید، بکار ببرید و تغییر دهید. به وسیله‌ی آن از اینترنت استفاده کنید. سورس کد آن را بخوانید و تغییر دهید. شما ابزارهای برنامه‌نویسی بهتری به دست خواهید آورد. که هر سیستم ویندوز در رویای به‌دست آوردن آنهاست. (شامل C، LISP، Python و Perl) و این شما را سرگرم خواهد کرد. و شما بدون آنکه متوجه شوید معلومات زیادی کسب خواهید کرد و هنگامی که مانند یک استاد به مسائل نگاه کنید به این موضوع پی‌می‌برید. برای بدست آوردن اطلاعات بیشتر در مورد یادگیری یونیکس Loginataka را ببینید. شما ممکن است مایل باشید که نگاهی نیز به «هنر برنامه‌نویسی در یونیکس» بیاندازبد برای بدست آوردن اطلاعات بیشتری در مورد لینوکس، سایت «لینوکس آنلاین» را ببینید. شما می‌توانید از آنجا لینوکس را داونلود کنید یا (یک ایده‌ی بهتر) یک گروه محلی از کاربران لینوکس را بیابید که به شما در نصب لینوکس کمک کنند. از دیدگاه یک کاربر جدید لینوکس، همه‌ی توزیع‌های لینوکس بسیار به هم شبیه هستند. شما می‌توانید منابع کمکی یونیکس برکلی را در http://www.bds.org/ بیابید. من یک متن در مورد اطلاعاتی که مبتدیان برای کار با یونیکس و اینترنت لازم دارند نوشته‌ام. اگر شما یک مبتدی هستید من نصب هیچ‌کدام (یونیکس و لینوکس) توسط خودتان را توصیه نمی‌کنم.برای نصب لینوکس، یک گروه محلی از کاربران لینوکس را پیدا کنید و از آنها کمک بخواهید. ۳-یاد بگیرید که چگونه از وب استفاده کنید و HTML بنویسید اکثر دستاوردهای جامعه‌ی هکرها کارهایشان را در پشت پرده انجام می‌دهند. آنها به کارکرد کارخانه‌ها، ادارات و دانشگاه‌ها کمک می‌کنند بدون آنکه تاثیر قابل رویتی بر زندگی دیگران بگذارند. در این میان وب یک استثنای بزرگ است. سرگرمی بزرگ هکرها که حتی سیاستمداران اعتراف می‌کنند که در حال تغییر دادن دنیاست. به این دلیل (و دلایل زیاد دیگر) لازم است بدانید که با وب چگونه کار ‌کنید. این بدان معنا نیست که فقط استفاده از یک مرورگر را یاد بگیرید. (هر کسی می‌تواند این کار را انجام دهد) شما باید HTML (زبان نشانه گذاری وب) را یاد بگیرید. اگر شما برنامه‌نویسی بلد نیستید، نوشتن HTML به شما تعدادی عادت ذهنی می‌دهد که این عادات به یادگیری شما درآینده کمک خواهد کرد. پس یک صفحه‌ی خانگی درست کنید و سعی کنید که از XHTML که زبان دقیق‌تری نسبت به HTML سنتی است، بیشتر استفاده کنید. (آموزش‌های مقدماتی خوبی در این زمینه وجود دارد. مانند این) اما صرفاً داشتن یک صفحه‌ی خانگی شما را یک هکر نمی‌کند. اینترنت پر از صفحات وب است. اکثر آنها بی‌هدف، بی‌محتوا، آشغال و آشغال‌های بسیار جذاب هستند. یادتان باشد که محتوای تمام آشغال‌ها یکسان‌ است. (برای اطلاعات بیشتر در این مورد صفحه‌ی جهنم HTML را ببینید) برای مفید بودن صفحه‌ی شما باید بامحتوا باشد. صفحه‌ی شما باید جالب باشد و/یا برای هکرهای دیگر مفید باشد. این موضوع ما را به بحث بعدی می‌کشاند. ۴-اگر زبان انگلیسی شما خوب نیست، آن را یاد بگیرید شخصاً به عنوان یک فرد انگلیسی زبان آمریکایی قبلاً از این پیشنهاد ناراضی بودم.چرا که ممکن بود به عنوان نوعی استعمارطلبی فرهنگی تلقی شود. اما افراد متعددی که زبانهای مادری دیگری داشتند از من خواستند که بگویم انگلیسی زبان کاربردی فرهنگ هکرها و اینترنت است. شما باید برای فعالیت در جامعه‌ی هکرها آن را بدانید. در گذشته حوالی سال ۱۹۹۱ من یاد گرفتم که اکثر هکرهایی که انگلیسی را به عنوان زبان دوم یاد گرفته‌اند، حتی آنهایی که زبان مادری یکسانی دارند نیز آن را در بحث‌های فنی بکار می‌برند. من فهمیدم که زبان انگلیسی دایره‌ی لغات وسیع‌تری نسبت به هر زبان دیگری دارد و ابزار بهتری برای کار است. به همین دلیل ترجمه‌های کتاب‌های تخصصی که به زبان انگلیسی نوشته شده‌اند زمانی که تمام کلمات آنها ترجمه می‌شوند، اغلب خوب نیستند. لینوس توروالدز که یک فنلاندی است. کد لینوکس خودش را به زبان انگلیسی توضیح داد (او تابحال هرگز به طرز دیگری عمل نکرده است). تسلط او به زبان انگلیسی عامل مهمی در ایجاد یک جامعه‌ی جهانی از توسعه دهندگان برای لینوکس بود. این نمونه ارزش پیروی دارد. INCLUDEPICTURE "J:\\نا\\ " \* MERGEFORMATINET وضع فرهنگ هکرها ۱-نرم‌افزار منبع‌باز بنویسید ۲-به تست و اشکال‌زدایی نرم‌افزار‌های منبع‌باز کمک کنید ۳-اطلاعات مفید را منتشر کنید ۴-به انجام کارهای زیربنایی کمک کنید ۵-در انتشار فرهنگ هکرها همکاری کنید مانند اکثر فرهنگ‌هایی که مبتنی بر اقتصاد پولی نیستند، جامعه‌ی هکرها بر پایه‌ی شهرت و اعتبار استوار است. شما سعی می‌کنید که مسائل جالب را حل کنید اما اینکه آنها چقدر جالب هستند و اینکه راه‌حل شما واقعاً چقدر خوب است، موضوعی است که در آن فقط افرادی که از نظر فنی هم‌سطح شما و بالاتر هستند می‌توانند نظر بدهند. هنگامی که شما وارد بازی هکرها می‌شوید یاد می‌گیرید که مدارجتان را با -توجه به نظری که دیگران راجع به مهارت شما دارند- بالاتر از دیگران نگاه دارید. (به همین دلیل شما یک هکر واقعی نمی‌شوید مگر آنکه هکرهای دیگر شما را هکر بنامند) این واقعیت با تصویری از هکری به عنوان کاری در انزوا به فراموشی سپرده شده است. همچنین با یک تابو در فرهنگ هکری(که البته در حال از بین رفتن است ولی کماکان وجود دارد) برخلاف پذیرفتن اینکه خود فرد یا اعتبار او در بین دیگران در انگیزه‌ی فرد موثر هستند. انسان شناسان جامعه‌ی هکرها را فرهنگ هدیه می‌نامند. شما اعتبار و مقام به دست می‌آورید ولی نه به وسیله‌ی تسلط داشتن بر دیگران، زیبایی یا داشتن آنچه دیگران می‌خواهند. بلکه با بخشش مخصوصاً در اختیار دیگران قرار دادن خلاقیت و حاصل مهارت‌های خود. به طور کلی ۵ نوع کار وجود دارد که شما می‌توانید با انجام آنها در بین هکرها محبوبیت کسب کنید: ۱-نرم‌افزار منبع‌باز بنویسید اولین(مهم‌ترین و متداول‌ترین) کار، نوشتن برنامه‌هایی که هکرهای دیگر فکر می‌کنند جالب یا مفید هستند و انتشار کد منبع آنها در میان هکرهاست. (در گدشته ما به چنین کارهایی Free Software می‌گفتیم. اما این اصطلاح مردم بسیار زیادی که نمی‌دانستند Free در اینجا به چه معنایی است را گیج می‌کرد. بنابراین اکثر ما (بر طبق آمار حاصل از محتوای صفحات وب، با حداقل نسبت ۲ به ۱) اکنون ترجیح می‌دهیم که ار اصطلاح نرم‌افزار Open Source استفاده کنیم) محترم‌ترین افراد در جامعه‌ی هکرها افرادی هستند که برنامه‌های بزرگ و توانمند نوشته‌اند که افراد بسیاری به آن نرم‌افزار‌ها احتیاج دارند و آن نرم‌افزارها را در کل جامعه‌ی هکرها منتشر کرده‌اند تا همه‌ی افراد بتوانند از آن استفاده کنند. ۲-به تست و اشکال‌زدایی نرم‌افزار‌های منبع‌باز کمک کنید همچنین کسانی که عهده‌دار اشکال‌یابی و اشکال‌زدایی نرم‌افزارها می‌شوند نیز مفید هستند. در دنیای امروزی ما ناگزیر به صرف بیشتر وقت توسعه‌ی نرم‌افزارهایمان در مرحله‌ی اشکال زدایی هستیم. به همین دلیل هر نویسنده‌ی نرم‌افزار منبع باز به شما خواهد گفت که آزمایشگران خوب مرحله‌ی بتا (آزمایشگران مرحله‌ی بتا کسانی هستند که می‌دانند که چگونه علائم اشکال را دقیق توضیح دهند، محل اشکالات را به خوبی مشخص کنند و می‌توانند با اشکالاتی که در نسخه‌های اولیه وجود دارد کنار بیایند و چند روش تشخیص محل عیب ساده را انجام بدهند) به اندازه‌ی طلای هم‌وزنشان ارزشمندند به قدری که حتی یکی از آنها می‌توانند مرحله‌ی اشکال زدایی را از یک کابوس طولانی و خسته کننده را به یک دردسر عبرت‌آموز تبدیل کنند. اگر شما یک مبتدی هستید، سعی کنید که برنامه‌ی در دست توسعه که مورد علاقه‌ی شما باشد، پیدا کنید و تلاش کنید تا یک آزمایشگر مرحله‌ی بتای خوب باشید. یک فرآیند طبیعی برای پیشرفت از کمک به آزمایش نرم‌افزارها تا اشکال زدایی آنها و از اشکال زدایی تا تغییر دادن آنها وجود دارد. به این ترتیب شما چیزهای زیادی یاد می‌گیرید و روابط خوبی با کسانی که در آینده به شما کمک خواهند کرد، پیدا می‌کنید. ۳-اطلاعات مفید را منتشر کنید یک کار خوب دیگر جمع‌آوری و انتشار اطلاعات مفید و جالب در صفحات وب یا متونی مانند «مجموعه‌ی پرسش‌های متداول» و در اختیار دیگران قرار دادن آنها است. گردانندگان مجموعه‌های پرسش‌های متداول بزرگ در زمینه‌های فنی، تقریباً به اندازه‌ی نویسندگان نرم‌افزارهای منبع‌باز محبوبیت کسب می‌کنند. ۴-به انجام کارهای زیربنایی کمک کنید جامعه‌ی هکرها (و به تبع آن توسعه‌ی فنی مهندسی اینترنت) به وسیله‌ی داوطلبان پیشرفت می‌کند. کارهای ضروری و خسته کننده‌ی بسیاری وجود دارند که برای ادامه‌ی پیشرفت لازم است انجام داده شوند. مانند مدیریت فهرست‌های پستی، نظارت بر گروههای خبری، مدیریت و نگهداری سایت‌های بزرگ آرشیو نرم‌افزارها، توسعه‌ی RFC ها و استانداردهای فنی دیگر نظیر آنها. افرادی که چنین کارهایی را به خوبی انجام می‌دهند، در بین دیگران بسیار مورد احترام قرار می‌گیرند. زیرا هر کسی می‌داند که این کارها به مقدار زیادی وقت نیاز دارند و به اندازه‌ی بازی با کدمنبع نرم‌افزارها جالب نیستند. انجام چنین کارهایی نشانه‌ی فداکاری افراد است. ۵-در انتشار فرهنگ هکرها همکاری کنید و بالاخره شما می‌توانید در انتشار خود فرهنگ هکرها مفید باشید. (برای مثال با نوشتن یک مقاله‌ی دقیق و صحیح در مورد اینکه چگونه یک هکر بشویم INCLUDEPICTURE "J:\\نا\\چگونه یک هکر بشویم" \* MERGEFORMATINET ) شما هنگام شروع در موقعیتی نیستید که بتوانید چنین کاری را انجام بدهید مگر آنکه برای مدتی در بین هکرها باشید و به خاطر یکی از چهار شیوه‌ی بالا مشهور شده باشید. جامعه‌ی هکرها به طور مشخص رهبری ندارد. اما این فرهنگ قهرمان‌ها، پیشکسوتان، مورخان و سخنگویان خودش را دارد.اگر شما به مدت زیادی در بین هکرها باشید، احتمالاً به یکی از این گروه‌ها خواهید پیوست. اما مراقب باشید:‌هکرها آشکارا پیشکسوتان خودشان را اذیت می‌کنند. پس مسلماً رسیدن به این درجه از شهرت، بیشتر از تلاش برای بدست آوردن آن خطرناک است. شما باید مراقب جایگاه خودتان باشید و به جای تلاش برای رسیدن به شهرت کاری کنید که این موقعیت در مسیر شما قرار گیرد. این باعث پیشرفت شما خواهدشد و سپس در مقام خودتان متواضع و مهربان باشید. ارتباط بین هکر و نرد(Nerd) برخلاف تصور مردم برای هکر شدن لازم نیست که یک نرد باشید .گرچه این سودمند است و اکثر هکرها در واقع نرد هستند. داشتن روابط اجتماعی خوب به شما کمک می‌کند که بر روی مسائل واقعاً مهم مانند فکر کردن و هکری تمرکز کنید. به همین دلیل اکثر هکرها عنوان نرد را برای خود انتخاب کرده‌اند و حتی اصطلاح غلیظ‌تر geek را به نشانه‌ی افتخار به کار می‌برند. این راهی برای نشان دادن استقلال آنها از عرف معمول در جامعه است. برای بحث گسترده‌تر در این مورد صفحه‌ی geek را ببینید. اگر شما می‌توانید به‌خوبی بر روی هکری تمرکز کنید تا یک هکر خوب باشید و هم به زندگی‌تان برسید، این خوب است. امروزه این کار بسیار راحت‌تر از زمانی است که من یک مبتدی بودم (در دهه‌ی ۱۹۷۰). امروزه برخورد هکرها با افراد مبتدی بسیار دوستانه‌تر است. همچنین تعداد افرادی که متوجه می‌شوند هکرها اغلب عاشقان خوب و همسردار هستند، در حال افزایش است. اگر شما به دلیل نرد بودن، به هکری علاقه‌مند هستید، این هم خوب است. حداقل شما مشکل تمرکز حواس ندارید. شاید شما هم بعداً از انزوا خارج شوید. نکات مهم دوباره می‌گویم برای هکر شدن شما ناچارید که طرز فکر هکرها را یادبگیرید. کارهایی وجود دارند که شما هنگامی که در کنار کامپیوتر نیستید، می‌توانید انجام بدهید. این کارها به هکر شدن شما کمک می‌کنند اما جایگزینی برای هکری نیستند (هیچ چیز دیگری نیست) اما اکثز هکرها این کارها را انجام می‌دهند و احساس می‌کنند که اینها به نوعی به اساس هکری ارتباط دارند. یاد بگیرید که زبان مادری خودتان را به خوبی بنویسید. گرچه این پندار عمومی که هکرها نویسندگان خوبی نیستند، وجود دارداما تعداد زیادی از هکرها (شامل تمام هکرهای ماهری که من می‌شناسم) نویسندگان بسیار توانایی هستند. داستان‌های علمی-تخیلی بخوانید و به بحث‌هایی در مورد داستان‌های علمی-تخیلی بپیوندید (این یک روش خوب برای آشنا شدن با هکرها و هکردوستان است). یکی از شاخه‌های هنرهای رزمی را یاد بگیرید. شیوه‌ی پرورش ذهنی که برای هنرهای رزمی لازم است، در بسیاری از جهات با کاری که هکر‌ها انجام می‌دهند، مشابه است. پرطرفدارترین شاخه‌ها در میان هکرها، هنرهای رزمی بدون سلاح هستند. مانند: نکواندو، کاراته، وینگ چون، آیکیدو و جوجیتسو. هنرهای شمشیر بازی غربی و آسیایی نیز طرفداران قابل ملاحظه‌ای دارند. در جاهایی که شلیک با هفت‌تیر قانونی است، این شاخه نیز طرفداران زیادی از اواخر دهه‌ی ۹۰ پیدا کرده است. بهترین هنر‌های رزمی برای هکرها آنهایی هستند که به پرورش ذهنی، تمرکز اعصاب و کنترل خود بیشتر از قدرت، ورزش‌گرایی و سختی جسمی اهمیت می‌دهند. مدیتیشن را به طور منظم تمرین کنید. Zen همواره در میان هکرها محبوب است. (شما می‌توانید از Zen استفاده کنید بدون اینکه مجبور شوید به مذهب جدیدی روی بیاورید یا از مذهبی که دارید دست بکشید.) سبک‌های دیگر نیز مفید هستند اما مراقب باشید یکی از آن سبک‌هایی را انتخاب کنید که نیازی به باور عقاید دیوانه‌وار نداشته باشد. مهارت‌های شنوایی خودتان را در زمینه‌ی موسیقی توسعه دهید. باد بگیرید که بتوانید از نوع خاصی از موسیقی را درک کرده و از آن لذت ببرید. یاد بگیرید که چگونه یک ساز را خوب بنوازید یا چگونه آواز بخوانید. مهارت خودتان را در جناس و بازی با کلمات بیشتر کنید. هر قدر که تعداد بیشتری از این کارها را از قبل انجام بدهید، استعداد ذاتی شما برای هکر شدن به همان اندازه بیشتر است. دلیل انجام این کارها به طور واضح معلوم نیست اما آنها به ترکیبی از مهارت‌های نیمکره‌ی راست و چپ مغز ارتباط دارند که به نظر می‌آید مهم باشد. هکرها باید در لحظه‌ای که به مسئله‌ای فکر می‌کنند، هم به تفکر منطقی قادر باشند و هم به نمودهای ظاهری مسئله توجه کنند. زمانی که کار می‌کنید، چنان با شور و شوق کار کنید که انگار بازی می‌کنید و چنان با دقت بازی کنید که انگار کار می‌کنید. برای هکرهای واقعی مرزی میان بازی، کار، علم و هنر وجود ندارد. این موضوعات با یکدیگر ادغام می‌شوند تا یک سازندگی سطح بالاو مفرح به وجود آورند. شما نباید به دامنه‌ی کوچکی از مهارت‌ها محدود بشوید. گرچه معمولاً هکرها خوشان را به عنوان برنامه‌نویس معرفی می‌کنند اما اکثر آنها در زمینه‌های مرتبط نیز مهارت دارند. مدیریت سیستم، طراحی صفحات وب و اشکال یابی سخت افزار کامپیوترهای شخصی موارد رایج هستند. یک هکر که مدیریت سیستم را بر عهده دارد، به احتمال زیاد در اسکریپت نویسی و طراحی صفحات وب مهارت دارد. هکرها هیچ‌گاه کاری را نصف و نیمه انجام نمی‌دهند. اگر آنها در زمینه‌ای وقت صرف می‌کنند، حتماً تصمیم گرفته‌اند در آن زمینه بسیار خوب باشند. و بالاخره چند کار که نباید انجام بدهید: هرگز از نامهای مستعار احمقانه و پرزرق‌وبرق استفاده نکنید هرگز در جنگ‌های سرزنش دیگران در یوزنت (یا هر جای دیگری) شرکت نکنید. هرگز خودتان را یک ولگرد اینترنت (Cyber Punk) ننامید و هیچ گاه وقت خودتان را با کسی که چنین کاری را انجام می‌دهد، تلف نکنید. هرگز نوشته‌های پر از غلط املائی و دستور زبانی را پست یا میل نکنید. تنها چیزی که با انجام این کارها به دست می‌آورید، شهرت یافتن به عنوان یک احمق است. هکرها حافظه‌ی طولانی مدتی دارند. ممکن است قبل از اینکه در میان هکرها پذیرفته شوید، مجبور باشید که سالها با سابقه‌ی دسته گلهایی که به آب داده‌اید، زندگی کنید. مشکلات ناشی از اسامی مستعار یا هویت‌های مجازی نیاز به شرح و توضیح بیشتری دارد: پنهان کردن هویت خود پشت یک نقاب رفتار بچه‌گانه (و احمقانه)ی افرادی از قبیل کرکرها، قفل‌شکنان و گونه‌هایی دیگر از زندگی سطح پایین است. هکرها هیچ‌وقت چنین کاری انجام نمی‌دهند. هکرها با کارهایی که انجام می‌دهند، افتخار می‌کنند و دوست دارند که این کارها با نام واقعی آنها پیوند بخورد. پس اگر شما نقابی بر چهره دارید، آن را بردارید. در میان هکرها آن نقاب شما را فقط به عنوان یک بازنده معرفی خواهد کرد. منابع دیگر پل گراهام مقاله‌ای به نام هکرهای بزرگ و مقاله‌ی دیگری به نام در حال تحصیل نوشته است که حاوی اطلاعات زیادی است. Peter Seebach گرداننده‌ی یک فهرست پرسش‌های متداول در مورد هکرها است. این پرسش‌ها مخصوص مدیرانی است که نمی‌دانند چگونه با هکرها رفتار بکنند. مقاله‌ای به نام «چگونه یک برنامه‌نویس بشویم» وجود دارد که یک مکمل عالی برای این متن است. این متن توصیه‌های با ارزشی در مورد کد نویسی، طرز فکر برنامه نویسان و چگونگی همکاری در یک تیم برنامه‌نویسی دارد. همچنین من یک مقاله در مورد تاریخ جامعه‌ی هکرها نوشته‌ام. من مقاله‌ای به نام The Cathedral and the Bazaar نوشته‌ام که حاوی توضیحات بسیاری در مورد نحوه‌ی کارکرد جامعه‌ی لینوکس و جنبش منبع‌باز است. من همچنین در Homesteading the Noosphere مستقیماً به نتایج این موضوع پرداخته‌ام. Rick Moen مقاله‌ی فوق‌العاده‌ای در مورد اینکه «چگونه یک گروه کاربران لینوکس را اداره کنیم» نوشته است. من با Rick Moen در نوشتن مقاله‌ای به نام «چگونه سوالات خود را زیرکانه بپرسیم» همکاری کرده‌ام. این مقاله به شما کمک می‌کند سوالات خود را به روشی بپرسید که راحت‌تر به جواب برسید. اگر شما به مطالبی در مورد چگونگی کارکرد کامپیوترهای شخصی، یونیکس یا اینترنت نیاز داشتید، مبانی کارکرد یونیکس و اینترنت را ببینید. اگر تصمیم گرفتید که نرم‌افزاری را منتشر کنید یا الحاقیه‌هایی برای نرم‌افزارهای مختلف بنویسید، این راهنمای قدم‌به‌قدم تمرین نحوه‌ی انتشار نرم‌افزارها را دنبال کنید. اگر شما از شعرهای Zen خوشتان آمده، ممکن است مایل باشید که Rootless Root: The Unix Koans of Master Foo را ببینید. پیشنهادات شما ( 2پیشنهاد ) پیشنهادات شما فهرست پرسش‌های متداول س: آیا شما به من هکر شدن را یاد می‌دهید؟ س: چگونه می‌توانم شروع کنم؟ س: چه وقت باید شروع کنم؟ آیا سن من برای یادگیری بالاست؟ س: چه مقدار طول می‌کشد تا من هکری را یاد بگیرم؟ س: آیا ویژوال بیسیک و سی‌شارپ زبانهای برنامه‌نویسی خوبی برای شروع یادگیری هستند؟ س: آیا شما به من کرک کردن را یاد می‌دهید یا به من کمک می‌کنید تا یک سیستم را کرک کنم؟ س: چگونه می‌توانم کلمه‌ی عبور شخص دیگری را بدست آورم؟ س: من چگونه می‌توانم ایمیل‌های افراد دیگری را بخوانم یا کنترل کنم؟ س: چگونه می‌توانم مجوز اپراتوری را در شبکه‌های IRC بدست بیاورم؟ س: من کرک شده‌ام. آیا شما می‌توانید به من کمک کنید تا جلوی حملات بعدی را بگیرم؟ س: من با نرم‌افزاری در ویندوز مشکل دارم. آیا شما به من کمک می‌کنید؟ س: در کجا می‌توانم هکرهای واقعی را برای بحث پیدا کنم؟ س: آیا شما می‌توانید کتابهایی مفید در زمینه‌ی هک و موارد مرتبط به من معرفی کنید؟ س: آیا برای هکر شدن لازم است ریاضیات خوبی داشته باشم؟ س: باید اول کدام زبان برنامه‌نویسی را یاد بگیرم؟ س: برای هکر شدن به چه نوع سخت‌افزاری نیاز دارم؟ س: من می‌خواهم در یکی از پروژه‌ها همکاری کنم. آیا شما می‌توانید در انتخاب یک پروژه به من کمک کنید؟ س: آیا لازم است من از مایکروسافت متنفر باشم و سعی کنم به آن ضربه بزنم؟ س: مگر نرم‌افزارهای منبع‌باز، درآمد برنامه‌نویسان را از آنها نمی‌گیرند؟ س: چگونه باید شروع کنم؟ از کجا می‌توانم یک لینوکس رایگان بدست آورم؟   س: آیا شما به من هکر شدن را یاد می‌دهید؟ ج: از زمانی که برای اولین بار این مقاله را منتشر کردم، هر هفته چندین درخواست از افراد مختلف دریافت می‌کنم که از من می‌خواهند مهارت‌های هکری را به آنها یاد بدهم. ولی متاسفانه من وقت و انرژی کافی برای این کار ندارم. پروژه‌های هکری خود من و مسافرت‌هایم به عنوان یک مدافع جنبش منبع باز، ۱۱۰٪ از وقت مرا می‌گیرد. حتی اگر وقت هم داشته باشم، هکری یک طرزفکر است و مهارت‌ها را باید خودتان یاد بگیرید. شما خواهید دید که هکرهای واقعی همواره می‌خواهند به شما کمک کنند اما اگر از آنها بخواهید که تمام چیزهایی را که در مورد هکری بلدند را به شما یاد بدهند، آنها به درخواست شما اعتنایی نخواهند کرد. اول سعی کنید که مهارت‌هایی را بدست آورید. نشان دهید که در حال سعی کردن هستید و اینکه شما توانایی آنرا دارید که خودتان یاد بگیرید سپس از هکرهای دیگر یک سوال مشخص بپرسید. اگر شما می‌خواهید برای راهنمایی گرفتن به یک هکر میل بزنید، نکاتی وجود دارد که باید از قبل آنها را بدانید: اولاً ما متوجه شدیم افرادی که در نوشتن نامه‌های خودشان کم‌توجه هستند، معمولاً در فکر کردن نیز بی‌دقت تر از آن هستند که بتوانند یک هکر خوب بشوند. پس دقت کنید تا کلمات را با املای صحیح بنویسید و دستور زبان را درست به کار برده و از نشانه‌گذاری خوب استفاده کنید. در غیر اینصورت احتمالاً به درخواست شما توجهی نخواهد شد. ثانیاً هیچ‌گاه درخواست نکنید که جواب شما به آدرسی فرستاده شود که با آدرس ایمیلی که شما از آن نامه را فرستاده‌اید، متفاوت است. افرادی که چنین کارهای را انجام می‌دهند، معمولاً کسانی هستند که از حسابهای دزدیده شده استفاده می‌کنند و ما علاقه‌ای نداریم که به دزدها کمک کنیم.   س: چگونه می‌توانم شروع کنم؟ ج: بهترین روش برای آغاز رفتن به جلسات گروه کاربران لینوکس است. شما می‌توانید چنین گروه‌هایی را در صفحه‌ی اصلی اطلاعات لینوکس (LDP) پیدا کنید. احتمالاً یکی از این گروه‌ها در نزدیکی شما قرار دارد و شاید به یک کالج یا دانشگاه وابسته باشد. اگر از اعضای گروه بخواهید، به شما یک لینوکس می‌دهند و مطمئناً به شما در نصب و راه‌اندازی آن کمک خواهند کرد.   س: چه وقت باید شروع کنم؟ آیا سن من برای یادگیری بالاست؟ ج: در هر سنی که مشا قصد دارید شروع کنید،یک سن خوب است. اکثر افراد در بازه سنی۱۵ تا ۲۰ سال علاقه‌مند می‌شوند ولی من استثنائاتی را در هر در دو جهت می‌شناسم.   س: چه مقدار طول می‌کشد تا من هکری را یاد بگیرم؟ ج: این بستگی به مقدار هوش و پشتکار شما دارد. اکثر افراد اگر بر روی این موضوعات تمرکز کنند، مهارت‌های مورد انتظار را در طی ۱۸ ماه تا ۲ سال بدست می‌آورند. اما فکر نکنید که تصور شما به همین جا ختم می‌شود. اگز شما یک هکر واقعی باشید، مابقی عمرتان را به یادگیری و بهتر نمودن مهارت‌هایتان اختصاص خواهید داد.   س: آیا ویژوال بیسیک و سی‌شارپ زبانهای برنامه‌نویسی خوبی برای شروع یادگیری هستند؟ ج: اگر شما چنین سوالی را می‌پرسید، مطمئناً به این معنی است که شما قصد دارید که هکری را تحت ویندوز یاد بگیرید. این ایده به خودی خود بد است. هنگامی که من سعی برای هک کردن تحت ویندوز را با سعی برای یادگیری رقص در لباس شوالیه، مقایسه کردم، شوخی نمی‌کردم. به طرف ویندوز نروید چون خیلی بد است و هیچ‌وقت خوب نخواهد شد. مشکلات خاصی در رابطه با ویژوال بیسیک و سی‌شارپ وجود دارد. مهم‌ترینشان این است که کد تولید شده توسط آنها حمل‌پذیر نیست (قابل اجرا در سیتم عامل دیگری نیست). گرچه نمونه‌های اولیه‌ای از نرم‌افزارهای منبع‌باز توسط آنها نوشته شده است، اما استانداردهای ECMA به جز دسته‌ی کوچکی از خصوصیات رابط کابری آنها از بقیه پشتیبانی نمی‌کند. تحت ویندوز اکثر پشتیبانی کتابخانه‌ای داده‌ها به یک شرکت خاص (مایکروسافت) تعلق دارد. اگر شما کاملاً مراقب امکاناتی که از آنها استفاده می‌کنید -بیشتر از آنچه یک فرد مبتدی می‌تواند- نباشید، به طور قطع سرانجام در یکی از سکوهایی که مایکروسافت از آنها پشتیبانی می‌کند، محدود خواهید شد. اما اگر شما با یونیکس آغاز بکنید، زبانهای برنامه‌نویسی خیلی بهتری با کتابخانه‌های بهتری خواهید داشت. ویژوال بیسیک فوق‌العاده مزخرف است و مانند بیسیک‌های دیگر زبانی است که طراحی بسیار ضعیفی دارد و شما را به روش‌های غلط در برنامه‌نویسی عادت می‌دهد. از من نخواهید که جزئیات آن را شرح دهم. این توضیحات صفحات یک کتاب را پر می‌کنند. به جای بیسیک یک زبان برنامه‌نویسی خوب طراحی شده را یاد بگیرید. یکی از عادت‌های بد وابسته شدن به ابزار کتابخانه‌ای و لوازم توسعه‌ی یک شرکت خاص است. اساساً هر زبانی که به طور کامل حداقل توسط لینوکس یا یکی از BSD ها پشتیبانی نشود و یا حداقل تحت سیستم‌عامل‌های سه شرکت متفاوت کار نکند، یک زبان ضعیف برای هکری است.   س: آیا شما به من کرک کردن را یاد می‌دهید یا به من کمک می‌کنید تا یک سیستم را کرک کنم؟ ج: نه! هر کسی که بتواند بعد از خواندن این متن بتواند این پرسش را بپرسد، احمق‌تر از آن است که تعلیم داده شود. حتی در صورتی که من برای آموزش وقت داشتم. اگر من ایمیلی با چنین درخواستی دریافت کنم، به آن توجه نخواهم کرد یا با بی ادبی زیاد به آن پاسخ خواهم داد.   س: چگونه می‌توانم کلمه‌ی عبور شخص دیگری را بدست آورم؟ ج: این کرک کردن است.   س: من چگونه می‌توانم ایمیل‌های افراد دیگری را بخوانم یا کنترل کنم؟ ج: این کرک کردن است.   س: چگونه می‌توانم مجوز اپراتوری را در شبکه‌های IRC بدست بیاورم؟ ج: این کرک کردن است.   س: من کرک شده‌ام. آیا شما می‌توانید به من کمک کنید تا جلوی حملات بعدی را بگیرم؟ ج: نه تابحال هر وقت که چنین پرسشی از من پرسیده شده است، از طرف افرادی بوده که از ویندوز استفاده می‌کردند. هرگز امکان ندارد که به طور کامل ویندوز را بر ضد حملات کرکرها مصون ساخت. کدها و معماری آن اساساً دارای نقاط ضعف زیادی است که تلاش برای ایمن کردن ویندوز را به تلاش برای خالی کردن یک قایق با آبکش تبدیل می‌کند. تنها روش قابل اعتماد برای جلوگیری از حملات کرکرها مهاجرت به لینوکس یا سیستم‌عامل دیگری است که طراحی آن حداقل قابلیت ایمن سازی را داشته باشد.   س: من با نرم‌افزاری در ویندوز مشکل دارم. آیا شما به من کمک می‌کنید؟ ج: بله! به اعلان داس بروید و "Format c:" را نوشته Enter بزنید. تمام مشکلاتی که تابحال داشته‌اید در طی چند دقیقه برطرف خواهدشد.   س: در کجا می‌توانم هکرهای واقعی را برای بحث پیدا کنم؟ ج: بهترین راه یافتن یک گروه کاربران یونیکس (یا لینوکس) در نزدیکی محل زندگی شما و رفتن به جلسات آنهاست. (شما می‌توانید لینک‌هایی به فهرست‌های متعددی از گروه‌های کاربران را در سایت LDP واقع در ibiblio بیابید) در گذشته من گفته بودم که شما هیچ هکر واقعی را در IRC نخواهید یافت. ولی این موضوع اکنون تغییر کرده است. گروه‌هایی از هکرهای واقعی که به مسائلی مانند GIMP و Perl علاقه‌مندند اکنون صاحب کانال‌های IRC هستند.   س: آیا شما می‌توانید کتابهایی مفید در زمینه‌ی هک و موارد مرتبط به من معرفی کنید؟ ج: من گرداننده‌ی فهرست راهنماهای لینوکس هستم که ممکن است به درد شما بخورد. Loginataka نیز ممکن است برای شما جالب باشد. برای آشنایی با پایتون، مطالب نوشته شده در سایت پایتون را ببینید.   س: آیا برای هکر شدن لازم است ریاضیات خوبی داشته باشم؟ ج:نه. هکری از ریاضیات و جبر، کم استفاده می‌کند. بخصوص شما معمولاً به مثلثات، حساب دیفرانسیل و انتگرال و آنالبز عددی نیازی ندارید. (استثناهایی در این مورد در زمینه‌ی برخی از کاربردهای خاص کامپیوتر مانند گرافیک کامپیوتری وجود دارد.) دانستن منطق مجرد و جبر بولی خوب است. برخی از شاخه‌های ریاضیات متناهی (مانند تئوری مجموعه‌های متناهی، ترکیبیات و تئوری گراف‌ها) نیز می‌تواند مفید باشد. مهم‌تر از همه شما باید توانایی تفکر منطقی و دنبال کردن حلقه‌هایی با حالات مشخص را مانند ریاضیدانان داشته باشید. گرچه بیشتر شاخه‌های ریاضیات به شما کمکی نخواهند کرد، اما شما به نظم و هوشیاری برای به کار بردن ریاضیات نیاز دارید. اگر شما هوش کمی دارید، امید چندانی برای هکر شدن شما وجود ندارد. اما اگر شما انظباط کمی دارید، بهتر است که آن را زیاد کنید. به نظر من یکی از راه‌های خوب برای فهمیدن اینکه شما توانایی آن را دارید یا نه، تهیه‌ی یک کپی از کتاب ?What is the name of this book (اسم این کتاب چیست؟) نوشته‌ی Raymond Smullyan است. معماهای سرگرم کننده‌ی این کتاب به روح هکری بسیار نزدیک هستند. توانایی حل آنها نشانه‌ی خوبی است ولی لذت بردن از حل آنها بهتر است.   س: باید اول کدام زبان برنامه‌نویسی را یاد بگیرم؟ ج: XHTML (جدیدترین نسخه‌ی HTML). اگر شما از قبل آن را نمی‌دانید، تعداد بسیار زیادی کتاب با ظاهر فریبنده، بیش از حد فشرده و بد و متاسفانه تعداد کمی کتاب خوب برای HTML وجود دارد. یکی از کتابهایی که من بیشتر دوست دارم HTML: The Definitive Guide است. اما HTML یک زبان کامل برای برنامه‌نویسی نیست.اگر آماده‌ی شروع برنامه‌نویسی هستید، من توصیه می‌کنم با پایتون شروع کنید. مطمئناً شما افراد زیادی را خواهید دید که پرل را توصیه می‌کنند. مسلماً پرل هنوز پرطرفدارتر از پایتون است.اما پرل (به نظر من) برای یادگیری سخت‌تر و طراحی پایتون از آن بهتر است. زبان سی بسیار مهم است اما از پایتون و پرل بسیار سخت‌تر است. به عنوان اولین زبان برنامه‌نویسی سعی نکنید آن را یاد بگیرید. اگر شما کاربر ویندوز هستید، به ویژوال بیسیک قانع نشوید. ویژوال بیسیک شما را به روش‌های بد برنامه‌نویسی عادت می‌دهد و قابل انتقال به سکوی دیگری نیست. از آن دوری کنید.   س: برای هکر شدن به چه نوع سخت‌افزاری نیاز دارم؟ ج: در گذشته کامپیوترهای شخصی تقریباً کم قدرت بودند و حافظه‌ی ضعیفی داشتند که این‌ها محدودیت‌های خارجی را به روند یادگیری هکرها تحمیل می‌کردند. اما از چند وقت پیش دیگر اینگونه نیست. هر سیستم بالاتر از 486DX50 برای کارهایی مانند توسعه‌ی نرم‌افزارها، اجرای X Window و ارتباطات اینترنتی به قدر کافی قدرتمند است. کوچکترین هارد دیسکی که امروزه می‌توانید تهیه کنید، به قدر کافی بزرگ است. مهم‌ترین مسئله‌ای که باید در انتخاب یک سیستم بدانید این است که آیا سخت‌افزار آن با لینوکس (یا BSD، اگر بخواهید از آن استفاده بکنید) سازگاری دارد یا نه. این نیز برای اکثر سیستم‌های جدید صادق است. تنها قسمت مشکل‌ساز در این زمینه مودم است. بعضی از سیستم‌ها سخت‌افزارهای مخصوص ویندوز دارند که با لینوکس کار نمی‌کند. یک فهرست پرسش‌های متداول در مورد سازگاری سخت‌افزارها وجود دارد. این جدیدترین نسخه‌ی آن است.   س: من می‌خواهم در یکی از پروژه‌ها همکاری کنم. آیا شما می‌توانید در انتخاب یک پروژه به من کمک کنید؟ ج: نه! به دلیل آنکه من میزان هوش و علاقه‌مندی شما را نمی‌دانم.شما باید خودتان انگیزه‌ی لازم را برای این کار داشته باشد


دسته‌بندی نشده

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

کلمه کلیدی را وارد کنید :

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *