零基礎怎麼做黑客?

本人超級小白,想了解學習黑客,要學習那些基礎知識,有什麼好的教程或者方法呢

相關問題:

黑客如何學起?

想成為網路安全技術愛好者(可能是黑客)的話,需要看什麼書?

自學成才的黑客(安全研究員)是從哪學到那些知識的?

如何成為一名白帽子黑客?

你是如何成為一個 Hacker 的?

如何成為一名優秀的黑客?


黑客也分很多領域,這裡先不講門檻較高的系統領域的安全【因為我也不會……】,講下Web下的安全。

首先大喊一句!Python大法好!

零基礎的話建議從Python這種語法簡單腳本語言入門,Python入門可以看這裡。

Python教程,簡明 Python 教程。

好的,當你入門Python語法後你可以去閱讀那些dalao們寫的庫,論對一個網站滲透首先應該收集他的信息,因為只有收集一個網站信息才能針對攻擊。那麼Python爬蟲就是一大利器,利用爬蟲收集一個網站的架構是非常重要的。首先是大名鼎鼎的Scrapy。scrapy/scrapy

當然這裡不講scrapy,因為我比較喜歡用Python3,有請 非轉基因的 Python HTTP 庫 requests!

Requests: 讓 HTTP 服務人類 以及美味湯!Beautiful Soup 4.4.0 文檔 ,利用Requests和Beautiful Soup可以爬到一個網站的架構,比如你想識別網站指紋信息,你可以用提取出的文檔進行正則表達式匹配,嘗試匹配下面Dom節點

&

又或者可以去嘗試訪問下網站的robots.txt,查看是否有敏感目錄,或者暴露了CMS。

嗅探一個網站的IP時候可以用Ping http://hostname.com 這種方法,或者用nslookup http://hostname.com dns,不過現在大多數使用了CDN,真實IP也不是很好找了。當然這些操作可以集成到你的Python腳本里。IP找完,可以嘗試找找開放了哪些埠,在Python腳本里造一個埠List,然後使用secdev/scapy進行發包 FB上有這麼一篇文章很不錯 [如何用Scapy寫一個埠掃描器? - FreeBuf.COM | 關注黑客與極客] 最後Requests.headers里可以在響應包里找到Server名字。做完了這些你想找下網站的後台路徑,又或者你找到了登入點想爆破他但苦於沒有字典,看這裡 rootphantomer/Blasting_dictionary Requests就可以做到,記得要用Proxies選項。

說到黑客你第一聯想是什麼,大概就是DDos吧【《破壞之王ddos攻擊與防範深度剖析》】感覺電視報道老是有這個名詞。你會使用Requests瘋狂進行Sql查詢請求,你會使用Scapy庫進行Syn泛洪攻擊,但你總感覺少了點什麼。沒錯作為黑客掌握TCP/IP協議是非常重要的 《TCP/IP詳解 卷一》, 當然我承認這本書有些枯燥,所以我們使用Wireshark配合食用,一邊分析一邊學習。關於那本HTTP聖經實在太厚了,以後說不准你還會當磚頭敲人:) 所以我推薦了解Http協議看這本 《圖解http》當然你有興趣的話看下《CCNA學習指南》也是很好的。

關於嗅探方面其實前人早就寫出了超強的工具,比如Nmap,Whatweb,知道創宇的ZoomEye也是非常厲害的工具,有興趣可以自己找資料學習。這裡要講下為什麼滲透前要收集信息,一個網站可以由很多模塊組成,假如一個模塊出現了漏洞,那麼整個系統就會遭殃,畢竟通往許可權的路不止一條[括弧笑],如果這個網站的伺服器版本過老,那麼你可以用網上存在的0day攻擊,分分鐘教他做人,其他模塊同理。你甚至可以模擬一個網站的搭建環境,自己本地測試 【過多請求人家直接ban了你,你也就乾瞪眼了23333】

接下來講下OWASP幾個高危問題吧,Sql注入,以前非常l普通的高危漏洞,現在基本沒啥了。我認為原理在於輸入點,未凈化用戶輸入的內容,將數據以命令的方式進行執行,簡單來說你就在一個輸入點不停執行sql查詢命令,把這個網站什麼用戶信息,什麼密碼都給倒出來。Sqlmap應該是sql注入最強大的工具了,網上有很多食用資料。Github有源碼可以自己閱讀,學習payload sqlmapproject/sqlmap ,看完怕不是通殺Sql注入漏洞。當然你也可以寫個Python腳本自己簡單檢測下網站是否存在sql注入,然後用sqlmapapi進行批量執行。

XSS,關於這個需要有一定的javascript基礎,推薦看 《javascript dom編程藝術》,我認為,xss也是對輸入點未凈化造成的,比如

&

這個地方value是你可以控制閉合的。前提是未過濾,這樣你就可以騰出來空間執行自己腳本,當然xss這玩意姿勢很多,我一個菜鳥就不獻醜了,推薦這裡 華西安全網--wooyun漏洞報告平台搜索--烏雲WooYun鏡像站 作者良心啊!

長短短在Github上分享了他的xss思路圖,我不知道能不能貼出來就先不貼了……

至於其他類似邏輯漏洞和路徑遍歷等等漏洞,一會在下面列出的書去學習吧 :)

說下工具吧,sql注入的神器 Sqlmap,收發包神器Burpsuite,

其實安裝個kali linux比較方便,集成了很多安全工具,更有Metasploit大名鼎鼎的滲透框架。

嘛。linux學習肯定是必要的,當然初期我認為能使用常用命令就足夠了。《鳥哥linux的私房菜》可以當字典翻閱,沒事還能墊枕頭,實在不行還能砸人。

當然零基礎跟著一本書學習是很好主意。

重點講了前端安全問題的大作! 《web前端黑客技術揭秘》

能夠打開你的任督二脈倚天屠龍之作 《黑客攻防技術寶典 web實戰篇》

能讓你Python信仰加成的 《Python黑帽子》

你也許想像電影里的黑客那麼炫酷的 《Metasploit滲透測試魔鬼訓練營》

周末閑暇時光不如來一本 《社會工程:安全體系中的人性漏洞 》

最後一本 《黑客從入門到放棄》:-P

推薦一下Github上有助於新手的項目

We5ter/Scanners-Box

以及曾經的光芒

華西安全網--wooyun漏洞報告平台搜索--烏雲WooYun鏡像站

閑暇之餘為什麼不去FB喝杯酒呢

FreeBuf.COM | 關注黑客與極客

如果有錯誤請各位dalao指出。想到也就那麼多了吧,以後想到什麼再更新。求贊 (づ ̄ 3 ̄)づ


零基礎的話,有兩個建議:

  1. 找到自己想黑的目標。
  2. 在一段時間內完全投入進去,研究一切你可以接觸的資料,窮盡分析你遇到的每一個狀況。

講一個多年前的親身經歷:

大二時,參加學校的數模競賽,題目是啥我都忘了,只記得並不是原創的,在 Google 上搜索能搜到一些信息,但都僅限於題目本身,沒有解題思路更沒有答案。

不過搜索結果中,有一條鏈接引起了我的興趣。鏈接指向的北師大數學學院的學生作業提交系統,而該頁面所描述的題目正好就是一個類似題目,如果能拿到學生們提交的作業該多好啊,那時我想到。

在那個晚上之前,雖然有一點寫代碼的經驗,但完全沒有接觸過黑客相關的技術,所以什麼掃漏洞、埋馬、爆庫啥的肯定是別想了。

但不想放棄啊,研究了一下這個作業提交系統,發現有一個註冊入口。抱著研究的心態,進入了註冊流程,其中用戶名部分要求填寫學號,當時腦子抽風居然填了我在自己學校的學號進去。想必對於專業黑客來說,得笑話了,這不是留下蹤跡嘛。但正因為這個舉動,最終讓我獲取了想得到的信息。

用自己的學號註冊成功後,就進入到了作業提交系統里,功能很簡單,上傳作業,查看狀態,查看已提交的作業。憑我的能力,從上傳作業這裡找到漏洞進行攻擊是不可能啦;查看狀態也沒什麼用;查看已提交的作業,看起來也沒啥突破點,畢竟只能查看自己的作業。

山窮水盡了?還記得前面建議里提到的第二點嗎?「窮盡分析你遇到的每一個狀況」。

手賤點開「查看已提交的作業」,界面類似於文件瀏覽器。裡面按照作業題目建立了不同的文件夾,用來存放提交的作業。等等,我這不是新建的帳號么,怎麼有三個文件夾?難道是默認創建的空文件夾?點進去一個文件夾,發現下面有一個 PDF,下載打開,是一個學生提交的作業內容。

對於有經驗的黑客來說,看到這裡應該能想到這個系統的突破點在哪了。但對於當時不具備這種思路的我來說,還沒有意識到這意味著什麼。只是納悶怎麼新創建的帳號裡面就有文件了。一開始想到的解釋是:「這些是示例文件,給所有學生的模板」「有一些文件可以公開共享」「系統有 bug」。

前面兩個解釋對我來說都沒多大用,因為這三個文件夾對應的題目沒有我想找的那道題。對著屏幕抓頭之際,開始考慮這個系統有怎樣的 bug 才會導致新賬號能看到文件。

然後,就像柯南破案時畫面中閃過的閃電,嗖的一下,前後幾個線索一下就聯繫起來了。迅速註冊了幾個新賬號來驗證這個想法,果真如此,沒多久就拿到想要的那道題目的作業。

那麼這個想法到底是啥呢?說起來也確實很奇葩:

  1. 該系統的設計者在寫註冊新賬號邏輯時,居然沒有校驗新賬號中的學號之前是不是已經在資料庫存在。

  2. 貌似其資料庫沒有自增的 id 作為主鍵,而是直接用學號作為每一行的主鍵標識。
  3. 北師大的學號規則居然恰好和我校是一樣的。
  4. 綜上,得出一個結論:註冊新賬號時,如果填寫了之前就存在的學號,那麼系統將把你填寫的密碼覆蓋到之前的那行數據上。相當於直接擁有了之前那個學號的所有許可權。註冊新賬號功能,變成了一個隨意重置密碼的功能,也是夠了……
  5. 北師大的學號與對應學院的關係,在網上很容易搜出來,什麼運動會獲獎公告、獎學金髮放公告啥的。
  6. 大致看了看那道題目的發布時間,構造了幾個當時在讀的數學學院不同年級的學號,在其中一個大三的帳號里發現了作業內容。

所以你看,要黑一個系統,不一定要去下一堆工具把自己搞成肉機,也不一定要寫代碼。關鍵是你對於目標的研究是否透徹,能否提出假設,並去實踐。

這個研究和實踐的過程,才是最大的樂趣。遠比你拿個暴力工具突突突好玩多了。


搬cos大人推薦的

知道創宇研發技能表v2.2

http://blog.knownsec.com/Knownsec_RD_Checklist/v2.2.html

還有以下個人喜歡的網站

FreeBuf.COM關注黑客與極客

cnBeta.COM_中文業界資訊站

【程序猿出沒注意】4月精品計算機課程合集

T00LS - 專註網路安全

SecWiki-安全維基,彙集國內外優秀安全資訊、工具和網站

WooYun知識庫

吾愛破解論壇-LCG-LSG|軟體安全

對了 我還訂閱了《碼農周刊》

—————————————————————以上資源

知乎有大牛存在

我就不一一列舉你留心就會有發現的

並且他們回答了很多關於計算機安全方面的問題

一定對你有幫助

最後,如果題主真的對這方面有興趣,入門一定不難,一起加油!!共勉^_^


不知道你說的黑客是哪個方面,我暫且當做安全吧。首先是一些基礎知識,編程、腳本、資料庫、協議。軟安的話還需要懂OS。然後是一些常見的攻擊方式,xss、sqli、邊界繞過等等。剩下就是多看多練。善用搜索引擎。沒了。


多上網啊。先學會上網,逐漸用學的的東西解釋上網時遇到的現象。試著去突破限制,失敗的話想明白為什麼。等你遇到過足夠多的奇葩環境並且都儘力繞過或打破之後就厲害了。


1. 如果真是零基礎,可以從編程開始學起。不懂編程的算不上黑客...


可以看看我這個:

你可以這樣踏入"WEB滲透"的大門。 - Th3ee的文章 - 知乎專欄


不知你所說的黑客指的是什麼。

參考方法1:

以下指可以了解和使用部分網路漏洞去做些事情,可以發現和修復部分漏洞。

個人推薦從搜索和cmd命令開始:

1.搜索:百度一下你想要知道的各種基本名詞,了解它們是幹什麼的,如:大馬,小馬,3389,sql注入,資料庫……你要知道這些是什麼,記不住不明白不重要,需要的時候百度一下。

2.接下來試試cmd命令,有很多,具體百度一下,最好常用的幾個要明白是幹什麼的,在這個過程你會學到很多東西,如telnet是什麼,怎麼樣用,ping是幹什麼的,ipconfig是什麼等。

3. 過了這個階段可以接觸編程了,不建議易語言,推薦C語言,這個階段學習編程語法,構建編程思想(簡單理解為就是計算機是怎麼執行代碼的,代碼的邏輯即可,高深的以後再接觸了解)。學習完基本語法的時候多用C語言做些數學題目(不需要你用C語言做出多牛逼的東西,只要能夠用於解數學題就夠了,你要了解的是原來這就是編程,編程就是這樣的)。

4. 在學習C的同時接觸html,可以用dreamweaver做一些基本的網頁就可以了,最重要的是理解到html裡面哪些body,div,a什麼的是什麼,起什麼作用就可以了,接著是javascript,css等。

5. 最後你可以考慮接觸一門面向對象的客戶端編程語言和一門網頁編程語言。

客戶端編程語言,如java,C#,VB等都可以,選一個,學習後你就可以寫一些簡單的小程序,當你可以寫一些小程序的時候你就可以去惡補計算機安全知識,了解盜號木馬,病毒是怎麼樣運行的,試試寫一個,了解漏洞的形成原因試試去下載些exploit來測試,這個時候可以學python,perl等語言(因為很多漏洞exp都是用這些寫的)。

網頁編程語言可以考慮java或php,選一個,學習基礎知識後你可以用它來寫一些小的動態網頁,同時了解sql注入,xss,越權等漏洞的形成原因和利用方式,接著就開始各種測試吧。

6. 如果上面都ok了,那麼就可以逛逛各種有名的論壇,看最新的資訊等,學習新的東西或那時候自己感興趣的東西,把之前完全不明白的弄清楚。

把編程和網路安全結合的學習路線,你會更明白在什麼情況下會產生漏洞,怎麼利用,怎麼樣更簡單地揪出系統漏洞,這時候你便是一名黑客了,但是後面的路還很長。

參考方法二:

去各種網站下XX黑客教程,泡論壇,跟著視頻裡面的做,學習怎麼掛馬,谷歌黑客,啊D明小子批量掃注入點,刷鑽,木馬盜QQ,學一下易語言,跟著教程寫些小程序。

隨著時間的推移,不斷跟著教程來你也可以得到不少知識,不過有些散,有些不明白,但是這不重要,你會了入侵網站,盜號等,你也可以在一些論壇和Q群說自己是黑客,順帶著還可以收徒,把自己學的那一套教給下一個想當黑客的小白,不過在那之前最好要學會作勢:如花點錢買個QQ靚號,把業務圖標都點亮了,空間可以請人來美化,接著去複製一些技術性文章(不要忘了把作者聲明等去掉),找黑客相關的群全部加了,多關注類似烏雲網這樣的網站,遇到可以宣傳自己的地方就直接拿來用(記得以前有cctv某子站有某雞肋上傳漏洞公開,就是上傳文件但是不執行,於是有個人去把自己QQ簡介截圖,然後 傳上去,然後等啊等終於在頁面輪播到他的QQ了,於是果斷截圖發Q群,論壇和貼吧:「cctv被我黑了,有圖為證」之類的東西)。

你也會編程,會用易語言寫一些釣魚軟體,然後傳到各個Q群等待受害者上線。

這樣也算是現在黑客的一種,但是個人及其不推薦。

最後不要說上面說的是駭客,不是黑客,黑客是XX………………

現在的網路上很多人說的黑客就是各種以前所說的駭客,如各種標題如:求黑客盜某QQ,黑客拿站的聯繫等。

以前的叫黑客的那群人現在叫白帽子,叫網路安全工程師。以前叫駭客的那群人現在叫黑客,至於現在叫黑客那群人,現在叫混娛樂圈的。


這是一位黑客寫的,拜讀他的文章後,非常認同他對黑客的理解。(是位美國人,原來文章是英文版。這裡的鏈接是中文版。禁止商業轉載)

http://idarkside.org/docs/hacker-howto.html#hacker_already

2017.4.23更新

文章較長 以下為原文:

如何成為黑客 · Dark Side

如何成為黑客

如何成為黑客

How To Become A Hacker

Eric Steven Raymond, Thyrsus Enterprises, &< esr@thyrsus.com &>

Copyright ? 2001 Eric S. Raymond

翻譯:柯非, &< zer4tul@gmail.com &>

這篇譯文基於2015.07.19更新的原文修訂版1.50。

如果對譯文有任何意見或者建議,請發Issue,或直接發Pull Request給我。

目錄

  • 為何會有這篇文檔
  • 什麼是黑客
  • 黑客的精神
    • 1. 世上仍有大量迷人的事情等待解決
    • 2. 同樣的問題不應被重複處理兩次
    • 3. 拒絕重複和沉悶的事情
    • 4. 自由萬歲
    • 5. 精神不能代替能力
  • 基本黑客技能
    • 1. 學習編程
    • 2. 獲取一個開源的Unix並學習運行和使用它
    • 3. 學習使用萬維網(World Wide Web,WWW)和HTML(超文本標記語言)
    • 4. 學習實用英語
  • 黑客社區的身份
    • 1. 編寫開源軟體
    • 2. 幫助測試和調試開源軟體
    • 3. 發布有用的信息
    • 4. 幫助維護基礎設施運轉
    • 5. 為黑客社區服務
  • 黑客與書獃子(Nerd)的關係
  • 風格
  • 歷史記錄:黑客活動,開源,和自由軟體
  • 其他資源
  • 常見問題

http://www.catb.org/%7Eesr/faqs/glider.png

為何會有這篇文檔

身為新黑客詞典(The Jargon File)和許多其他廣為人知的同類文章的作者,我常收到熱心的網路新人的電子郵件,問及(大意上是)「如何成為一名魔法師似的黑客?」。1996年的時候我注意到這個重要的問題並沒有相關的FAQ或文檔頁面,所以我寫了一份。許多黑客認為這篇文章是權威的,我覺得它應該是吧。此外,我不會尋求在這個話題上的獨立著作權,如果你不喜歡在這裡讀到的內容,自己寫一篇吧。

如果你是在離線閱讀本文,可以在http://catb.org/~esr/faqs/hacker-howto.html找到本文的最新版本。(譯註:本文的最新中文版可以在這裡找到)

注意:本文的末尾有一系列常見問題。請在向我發郵件詢問關於本文的任何問題前 再三閱讀

目前本文有許多語言的翻譯版:阿拉伯語,白俄羅斯語, 中文,捷克語,丹麥語,荷蘭語,愛沙尼亞語,德語,希臘語,義大利語,希伯來語,挪威語, 波斯語,巴西葡萄牙語,羅馬尼亞語,西班牙語,土耳其語,瑞典語。請注意,由於本文不定期更新,這些翻譯版可能存在不同程度的過時。

本文里九宮格中的5個黑點的裝飾圖被稱作glider。這是一個使很多黑客多年痴迷的被稱作康威生命遊戲(LIFE)中,具有令人驚奇特性的簡單圖案。我認為它是很好的黑客精神徽章 —— 抽象,初見的時候感覺有點神秘,通過它複雜的邏輯可以通向整個世界。如果你想了解更多關於glider的信息,請看這裡。

如果你覺得這篇文章有價值,請在Gittip上給我一點贊助。也請考慮贊助其他為你提供了有價值代碼的黑客。小額的贊助也能夠聚小流成江海,使為你提供幫助的人從繁重的勞動中解放出來,創造更多的價值。

http://www.catb.org/%7Eesr/faqs/glider.png

什麼是黑客?

新黑客詞典(Jargon File)中有數個「黑客」的定義,主要形容」技術專才」或」有志解決問題及超越極限之人」。要成為黑客,有兩個要點。

這可以追溯到幾十年前第一台分時小型電腦誕生, ARPAnet 實驗也剛展開的 年代,那時有一個由程序設計專家和網路名人所組成的, 具有分享特點的文化社群。 這種文化的成員創造了 「hacker」 這個詞。他們建立了互聯網,他們發明了現在使用的Unix操作系統。他們管理Usenet討論組。他們令WWW運作。因此,若你有上述的特性及參與同類的社區,亦有對以上種種作出貢獻,同時社區的人知你是誰又稱你為「hacker」,你便是黑客。

然而,黑客的理念並非只局限於軟體社區。有很多人將黑客的態度應用於其他事物,如電子或音樂上——實際上,黑客的理念存在於任何科學及文學。由於了解黑客的理念及精神,軟體社區的黑客亦會稱後者為黑客。有些人亦認為黑客的理念是獨立於黑客所從事的媒體。然而,我們將在這篇文章專註討論軟體黑客的技巧,態度及傳統。

另外,有一群人亦稱自已為「黑客」,他們(多數是年青人)用電腦侵入其他電腦的系統作出破壞。黑客們稱這群人為「Cracker(破壞者)」,亦不認同他們為黑客。多數黑客會認為Cracker是懶惰, 不負責任,不傑出的人。有能力侵入安全系統並不能使你成為黑客,正如可以用鐵絲來偷車並不能使你成為汽車工程師一樣。不幸的是很多作家及報道均稱這群人為「黑客」。這一直使黑客們非常惱火。

黑客與Cracker的主要區別在於,前者搞建設,後者搞破壞。

如果你想成為一個黑客,請繼續讀下去。如果你只想做一個Cracker,請到alt.2600討論組,並做好當你發現自己不如想像中聰穎的時候進5到10次監獄的準備。關於Cracker我就說這麼多。

http://www.catb.org/%7Eesr/faqs/glider.png

黑客的精神

  1. 世上仍有大量迷人的事情等待解決
  2. 同樣的問題不應被重複處理兩次
  3. 拒絕重複和沉悶的事情
  4. 自由萬歲
  5. 精神不能代替能力

黑客們解決問題,建設事物,他們崇尚自由和無私的雙向幫助。要被他人承認是一名黑客,你必須表現得你具備了這樣的態度。而要表現得你具備了這種態度,你必須徹徹底底的堅持它。

如果你認為培養黑客的態度只是一條在這個文化圈中得到認同的路子,那就錯了。成為具備這種素質的人對 ?非常重要 —— 使你保持學習和成為黑客的自發性。正如所有創造性藝術一樣,成為大師的最有效途徑就是效仿大師的精神——不僅從理念上,還要從態度上效仿。

或許下面的這首現代禪詩很好的闡述了這個意思:

To follow the path:
沿著這樣一條道路:
look to the master,
關注大師,
follow the master,
跟隨大師,
walk with the master,
與大師同行,
see through the master,
洞察大師,
become the master.
成為大師。

如果你想成為一名黑客,反覆閱讀以下內容直到你相信它們:

1. 世上仍有大量迷人的事情等待解決

作為一名黑客可以享受很多樂趣,同時需要付出相當多的努力。努力需要動力。成功的運動員從鍛煉身體、超越身體極限中獲得精神愉悅。類似的,作為一名黑客,你可以從解決問題、磨練技術和鍛煉智力中獲得樂趣。

如果你天生不是這樣的人,那你需要設法變成這樣的人以使你能夠成為一名黑客。否則你將會發現你的精力會被諸如性、金錢、社會上的虛名之類讓人分心的東西所消磨掉。

(你還需要對自己的學習能力樹立信心——相信儘管你對某一問題了解得不多,只要你能解決其中一部分,並從中學習,你可以解決其他的部分——直到解決它。)

2. 同樣的問題不應被重複處理兩次

創造性的智慧是非常有價值且稀缺的資源。它們不應當被浪費在重複發明輪子上,世上仍有大量迷人的新問題等著解決。

作為一名黑客,你應該堅信其他黑客的時間非常寶貴——所以你有義務共享信息,解決問題之後公布方案,這樣其他人可以去解決新的問題,而不是忙於應付舊問題。

注意,「同一個問題不應該被重複處理兩次」並不是說你必須認為所有已有方案都是最優的,或每個問題只有唯一的解決方案。通常我們從一個問題的最初解決方案中能夠學習到很多東西。這很好,並且對於我們思考如何能做得更好來說,這通常是必要的。我們反對的是人為的技術、法律上的,或者機構性的設置障礙(例如閉源軟體),使得一個好的方案不能被重複使用,逼得人們重造輪子。

(你不必認為你必須將 所有 你的創造發明都公布出去,雖然這樣做的黑客將會贏得大家極度尊重。適當賣一些錢來換取足夠的食物、租金和電腦並不違反黑客的價值觀。用你的技能來養家餬口甚至致富都可以,只要你在做這些的時候別忘記你是一名黑客。)

3. 拒絕重複和沉悶的事情

黑客(以及富有創造力的所有人)不應當被愚蠢的重複性勞動所困擾,因為這意味著他們並沒有在做只有他們才能做的事情——解決新問題。這樣的浪費會傷害所有人。因此,無聊和乏味的工作不僅僅是令人不爽,而是罪惡。

作為一個黑客,你應該堅信這一點並儘可能的將枯燥的工作自動化,這不僅僅是為了你自己,也為了其他人(尤其是其他黑客)。

(這裡有一個例外。黑客有時會做一些看起來重複或枯燥的事情以進行腦力休息,或以此來鍛煉一種技能,或以此獲得某種除此以外無法獲取的經驗。但這是有選擇的——有腦子的人不該被強迫做枯燥的事。)

4. 自由萬歲

黑客是天生的反獨裁主義者。 任何能向你發號施令的人能夠迫使你停止解決令你著迷的問題。 同時,按照獨裁者的一般思路,他通常會給出一些極端愚昧的理由。因此,不論何處,任何獨裁主義的作法,只要它壓迫你和其他黑客,你就要和它斗到底。

(這並非向所有權威挑戰。兒童需要監護,罪犯要被看管起來。如果服從命令得到某種東西比起用其他方式得到它更節約時間,黑客可以同意 接受某種形式的權威。但這是一個有限度的,有意的交易;那種權威想要的個人服從不是你應該同意給予的。)

權威喜歡審查和保密。他們不信任自願的合作和信息共享——他們只喜歡由他們控制的所謂「合作」。因此,作為一個黑客,你得對審查、保密,以及使用武力或欺騙去壓迫有行為能力的人們的做法有一種本能的敵意。 同時你要有為此信念鬥爭的意願。

5. 精神不能代替能力

作為一個黑客,你必須培養起這些精神。但是僅僅有精神並不能使你成為黑客,也不能使你成為運動健將或搖滾明星。成為一名黑客還需要智力,實踐,奉獻精神和辛勤工作。

因此,你需要學會有懷疑態度和尊重任何能力。黑客不會為裝模作樣的人浪費時間,但他們尊重能力——尤其是從事黑客工作的能力,不過任何能力都是好的。很少人能具備的高要求能力尤其好,其中涉及腦力,技巧和專註方面的能力最好。

尊重能力,你就會享受到提高自己的能力所帶來的樂趣——辛苦的工作和奉獻將不再是苦差而是一種高度娛樂。想要成為一名黑客,這一點尤其重要。

http://www.catb.org/%7Eesr/faqs/glider.png

基本黑客技能

  1. 學習編程
  2. 獲取一個開源的Unix並學習運行和使用它
  3. 學習使用萬維網(World Wide Web,WWW)和HTML(超文本標記語言)
  4. 學習實用英語

黑客的態度很重要,但技能更重要。態度不能替代能力,在被別的黑客稱你為黑客之前,你有一些基本技能需要掌握。

這些基本技能隨著時間的推移和技術的革新也緩慢的變化著。例如以前的內容中包括了使用機器語言編程,最近包含進了HTML。總的來說當前包括以下內容:

1. 學習編程

理所當然,這是最基本的黑客技能。如果你一門計算機語言都不懂,我建議你從Python學起。它設計良好,文檔詳盡,並且對新人十分友好。儘管它是一門很好的入門語言,但它不只是玩具水平。它非常強大靈活,並且適用於大型項目。我寫過一篇詳細的對Python的評價。在Python的網站可以找到很好的教程。在Computer Science Circles也有一篇不錯的第三方教程。

我早前曾經建議使用Java作為入門語言,但這篇評價改變了我的看法(請在文檔中搜索「The Pitfalls of Java as a First Programming Language」)。如同文中尖銳指出的一樣,一個黑客不能「像五金店中的管道工一樣處理問題」。你需要知道所有的組件事實上都 幹了什麼。現在,我認為最好先學C和Lisp,然後再學Java。

另外有一點需要注意。如果一門語言幫你做了太多工作,它會同時是一個好的生產工具和一個不好的初學對象。不僅語言有這個問題,Web框架比如RubyOnRails,CakePHP,Django也很容易讓你流於表面,面對困難問題的時候束手無策,甚至無法對一個簡單問題進行追查並給出解決方案。

如果你需要做一些重要的編程工作,你需要學習C語言,它是Unix的核心語言。C++跟C關係密切。如果你了解其中一種,學習另外一種應該不難。但是這兩種語言都不適合作為入門學習。此外,如果你越避免用C編程,你的工作效率會越高。

C的執行效率非常高,並且非常節省機器資源。不幸的是C的高效是通過讓你手動進行許多底層資源(例如內存)管理來獲得的。底層代碼複雜並且容易出bug,你需要花費很多時間來進行調試。鑒於當今的機器性能如此之高,這樣的做法通常很不划算——通常更好的做法是使用一種稍微慢一些,不那麼高效,但是能夠 大幅 節省你的時間的語言。那便是Python。

其他對黑客而言比較重要的語言包括Perl和LISP。Perl很實用,它廣泛應用於動態網頁和系統管理方面,因此即使你從不寫Perl代碼,至少也得能看懂。許多人使用Perl的理由和我建議你使用Python的理由一樣,都是為了避免用C完成那些執行效率需求不那麼高的工作。你需要能夠看懂他們的代碼。

LISP之所以值得一學是基於另外的理由——當你最終掌握了它的時候,你將會獲得巨大的啟迪。它將使你成在今後為一個更好的程序員,即使你實際上很少使用LISP本身。(你可以通過為Emacs文本編輯器或者GIMP的Script-Fu編寫插件或修改現有插件來很容易的學習LISP。)

當然,你最好五種語言都會(Python,C/C++,Java,Perl和LISP)。除了是重要的黑客語言之外,它們也代表了截然不同的編程思路和方法,每一種都能讓你受益匪淺。

但是單純的堆砌語言是不可能成為一個黑客,甚至程序員的。你需要學會如何獨立於任何具體的語言之外來思考編程問題。作為一名真正的黑客,你需要通過手冊和你已有的知識掌握到在幾天之內學會一門語言的要點。這意味著你需要學習許許多多不同的語言。

這裡我無法給你完完全全的指導教會你如何編程——這是個複雜的技能。但我可以告訴你,書本和課程也不能作到(最好的黑客中,有許多,也許 幾乎 都是自學成材的)。 你可以從書本上學到語言的特點——這只是皮毛,但要使書面知識成為自身技能只能通過實踐和虛心向他人學習。因此要作到(1) 代碼及(2) 代碼。

Peter Norvig,Google最頂級的黑客之一,也是世界上最受歡迎的AI教材(譯註:指「人工智慧:一種現代方法」和「人工智慧程序設計範例:通用Lisp語言的案例研究」等)的共同作者。他寫了一篇名為Teach Yourself Programming in Ten Years的短文。他在文中提到的「編程成功的訣竅(recipe for programming success)」特別值得留意。

學習編程就像學慣用優美的自然語言書寫一樣。最好的辦法就是閱讀大師的名著,試著自己寫點東西,再讀一些,再寫一點,再讀一些,再寫一點……如此往複,直到你的作品達到如你在範文中所見的簡潔和健壯。

我必須再提一下How To Learn Hacking,這是一些簡單的說明,但是學起來並不容易。

以前很難找到適合閱讀的好代碼,因為幾乎沒有大型程序的代碼能夠供新人閱讀和練手。這種情況已經發生戲劇性的變化。開源軟體,編程工具和操作系統(都是由黑客創造的)現在隨處可見。這剛好帶我們到下一個話題……

2. 獲取一個開源的Unix並學習運行和使用它

我假定你擁有或者能使用一台個人電腦(現在的孩子真幸福。黑客文化建立之初電腦貴得要死,沒人買得起)。新手們向黑客技能邁出的最重要一步就是獲取一份Linux或BSD-Unix的拷貝,將其安裝在個人電腦上,並運行它。

沒錯,世上除了Unix還有其他操作系統。但它們都是以二進位形式發布的——你讀不到源碼,你也不能修改代碼。在類似Microsoft Windows那樣的閉源操作系統上學習黑客技術就像戴著腳鐐學跳舞。

在Mac OS X上倒是可以,不過它只有一部分是開源的——你可能會撞牆,也必須很小心的避免養成依賴Apple專有代碼的壞習慣。如果你專註於底層的Unix,你可以學到一些有用的東西。

Unix是互聯網上的操作系統。雖然你不懂Unix仍然可以學會使用互聯網,但若你不懂Unix,你將不能在互聯網上從事黑客活動。因此,現今的黑客文化是嚴重以Unix為中心的。(曾經不是這樣,並且有一些老派的黑客對此仍然感到不太高興。但是現今Unix和互聯網的羈絆如此之強,連Microsoft也無法撼動分毫。)

所以,請安裝一套Unix - 我個人喜愛Linux但還有其他種類的(並且,你 可以 在同一台電腦上運行Linux和Windows)。學習它,使用它,調教它。用它在互聯網上衝浪。閱讀它的代碼,修改它的代碼。你將獲得比Windows操作系統上更好的編程工具(包括C,LISP,Python和Perl)。你會覺得其樂無窮,學到比你想像更多更好的知識。

想要獲取更多和學習Unix相關的信息,請參考Loginataka。你或許還想看看[Unix編程藝術][The Art Of Unix Programming](譯註:這裡給出的是原文鏈接。國內有翻譯版出售)。

我認為博客Let』s Go Larval!對於處在學習Linux階段中的用戶是非常易懂和有用的。 這篇文章How I Learned Linux 就是一個很好的起點。

想開始Linux之旅,請參考Linux Online!。你可以從那裡下載Linux或者(更好的主意是)找到一個當地的Linux用戶群為你的安裝過程提供幫助。

在本文最初的10年間,我認為從一個初學者的角度來說,所有Linux發行版都差不多。不過在2006~2007年間,一個事實上最好的選擇出現了:Ubuntu。其他發行版各有所長,而Ubuntu對初學者最友好。注意,相比Ubuntu默認那個醜陋的幾乎不可用的「Unity」桌面,Xubuntu和Kubuntu更好用一點。

你可以在www.bsd.org找到BSD相關的幫助和資源。

一個試水的好辦法是試試被Linux愛好者稱為「Live CD」的東西,那是一個完全在光碟上運行,而不修改你硬碟的發行版。它運行起來比較慢,因為光碟很慢,但是這是一個在做出任何不可挽救的改變前看看可行性的辦法。

我寫過一篇關於Unix和互聯網基礎的入門文章。

我曾經不建議新手獨自安裝Linux或者BSD。現在它們的安裝程序已經做得足夠好,你作為新人也完全搞得定。儘管如此,我仍然建議和你當地的Linux用戶群取得聯繫並尋求幫助。這沒壞處,並且可以讓整個過程更順利。

3. 學習使用萬維網(World Wide Web,WWW)和HTML(超文本標記語言)

大多數的黑客造物在你所不知的地方發揮著作用,幫助工廠、辦公室和學校運轉,這看上去跟普通人沒太大關係。Web是一個大大的例外,即便 政客 也承認這個巨大耀眼的黑客玩具正在改變著世界。單就這一個原因(當然還有其他理由)你就需要學習掌握Web。

這並不僅僅意味著如何使用瀏覽器(誰都會),而是要學會如何寫HTML,Web的標記語言。如果你不會編程,寫HTML會教你一些有助於學習的思考習慣。因此,先完成一個主頁。嘗試堅持使用XHTML,一種比標準HTML更清晰的語言。(Web上有很多很好的初學者指南,例如這個)。

但僅僅擁有一個主頁不能使你成為一名黑客。Web里充滿了各種網頁。大多數是毫無意義的,零信息量的垃圾——界面時髦,能奪人眼球的垃圾還是垃圾(更多信息訪問The HTML Hell Page)。

所以,你的頁面必須有內容——得是有趣並且/或者對其他黑客來說有用的內容。這是我們下一個議題要說的……

4. 學習實用英語

作為一個美國人和一個以英語為母語的人,我以前很不情願提到這點,免得成為一種文化上的帝國主義。但相當多以其他語言為母語的人一直勸我指出這一點,那就是英語是黑客文化和Internet的工作語言,你需要懂得以便在黑客社區順利工作。

大概1991年的時候我了解到許多黑客在技術討論中使用英語,即使在他們的母語都相同,英語對他們而言只是第二語言的時候也常如此。據我所知,當前英語有著比其他語言豐富得多的技術辭彙,因此是一個對於工作來說相當好的工具。基於同樣的理由,英文技術書籍的翻譯(如果有的話)通常都不能令讀者滿意。

芬蘭人Linus Torvalds用英語注釋他的代碼(很明顯這不是湊巧)。他流利的英語成為他能夠管理全球範圍的Linux開發人員社區的重要因素。這是一個值得學習的例子。

即使作為一個以英語為母語的人也不代表你就具備了成為黑客所需的語言技能。一般而言,如果你寫得象個半文盲似的,文中充斥著各種語法、拼寫錯誤,多半得不到理睬。雖然不嚴謹的文筆並不總是意味著不嚴謹的思維,但我們發現這兩者之間的關聯還是挺緊密的。而我們不需要這種思維不嚴謹的人。如果你現在還沒有具備這樣的書寫能力,趕緊培養。

http://www.catb.org/%7Eesr/faqs/glider.png

Status in the Hacker Culture

  1. 編寫開源軟體
  2. 幫助測試和調試開源軟體
  3. 發布有用的信息
  4. 幫助維護基礎設施運轉
  5. 為黑客社區服務

象大部分非盈利社區一樣,黑客社區靠聲譽運轉。你設法解決有趣的問題,但問題是否有趣及解決方法是否有效,需要由那些和你具有同樣甚至更高技術水平的人去評判。

因此,要玩黑客這個遊戲,你需要以其他黑客對你技能的評判作為對自己的評價(所以我說,在其他黑客稱你為黑客之前,你不是一個真正的黑客)。這個事實常被人誤解(從1990年代後有所好轉,但還是很嚴重),人們認為黑客都是不在乎別人的評價,孤僻的人。這實際上是一個黑客文化的禁忌。

特別地,黑客被人類學家們稱為 奉獻社區。在這裡你不是憑藉你對別人的統治來建立地位和名望,也不是靠美貌,或擁有其他人想要的東西,而是靠你的奉獻。尤其是奉獻你的時間,你的創造力和你的技術成果。

要想獲得黑客的尊重,你基本上有5件事情可干:

1. 編寫開源軟體

首先(也是最傳統和最重要的)是寫一些其他黑客覺得有趣或有用的程序,並且開放源代碼。

(我們曾經把這些程序稱為「自由軟體(free software)」,但是太多人不能確定這裡的「free」是什麼意思。現在我們通常使用「開源」軟體這個詞。

黑客間最受尊敬的聖人是那些編寫了大型的,功能強勁且滿足了廣泛需求的開源軟體供他人使用的人。

但是這裡有段有趣的歷史。雖然黑客一直敬重開源軟體開發者,並且他們是我們社區的核心,但是直到1990年代中期,絕大部分黑客絕大多數時間是在閉源軟體上工作的。在我1996年寫本文的第一版的時候仍然如此。到1997年之後開源軟體逐漸成為主流並改變了這一點。現在,「黑客社區」和「開源軟體開發者」本質上是對同一文化和同一人群的兩種表述——但值得記住的是,曾經不是如此。(想了解更多,請看「歷史記錄:黑客活動,開源,和自由軟體」。)

2. 幫助測試和調試開源軟體

黑客也尊敬那些為開源軟體進行測試和除錯的人。在這個並非完美的世界上,我們不可避免地要花大多數的開發時間在調試階段。 這就是為什麼許多開源軟體作者都會高度評價那些好的beta測試員 (知道如何清楚描述出錯癥狀,很好地定位錯誤,能忍受快速發布中的bug,並且願意使用一些簡單的診斷工具),認為他們像紅寶石一樣珍貴。一個好的測試員可以使如惡夢的測試及除錯工作變為一件值得經歷的小煩惱。

如果你是個新手,試著找一個你感興趣的正在開發的程序,嘗試做一個好的beta測試員。 你會自然地從幫著測試,進步到幫著抓bug,到最後幫著改程序。你會從中學到很多,並且與未來會幫到你的人結下友誼。

3. 發布有用的信息

另一個好事是收集整理有用有趣的信息做成網頁或文檔如FAQ(常見問題)列表,且讓他們容易獲得。

技術性FAQ的維護者往往如同開源軟體作者一樣很受人尊重。

4. 幫助維護基礎設施運轉

黑客社區(也包括互聯網發展)是靠自願者組成的。有大量重要但平淡的事情需要處理——管理郵件列表,新聞組,維護大型軟體歸檔庫,開發RFC和其他技術標準等。

做以上事情的人會得到很多人的尊敬,因為大家都知道這些事情需要大量的時間並且不如編寫軟體那麼有趣。這類工作需要使命感。

5. 為黑客社區服務

最後,你還可以為黑客社區做服務和宣揚(比如寫一篇「如何成為黑客」的文章 :-))。通常你不會做這些工作,直到你已經做了以上四種中的一樣,並且取得了相當的知名度。

黑客社區沒有既定的領導者,但是有被人們尊重的英雄,長老級人物,史學家和發言人。當你在這個圈裡足夠久,你可能會成為他們中的一員。但請謹記,黑客對於自我誇耀的長老並不認同,因此不要嘗試大舉追求這種名譽。與其奮力追求,不如先擺正自己的位置,等它自己到你手中,那時需要做到謙虛和優雅。

http://www.catb.org/%7Eesr/faqs/glider.png

##黑客與書獃子(Nerd)的關係

與流行的傳說不同,黑客並不是書獃子。但這確實對你成為黑客有幫助,並且很多黑客確實是書獃子。做一個深居簡出的人有助於使你更能集中精力做一些重要的事,例如思考和從事黑客活動。

因此,許多黑客甚至以「極客(geek)」(譯註:這個詞原本在美國俚語中指「反常的人」)為名——這是一種宣布他們獨立於普通社會的方式(此外,黑客也通常沉迷於其他一些事情例如科幻和戰略遊戲)。「書獃子」這個詞通常在1990年代也被如此使用,那時候「書獃子」這個詞略含貶義,而「極客」貶義更重。2000年以後這兩個詞的關係發生了轉變,至少在美國流行文化上是如此,現在甚至在非技術專家中也出現了以標榜為極客為豪的情況。

如果你能集中足夠的精力做好黑客工作同時還能有正常的生活,這很好。現在做到這一點比我在1970年代還是新手的時候要容易的多;如今主流文化對技術怪人要友善的多。甚至有越來越多的人意識到黑客通常是很好的戀人和配偶侯選。

如果你因為生活上的不如意而成為黑客,那也不錯——至少你不用分神了。或許今後你能有一個不錯的生活。

http://www.catb.org/%7Eesr/faqs/glider.png

風格

重申一下,作為一名黑客,你必須進入黑客式思維模式。當你不在電腦邊的時候你仍然有很多有益的事情可做。它們不能替代真正的黑客活動(沒有什麼可以),但是很多黑客都這麼干,並且感到它們與黑客精神存在某些根本的聯繫。

  • 學會流暢的使用母語寫作。雖然認為程序員寫不好文章的誤解仍然很普遍,但是有數量令人驚訝的黑客(包括我所知造詣最高的那些)都是不錯的寫手。
  • 閱讀科幻小說。參加科幻聚會(一個接觸黑客和可能成為黑客的人的好方法)。
  • 加入黑客空間(hackerspace)並做一些東西出來(另外一個接觸黑客和可能成為黑客的人的好方法)。
  • 習武。武術的精神修鍊與黑客之道驚人的相似。黑客中比較常見的當然是亞洲的空手格鬥技巧,例如跆拳道、空手道及其變種、中國功夫、合氣道、柔術(譯註:這裡指的是日本傳統武術,而不是柔身術或軟功)。西方擊劍和亞洲劍術也有相當的追隨者。在持槍合法的地區,射擊從1990年代起也越來越受歡迎。與黑客之道最契合的武術是那些強調精神修鍊、放鬆意識,強調控制而不是單純的蠻力的類型。
  • 學習一種冥想修鍊。黑客中一直以來最受歡迎的是禪(很重要的是學禪並不要求你有特定的宗教信仰)(譯註:這裡指的是日本禪宗,而不是漢地佛教禪宗)。其他方式也可以,但是請注意一定選擇那些不會要求你相信很瘋狂東西的方式。
  • 修習音樂。學會鑒賞特別的音樂。學會玩某種樂器,或唱歌。
  • 提高對雙關語、文字遊戲的鑒賞能力。

這些事情,你已經在做的越多,你就越是天生做黑客的料。至於為什麼偏偏是這些事情,原因並不完全清楚,但它們都涉及用到左右腦混合使用,這似乎是關鍵所在。黑客們既需要清晰的邏輯思維,有時又需要偏離邏輯跳出問題的表象。

工作即娛樂,娛樂即工作。對於真正的黑客來說,「玩」,「工作」,「科學」和「藝術」之間沒有界線,或者說,它們在一個高層面的創造性趣味里融合在一起。另外,不要對一點點技能就感到滿足。雖然大多數黑客自稱是程序員,他們實際上在其他相關的方面也很可能相當強悍——常見的是系統管理、頁面設計和PC硬體故障處理。一個黑客,如果他是一名系統管理員,他很可能對腳本編程和頁面設計也相當在行。黑客不會半途而廢,如果他們要學習一門技能,他們會將其學好。

最後,一些你 不應 做的事。

不要使用愚蠢,嘩眾取寵的ID或昵稱。

不要捲入Usenet(或其他任何地方)的罵戰。

不要自稱為「數字朋克(cyberpunk)」,也不要浪費時間跟他們打交道。

不要發送含有大量拼寫和語法錯誤的email和帖子。

做出以上事情只會招來嘲笑。黑客的記性都很好——你犯下的錯誤會令你將要經過多年才可以被其他黑客接受。

網名的問題值得深思。將身份隱藏在虛假的名字後是駭客、warez d00dz及其他低等生物幼稚愚蠢的行為特點。黑客不會做這些事;他們對他們所作的感到驕傲,而且樂於人們將作品與他們的 真名 相聯繫。 因此, 若你現在用假名,放棄它。黑客社區里只會將用假名的人視為失敗者。

http://www.catb.org/%7Eesr/faqs/glider.png

歷史記錄:黑客活動,開源,和自由軟體

當我在1996年末剛開始寫這篇文檔的時候,很多情況跟現在是不同的。簡單的介紹一下這個變化對於對開放源代碼、自由軟體和Linux跟黑客社區的關係感到困惑的人們可會有所幫助。如果你對這些不感興趣,可以直接跳過這裡,前往FAQ和參考資料部分。

我描述的黑客精神和黑客社區遠早於1990年出現的Linux。我最初進入這個圈子大概是在1976年,其原因可以追溯到1960年代早期。但是在Linux出現前,多數黑客行為是在專有操作系統,或一些自主研發的實驗性系統上,例如MIT的ITS,這個系統從未在實驗室以外的地方使用過。雖然在早期(Linux出現之前)有過一些試圖改變這種狀況的努力,但是它們的影響都非常輕微,僅限於真正懷抱這樣理想的人群,即使在當時的黑客社區這也是絕對少數,更不論對於世界範圍內的通用軟體群體的影響了。

現在被稱為「開放源代碼」的行為,其歷史與黑客社區一樣久遠,但是直到1985年這都只是一個無名的民間行為,沒有相關的理論和宣言。這段史前時代在1985年結束,大黑客Richard Stallman(「RMS」)嘗試給了它一個名字——「自由軟體(Free Software)」。但是這個命名行為也是一個強制要求行為,他為「自由軟體」標籤加上了大多數已有的黑客社區從不接受的意識形態的包袱。「自由軟體」的標籤被黑客社區中的一部分重要人物(尤其是與BSD Un ix有關聯的社區)明確拒絕,並且其餘的大部分人也在嚴肅並且持保留意見的情況下使用它(包括我本人)。

除此之外,大約在1990年代中期以前,RMS想要在「自由軟體」口號下定義和引領黑客社區。在Linux崛起之後,這受到了極大挑戰。Linux為開放源代碼開發活動提供了一個天然的環境。許多在現今被稱為「開放源代碼」條款下發布的項目紛紛從專有Unix向Linux遷移。圍繞Linux的社區呈現爆炸式的增長,比在Linux出現前的黑客文化規模更大且更多樣化。RMS想要將這些活動與他的「自由軟體」運動關聯起來,但是由於Linux社區爆炸式的多樣性和該社區的創始人,Linus Torvalds的公開懷疑所阻礙。Torvalds仍然使用「自由軟體」這一辭彙,因為找不到更好的替代品,但他公開拒絕了RMS的意識形態觀念。許多年輕黑客紛紛效仿。

在1996年,當我第一次發布本文的時候,黑客社區正在圍繞Linux和一些其他開放源代碼的操作系統(尤其是BSD Unix的繼承者)進行重組。我們中的許多人曾經在封閉源代碼的操作系統上花費大量時間開發封閉源代碼軟體的集體記憶並沒有因此褪色,但是這看起來已經是過去。黑客們將自己作為黑客的定義與開發源代碼項目例如Linux和Apache越來越緊密的結合在一起。

然而「開放源代碼」這個詞直到1998年初才出現。當它出現之後,多數黑客社區在6個月之內採用了它,除了與「自由軟體」在意識形態層面綁定的極少數例外。自1998年起,尤其是2003年之後,「黑客」和「開放源代碼(和自由軟體)開發」越來越緊密相連。今天,幾乎已經無法也沒必要將它們區分開,並且這一點看起來在將來也不會改變。

然而,曾經並不是這樣,這一點值得我們記住。

http://www.catb.org/%7Eesr/faqs/glider.png

其他資源

Paul Graham寫了一篇名為「Great Hackers」和一篇名為「Undergraduation」的文章,有很多精妙的見解。

有一篇名為How To Be A Programmer的文章,對如何成為程序員做了詳盡的說明。它的價值不僅限於代碼及其相關能力上,對於如何在一個程序員團隊中工作也有建設性價值。

我寫過一篇A Brief History Of Hackerdom。

我寫過一篇名為「大教堂與市集(The Cathedral and the Bazaar)」的文章,在文中解釋了Linux和開源社區是如何運作的。在它的續集「開拓智域(Homesteading the Noosphere)」中,我進一步深入探討了這個問題。

Rick Moen寫了一篇很棒的關於如何運營一個Linux用戶組的文章。

Rick Moen和我共著了一篇關於提問的智慧的文章。它將使你更容易獲取到幫助。

如果需要個人電腦、Unix 和互聯網如何工作的基礎知識,參閱Unix 和互聯網工作的基本原理。

當你發布軟體或補丁時,試著按軟體發布實踐操作。

如果你對禪詩感興趣,你可能會喜歡Rootless Root: The Unix Koans of Master Foo。

http://www.catb.org/%7Eesr/faqs/glider.png

常見問題

Q: 如何證明我已經是一名黑客了?
Q: 你能教我做黑客嗎?
Q: 我該如何開始?
Q: 我該什麼時候開始學?現在會不會太遲了?
Q: 學會黑客之道要多長時間?
Q: Visual Basic是一門好的入門語言嗎?
Q: 你能教我「黑」掉一個網站,或者教我怎麼黑它嗎?
Q: 我怎麼樣才能得到別人帳號的密碼?
Q: 我如何入侵/查看/監視別人的email?
Q: 我如何才能盜取IRC的頻道管理員許可權?
Q: 我被人入侵了。你能幫我避免以後再被攻擊嗎?
Q: 我的Windows軟體出現問題了。你能幫我嗎?
Q: 我在哪裡可以找到能與之交流的真正的黑客?
Q: 你能推薦一些有關黑客的好書嗎?
Q: 成為一名黑客我需要擅長數學嗎?
Q: 我該從哪種語言開始學?
Q: 我需要什麼樣的機器配置?
Q: 我想做貢獻。你能幫我挑選一個問題來處理嗎?
Q: 我得因此憎恨和反對Microsoft嗎?
Q: 但開放源代碼軟體不會使程序員丟飯碗嗎?
Q: 哪裡有免費的Unix?

Q: 如何證明我已經是一名黑客了?

A: 問自己以下三個問題:

* 你能夠流暢的編寫代碼嗎?
* 你是否與黑客社區的目標和價值觀產生共鳴?
* 是否有知名黑客稱你為黑客?

如果你對三個問題的回答都是肯定的,你就已經是一名黑客。哪怕只有一個回答是否定的也不行。

第一個問題是關於技能的。如果你具備了前文提到的基本技能,就應該沒問題。如果你已經有相當數量的代碼被開源項目所接受,可以跳過這個問題。

第二個問題是關於精神的。如果前面的五條黑客的精神明顯比其他地方的描述更貼近你的真實生活,你就已經通過了一半。這是內在的一半,外在的一半是你對黑客社區長期項目的貢獻程度。

這裡有一個不完整但具有指示性的項目列表:Linux的改進和發展是否有你的貢獻?你是否對軟體自由充滿激情?你是否反對壟斷?你是否為了讓計算機成為這個世界更豐富多彩、更人性化的工具而努力?

請注意。黑客社區有一些特定的,主要是防禦性的政治傾向——其中兩條是維護言論自由和抵禦可能使開放源代碼非法的「知識產權」。有一些長期項目是公民自由組織,例如電子前哨基金會(EFF),外在的態度包括支持他們。除此之外,大多數企圖將黑客精神系統化為一個具體的政治程序的黑客都值得懷疑。我們曾經為此付出過代價,並了解到這些想法通常會導致分裂並且令人心煩意亂。如果有人想要以黑客精神的名義來招攬你,那是他們搞錯了重點。最好的回應恐怕是「閉嘴,給他們看代碼(Shut up and show them the code)。」

第三個問題是遞歸的。我在「什麼是黑客」中提到過,成為一名黑客,就是成為一個具有分享特點的文化社群的一員。很久之前,黑客相比現在是一個鬆散的,不自知的群體。但是近30年來,由於互聯網使得黑客文化的核心更易發展和維護,人際網路方面取得了長足進步。這種改變最簡單的代表就是,在這個世紀,我們有了自己的T恤。

社會學家在研究類似黑客社區這樣的被統稱為「無形學院(invisible colleges)」的人際網路時注意到,這類網路通常都有門衛——具有社區授權的核心成員會審核新人的進入申請。由於黑客社區是「無形學院」中比較鬆散和非正式的一種,門衛的身份也是非正式的。但是所有黑客天生就知道並非每個黑客都是門衛。在取得門衛的頭銜前需要具備特定的資歷和成就。這很難度量,但是每個黑客在看到它的時候就能知道。

Q: 你能教我做黑客嗎?

A: 自從第一次發布這份文檔,我每周都會收到一些請求,(通常一天幾封)要我「教會他們做黑客」。遺憾的是,我沒有時間和精力來做這個;我自己的黑客項目,及我作為一個開放源代碼倡導者 的四處奔波已經佔用了我110%的時間。

即便我想教你,黑客也依然基本上是一項自行修鍊的的態度和技術。當真正的黑客想幫助你的時候,如果你乞求他們一湯匙一湯匙「喂」你的話,你會發現他們不會尊重你。

先去學一些東西。顯示你在嘗試,你能靠自己去學習。然後再去向你遇到的黑客請教特殊的問題。

如果你發E-mail給一位黑客尋求他的幫助,有兩件首要記住的事情。第一,寫出來的文字顯得懶且粗心的人通常非常懶于思考且非常馬大哈,不能成為好黑客——因此注意拼寫正確,使用正確的語法及發音,否則你可能會無人理睬。 第二,不要試圖要求回復到與你的發信地址不同的另一個帳號。這樣做的人一般是使用盜用帳號,不會有人有興趣為虎作倀幫助竊賊的。

Q: 我該如何開始

A: 對你而言最佳的入門方式也許是去參加LUG(Linux用戶組)的聚會。 你可以在 LDP的綜合Linux信息頁面上找到類似的組織;也許有一個在你附近的,而且非常有可能與一所大學或學校掛鉤。如果你提出要求,LUG 成員興許會給你一套 Linux,當然此後會幫你安裝並帶你入門。

下一步(如果你在附近找不到LUG的話,這是第一步)找一個你感興趣的開放源代碼項目。讀它的代碼,並且檢查它的bug。學著做貢獻,並從此入門。

入門的唯一方式是提升你的技能。如果你還想問我關於如何開始的私人建議,我還是會給你相同的答案,因為沒有捷徑。我還會在心裡認為你可能是個失敗者——因為你沒有耐性讀完這個 FAQ,並且也沒有足夠的智商從文中理解到入門的唯一途徑就是提升你的技能。你沒救了。

Q: 我該什麼時候開始學?現在會不會太遲了?

A: 你有動力學的時候就可以。多數人是在15到20歲之間開始感興趣的,但據我所知也有在這個年齡區間之外的例外。

Q: 學會黑客之道要多長時間?

A: 這取決於你的聰明程度和努力程度。多數人如果足夠專註的話,能在18個月到2年之間學會一套令人尊敬的技能。但是,不要以為這就結束了。在黑客領域(在其他很多領域也一樣),需要10年時間精湛技藝。如果你是一個真正的黑客,你要用你的餘生來學習和完善你的技術。

Q: Visual Basic是一門好的入門語言嗎?

A: 你問這個問題,那通常意味著你想在Microsoft Windows下從事黑客活動。這本身就不是個好主意。我將在Windows下學習黑客技巧比喻為戴著腳鐐學跳舞,這不是開玩笑。別這麼做。Windows很糟糕,而且它從來沒有變好一點。

Visual Basic有一個很重要的問題,主要是源於它不可移植。雖然已經有Visual Basic的開源實現,但ECMA的可執行標準只覆蓋了其編程介面的很小一部分。在Windows中,大多數函數庫是由單一供應商(Microsoft)專有的。如果你不能非常小心的選擇你所使用的特性(比任何新手所能做到的都更小心),你最終很可能被束縛在Microsoft決定支持的那些平台上。如果你從Unix系統開始,有更好的編程語言和更好的函數庫可用。例如Python。

此外,如同其他 Basic 語言一樣,Visual Basic是一種設計糟糕的語言,它會教給你壞的編程習慣。別讓我詳細列舉和解釋它們,這夠寫一本書了。找一門設計優良的編程語言來學。

壞習慣之一就是依賴單一廠商提供的函數庫、控制項和開發工具。通常,一門不能支持至少Linux或一種BSD,或其他第三方操作系統的語言,都不適合應付黑客工作。

Q: 你能幫我「黑」掉一個網站,或者教我怎麼黑它嗎?

A: No。任何讀完這份FAQ後還問這個問題的人都是無藥可救的蠢材,即使有時間我也不會理睬。任何發給我的此類e-mail都會被忽略掉或被痛罵一頓。

Q: 我怎麼樣才能得到別人帳號的密碼?

A: 這是破壞行為。滾開,白痴。

Q: 我如何入侵/查看/監視別人的email?

A: 這是破壞行為。從我面前消失,混蛋。

Q: 我如何才能盜取IRC的頻道管理員許可權?

A: 這是破壞行為。去死,蠢貨。

Q: 我被人入侵了。你能幫我避免以後再被攻擊嗎?

A: 不能。每次問我這個問題的都是些運行Microsoft Windows的菜鳥。不可能有效保護Windows系統免受破壞行為攻擊。代碼和架構上的大量缺陷使保護Windows的努力猶如隔靴搔癢。唯一可靠的預防是換到Linux或者其他設計得至少足夠安全的系統上。

Q: 我的Windows軟體出現問題了。你能幫我嗎?

A: 是的。進入DOS模式,然後輸入「format c:」。你遇到的問題將在幾分鐘內消失。

Q: 我在哪裡可以找到能與之交流的真正的黑客?

A: 最佳辦法是在你附近找一個Unix或Linux的用戶組,參加他們的聚會(你可以在ibiblio的LDP站點找到一些指向用戶組的鏈接)。

我過去曾說過在IRC上找不到真正的黑客,但我發覺現在情況有所改變。顯然一些真正的黑客的社區像GIMP及Perl,也有IRC頻道了。)

Q: 你能推薦一些有關黑客的好書嗎?

A: 我維護著一份Linux Reading List HOWTO,也許會對你有用。Loginataka也很有意思。

關於Python的介紹,請訪問Python官方站點上的入門資料

Q: 成為一名黑客我需要擅長數學嗎?

A: 不。黑客道很少使用常規的數學或算術。 尤其是你不會用到三角學、微積分或數學分析(在特定領域,這些學科很有用,例如3D電腦圖像)。一些有限數學(包括布爾代數,集合論,組合數學,圖論)的背景知識會有幫助。了解一些系統的邏輯和布爾代數是有好處的。一些基礎的離散數學(包括有限集合論、組合數學和圖論)會有幫助。

更重要的是:你需要能夠像數學家一樣進行邏輯性地思考和進行縝密的推理。在這一點上絕大部分數學理論幫不了你,你需要有能夠應付數學的修養和智力。如果你不夠聰明,你成為黑客的希望很渺茫。如果你的修養不夠,最好培養起來。

我認為一個好的了解你當前狀況的辦法是,找一本Rymond Smullyan的書 What Is The Name Of This Book?。Smullyan那些有趣的邏輯題很符合黑客精神。如果你能解答它們,這是個很好的信號。如果你能享受解題的過程那就更好了。

Q: 我該從哪種語言開始學?

A: XHTML(最新的HTML方言)——如果你還不懂的話。市面上有一大堆的封面精美,宣傳得天花亂墜的 糟糕的HTML書籍,不幸的是很少有好的。我最喜歡的是HTML: The Definitive Guide。

但HTML不完全是一種編程語言。當你準備開始編程時,我推薦從Python起步。 你會聽到一大群人推薦Perl,並且Perl依然比Python流行得多,但是難學得多且(以我之見)設計得不是很好。

C確實重要,但它要比Python或Perl難多了。不要嘗試先學C。

Windows用戶不要滿足於Visual Basic。它會教給你壞習慣,而且它不可以移植,只能在Windows下運行。避免它。

Q: 我需要什麼樣的機器配置?

A: 過去個人電腦計算能力相當不夠且內存小,給黑客的學習過程設置了人為的障礙。不過從1990年代以後就不是這樣了,任何配置比一台Intel 486DX50好的機器都有足夠的能力進行開發工作,跑Xorg,及進行Internet通訊,同時現在能買到的最小的磁碟都已經綽綽有餘。

選擇用來學習的機器時重要的一點是注意配件是否是Linux兼容的(或BSD兼容,如果你選擇學 BSD)。同剛才提到的一樣,大多數現在的機器都是符合的;唯一的值得注意的地方在於 數據機和印表機;有些具備為Windows設計的配件的機器不會在Linux下工作。

關於硬體兼容性有一個FAQ;最新版本在這裡。

Q: 我想做貢獻。你能幫我挑選一個問題來處理嗎?

A: 不行。因為我不知道你擅長什麼,也不知道你對什麼感興趣。你需要做到自我驅動,否則無法進步。這也是為什麼讓別人幫你挑選方向幾乎都不會有用。

Q: 我得因此憎恨和反對Microsoft嗎?

A: 不,你不必如此。不是因為Microsoft不令人討厭,而是因為黑客文化早在Microsoft出現之前就存在了,且將在Microsoft成為歷史後依然存在。你耗費在憎恨Microsoft的任何力氣不如花在熱愛你的技術上。寫好的代碼——那會相當有效地打擊Microsoft又不會讓你得到惡報。

Q: 但開放源代碼軟體不會使程序員丟飯碗嗎?

A: 看起來不太可能——目前為止,開放源代碼軟體產業似乎創造了更多的就業機會而不是減少就業機會。如果寫一個程序比起不寫來是純經濟收益的話,那麼在寫完後,程序員應該得到報酬不管程序是否是開放源代碼。並且,無論寫出多麼「免費自由」的軟體,都存在更多對新的,定製的軟體的需求。我有這方面更多的論述,放在Open Source網站資料中。

Q: 哪裡有免費的Unix?

A: 如果你的機器上還沒有安裝Unix,我在本文的其他地方已經指出了從哪裡可以獲取到常用的免費Unix。在本份文檔的某個地方我已經提到過何處可以得到最常用的免費Unix。作為一名黑客,你需要自立自強,以及自學能力。現在開始吧……

希望大家點贊讓更多人看到....


針對評論區的,愛信信,不信就當我為了讓你們不交智商稅瞎編的

難道你們真的以為我落魄到來知乎收徒?

求不私信問我收不收了,不收不收不收

開價多少都不

~~~~~~~~~~~~~~~~~~

簡單,找我啊,速成,3天出師,200一位

!!!!!段子手的分割線!!!!!

就一句話

多問為什麼,少交智商稅

其實黑客很簡單,當你了解了互聯網(web方向)與計算機(bin方向)的實現原理,就能通過自己的知識判斷出他們的設計人員是不是採用了一些危險的方法,然後就可以通過經驗針對某些薄弱處進行攻擊,最後取得目標機的控制權

所以你需要熟練的掌握你想攻擊的語言,例如php,jsp(web)與c(bin),要不然根本沒辦法進行審計

需要知道計算機是如何執行你要攻擊的語言的

你所執行的語言是如何處理數據的,這是很重要的

至於後半句

我就給你說,我們小組的人出去講課每天收入都是萬記的

真的大神不會為了你幾百塊錢收徒什麼的


根據我的觀察,黑客們似乎都是突然有一天發現自己算是個黑客了,一開始就相當黑客的沒多少能成功。


這個問題不是我看到的最驚悚的,我看到的人最驚悚的是零基礎怎麼做手術


黑客出生的時候都是零基礎的。。。


http://www.hackjason.com

我是怎麼學黑客的。與大家分享。

  由於在黑客界,要學習的東西相當多,也相當雜,特別是剛入門的菜鳥朋友,在初

次接觸黑客時,可能會到處碰壁,苦於找不到好的黑客學習方法而最終放棄這門技術.

在這裡,我提供一個行之有效的也非常適合菜鳥朋友的黑客學習方法-----分類學習法

.經過多數人的的實踐證明,發現該方法效果明顯,能使你的黑客技術突飛猛進,所以我

在這裡共享自己的學習方法.

所謂分類學習法,就是把黑客領域劃分成幾個不同層次的知識塊,然後規劃好時

間,專門對開某個知識點進行學習訓練.也就是分隔成一部分一部學習.對於剛入門的

黑客愛好者,建議按以下的分類方法進行學習,當然,技術的分類可以根據自己的興趣

和愛好來劃分

我這裡簡單的收集了入門朋友要學習的黑客內容.

1.黑客術語基礎(學習一個星期):主要把一些常用黑客術語搞清楚,比如什麼叫webshe

ll什麼叫注入,什麼叫旁註,還有一些常用工具的功能,比如nc,sc等等.

2.灰鴿子配置與使用(學習二天):通過學習要達到正確配置灰鴿子並能正常上線.對它

的功能進行操作訓練.

3.網頁木馬製作與傳播(一個星期)

4.網站入侵(差不多一個月)

5.木馬特徵碼修改(四五天)

當然知識塊的劃分與學習時間,可根據自己身情況進行適當選擇.

下面我把分類學習法過程,技巧,並結合自己在實際學習中以實例形式講解這種學

習方法的具體步驟.

分類學習法的主線:

收集資料----看動畫教程與技術文章----實戰訓練----回過頭再看教程與文章----

自己製作動畫教程與寫文章.

下面對各個環節進行講解:

一.收集資料

這個環節,主要目的是收集到盡量多的某類知識塊的相關動畫教程和技術文章.收集方

法主要有兩種方法:第一種,利用百度,google,搜索.比如我想找網站入侵相關教程,可

以在百度google中輸入關鍵字"網站入侵+空格+教程",這樣就可以收集大量教程和文

章,可以靈活變化關鍵字,比如輸入腳本入侵+空格+動畫,ASP入侵等等,可以搜到大量

網站入侵方面的資料.統統把它們收集整理起來.第二種,利用大型黑客網站的站內搜

索功能.這種搜索比百度和google命中率要高的多.比如你想找網頁木馬相關教程,你

可以到各大黑客網站.在站內搜索內輸入關鍵字網頁木馬.

網頁木馬製作.就會找到很多動畫教程和技術文章.這裡菜鳥朋友可以直接鎖定該欄目,把每一個專題動畫研究清楚.

二.看動畫教程與技術文章

在看之前,你要準備一個筆記本,專門用來記錄在看動畫或文章時,不明白的或疑惑

的地方,在看的過程中,你可能有些地方看不明白,沒關係,把不懂的地方記錄下來,當

然看動畫

與文章時要注意以下幾點:

1.要深刻理解動畫教程整體思路.

2.注意觀察動畫的每個操作細節,一有不清楚的就要馬上記錄.

那如何解決記錄著不懂的地方呢?通過以下幾種方法解決.

1.論壇提問:把你遇到的不明白地方描述清楚,發到論壇上,當然你還可以到其它的黑客論壇提問.

2.向黑客群或朋友請教,這裡你要多加幾個黑客技術群,多交幾個要好的黑客技術愛好

者,然後,把你的疑難問題拿出來與大家一起討論,一般也能解決.

3.反覆看動畫教程,技術文章,有時候,我們看一遍可能不能理解,但反覆的看,反覆

的思考,往往都能解開動畫或文章中的疑難問題。

4.用百度,google搜索相關內容,同樣利用關鍵字進行搜索相關內容。這種方法還是

不錯的,在你搞懂了你的疑難問題的同時也搞懂了N個其它相關問題。

三.實戰訓練

這一階段也是最重要的,剛開始你可以按照動畫步驟來操作,很多疑難問題在實

際操作才能真正體會到,同時在操作中也會得到解決。當然你在操作過程中遇到困難

還可以回過頭再看動畫,並一直反覆這個過程。慢慢的就會變成自己的技術。

四.回過頭再看動畫與文章

在操作過程中,遇到的疑難問題,然後我們帶著這些問題回過頭來看動畫,相信

理解的更深刻了。目的也更明確了。在這個過程中特別要注意在你操作的每個細節與

動畫中的細節作對比,發現存在問題的地方及時糾正。

五.自己製作動畫或寫文章

經過一段時間的學習,你可能對某個知識塊也有較深的理解,也有自己的見解,

所謂熟能生巧,熟練了自然而然也有個人的心得體會。這時候,你可以把你的新的入

侵思路和技巧做成動畫或寫成文章呀,這不但提高了你的思維能力同時也鍛煉了你的

實際操作水平。這也是提高黑客技術水平的一個重要方法。

所以我在這裡建議:若你有新的入侵思路或新的入侵技巧,不要埋在心裡,做成動

畫。你會在不知不覺中進步。

以上就是我個人認為效果不錯的黑客學習方法,當然還結合了以下四個方面的技巧。

一.做黑客筆記

1.記錄實戰入侵過程中的疑惑問題

2.在看別人動畫或文章時,不明白或不理解的地方也記錄下來。

3.同時,在學習過程中,遇到的入侵小技巧,入侵常用命令,優秀黑客工具,經典方

法也一一記錄下來。以後入侵或遇到難題時,隨時都可以拿來查看。

二.收集整理優秀文章,動畫教程,黑客工具。

1.分類整理優秀的技術文章。

2.收集整理經典的有技術含量的動畫教程

3.收集經典的優秀的黑客工具,大家都應該有自己的黑客工具箱,並分類整理存放好。

收集整理的目的是方便以後的學習。

三.在看別人動畫或文章時應該思考的問題。

1.領會動畫整體思路。

2.記下不明的或疑惑的細節。

3.評價別人的動畫,有何缺點,有何優點,學會分析和思考。同時要敢於提出自己的

想法,如何才能進一步完美他的入侵方法。

四.勤做動畫

這裡做動畫的好處,我不多說了,只要你做多了,自然而然就會體會到其中的好處!

只要具備以下條件的,都可以做成動畫,我想,也是你掌握技術的最好方法,所以這

也是行之有效的提高黑客技術的好方法。

1.看到好的文章就應做成動畫:

2.好的工具,經典工具的使用也做成動畫:

3.入侵總結:

之前我看到很多人做過木馬傳播的方法,也看過相關木馬傳播的文章,不過都比較零

散,後來我又參考了相關雜誌後就製作了木馬傳播的綜合教程----木馬傳播終級大套

餐。

4.新思路新技巧:

如果你有好的入侵思路或方法,也可做個動畫.

5.拓展,延伸別人的動畫:

主要是看了別人做的入侵動畫,給你帶來的新的入侵方法和技巧.

6.改善完美別人的動畫:

從以上可以看出,我們要做的教程,盡量不要重複別人的教程,要有自己的創意

和想法。所以,大家可以參考以上方法進行做動畫,同時在看別人教程時,不要一味

的照抄照搬,要有自己的見解,要學會思考,要善於總結,在看別人教程時還要不停

的反問自己,能進一步入侵嗎?他的這種入侵方法有什麼缺點嗎?能進一步完善他的

入侵方法嗎?只要你做到以上幾點,我相信,你的技術也會突飛猛進的。

在這裡,提醒那些初次接觸黑客技術的菜鳥朋友,不要及於求成,端正好自己的

學習態度,規劃好自己的學習計劃,尋找適合自己的學習方法,多思考,多實踐操作

,再加上一個好的學習環境,我敢說,你的成功不再遙遠!

推薦一個博客 http://www.hackjason.com


第一個掌握的技能應該是搜索


不是什麼黑客,不是什麼帽子,只是做自己喜歡的事情而已。黑客更多的是一種定義,你自己要有自己的定義。我也是堪堪入門的信息安全從業人員,當初在大學憑著一腔熱血,搞到現在,有了offer。有自己的小圈子,一起玩的小夥伴。首先是編程,然後是網路協議的知識,然後是操作系統的知識。黑客如果是為了黑幾個網站,大可不必要學這些東西。信息安全的行業很火,很有前景。發展也多元化,你可以選擇一個方向。至於什麼方向,怎麼去搞,在哪一個方向深入。前面的前輩們都寫得很好!我就不BB了,但是有一點是值得共勉和注意的,想要走得遠一點,在這條路上。好好學編程吧。這是本菜最近寫的一篇文章:https://zhuanlan.zhihu.com/p/24977988,其實這個和黑客沒什麼多大的關係。就是生活中的一舉一動都可以成為黑客,這個是用python爬蟲解決生活中碰到的小問題!我覺得這就是黑客,雖然離那種很酷很酷的境界很遠,但是願意行動是沒一個大牛成長起來的必經之路。


認真答問題: 新手無需折騰 百度誤一生。 有天賦的人也會被誤導。這是肯定的。

習慣是一件很可怕的事情。如今的人習慣了百度。百度習慣了收錢做廣告你懂的。

此答案純送小白。有心人 - 有創業項目的可以直接與我取得聯繫。OK 下面展開正題。

1:網路安全技術就是純變現的一個職業而已 沒有所謂的愛好者 也沒有所謂的帽子說。就一打工仔

2:自學真的 不可能了。不可能了。不可能了。十年前還可以。參照最最最上面的文字。

3:帽子黑白不重要 帽子裡頭 - 持有的技術能變現才是最重要的。雙刃劍怎敢論黑與白!???

4:我是十年前成為的【彩】客的。非黑白 各種顏色我都有沾染。主要用了幾年幫小白做創業項目

5:自認為還算一名優秀的彩客。啥都會。社會人。JQ JS H5 PHP DELPHIXE7 GPS定位 都會。

優秀不是自身,而是跟隨你的人。或者團隊來定義和衡量的。

如果你有很好的創業項目要找我做 比如想要實現什麼功能 但是凍結在技術關口。

我可以幫你搞定。你也可以來重慶市直接找到我面談。本人蠻喜歡和九零後打交道 很多東西很多創新 創意。執行力。 是常人比不了的。

言盡於此 最後重申下 零基礎的人就別做黑客了 真的 真的 真的 浪費時間。


只要一把剪刀,然後去把對方的網線剪了,恭喜,你成功的讓對方無法訪問網路了


我一直有個疑惑:為什麼知乎答題者所答非所問?

別人的問題提了,你就要按照別人的問題一板一眼的去回答,否則就不要去回答,因為那樣就像你在光天化日之下扯小雞雞,讓別人不爽的同時你自己也蛋疼的要命,何必這樣無趣的自討苦吃?

提問題,回答問題是兩個非常重要的素質,可以說是需要專門進行訓練的,然而咱們答題無數,提問無數卻鮮有人提取其中的要領進行專業化學習,可能這也不見得能夠學到,因為他是要一個人各方面的綜合能力加整在一起才能具備的一項特殊技能。

我就在我回答問題以前業已存在的答題者作了一番批評教育(說不定會被罵),下面通過我的回答請你們能夠吸取教訓,下不為例,日後改進行為作風(說不定會被吐槽:裝逼)。

下面的答題格式之所以那樣的一板一眼的,是為了與上面和問題無關的部分區分開來,以讓閱者清晰意識到正式進入問題解決的部分,而不是死板。我鼓勵更多類型的答題風格出現,比如可以講故事,但是請切中問題要害,不要連篇累牘的扯了半小時說了很多和問題毫無聯繫的廢話。


問題一:黑客如何學起?

答:必須從學習者的角度來看,如果你是一個已經學過編程,通曉幾門語言的人那麼這個答案就會和一個從沒有接觸過的計算機,甚至連什麼叫高級語言還不知道的人有所區別的對待。

這就像是登珠穆朗瑪峰一樣,有的人已經在200米高的地方,而有的人還在20米高的地方,如果要一個已經在頂峰的人來回答二位不同高度的人的問題:我應該怎樣像你一樣快速爬到頂峰?對於200米的人回答就可以略過珠穆朗瑪峰200米以下的那一部分應該如何爬,注意哪一點,並且基於一個已經對珠穆朗瑪峰有一定經驗的人來說,頂峰的人只需要通過整合他過去200米的經驗來指導就可以,但是如果對於200米高度的人的答案讓一個在20米處的人理解就有難度。同樣的,讓200米高度的人來理解對20米高度的人的回答就會顯得雜冗,猶如雞肋,食之無味,棄之可惜。所以請先定位你自己處於哪種層次。

下面我的回答是對身處20米高度的人的回答,甚至可以說對還沒有開始登峰的人回答,換到計算機黑客技術上來說就是針對零基礎小白來說的。

這個版本的答案對於已經能夠編程,知道計算機語言的類型,知道一些網路基礎協議的人來講就不免會顯得如雞肋一般食之無味棄之可惜,但如果認真研讀,還會有整合你過去認知的作用的。

小白的迷茫:

誰沒有小白過呢?在建築大樓、宇宙飛船、釣魚、養寵物、還有一個不太好意思透漏的談女朋友上至今本人也還是個小白。

回想起當年蹣跚學步。

晃晃噹噹的學騎自行車,由開始的緊張恐懼,手足無措,到最後的老司機,由走到跑,由跑到蹦,由蹦到想飛起,都有一個從小白到老司機的過程。

現在迷茫,不如想想曾經我們也迷茫過,在很多自己不熟悉的路上,未來也會有很多迷茫,但是請不要怕,因為迷茫意味著進化,意味著你即將開始新一段的從小白到老司機的歷程。這就是人生,一個成長的過程。所以小白的迷茫不足為懼,懼怕的是你因為迷茫而選擇放棄,度過迷茫期以後你才會有所改變,才會不再迷茫,逃離不該是你的選擇,你應該像是一隻雄鷹,而不是一隻老鼠,因為你的未來是藍天、白雲、而不是臭水溝、垃圾場。

此刻,你要踏上的是神聖而偉大的計算機黑客的殿堂,迷茫嗎?那就對了。

老司機指路:

黑客如何學起?這個問題對於小白來說有點大。因為一談到黑客就不免講到各種入侵、破解、滲透、盜號、黑貓白貓、DDOS、偷窺、控制、破壞等相關的東西,而這些概念想要真正意義上的理解是必須在理解計算機工作原理的基礎之上的。

所以,基礎很重要,特別記住:基礎很重要。

我在這裡把基礎分為三塊吧:

第一:計算機工作原理基礎

第二:計算機網路基礎

第三:黑客基礎

就這三塊的劃分,對於小白來講都不免有迷茫,因為計算機是什麼?計算機網路是什麼?黑客是什麼?這些基礎中的基礎的東西可能都不太理解,談何理解這種劃分的根據呢?

這個迷茫是必要的,不迷茫哪來的探尋,沒有繼續的探尋哪來的進步和成長?

所以我還要再次慰藉,特別是自己摸索來自學的人:不要怕,地震會走,暴雨會停,迷茫也會消散,只要你不拋棄不放棄,那風雨後的彩虹才會是屬於你的。

待續...............

---------------------下面續更——————————————————————

那麼不理解上面的劃分怎麼辦?不理解為什麼要把計算機的工作原理單獨孤立出來作為一個學習對象,把計算機網路和黑客基礎單獨列出來作為一個學習對象,在這裡我認為就沒有必要繼續擴展你的問題海洋了,因為他已經足夠大了,如果繼續擴你的問題,恐怕你會問到世界從哪裡來,是否有一個開端。因此必須點到為止,劃定你的問題邊界,不該再繼續追問的時候就直接無條件接受,也就是我說這樣便是這樣,沒有什麼為什麼,收住你那思想的疑問盒子。

如果你實實在在的有很多對計算機緣何能展示那麼絢麗的圖像,還有怎麼播放視頻,如何能夠把信息從外國傳到中國這些問題不解決無法繼續前進的深在疑惑的話,我建議你從計算機的歷史中去解決。

計算機的歷史:這是計算機從無到有的,從簡單到複雜,從無人問津到人人趨之若鶩的發展總過程。

就像我們無法知道人類從何而來,那麼我們就從人類歷史裡去大致認識人類的發展圖景,這會讓我們對一件事物有更加深刻的認識。

此處附上百度百科計算機的詞條解釋索引,從中你會有所收穫,雖然你會有很多不懂的百度百科計算機

這是對於特別愛追根問底的自學者的一點指引建議,不那麼愛追根問底的人自學起來其實比較容易,因為你給他指一個蘋果告訴他那是蘋果,他就只管記住就可以了,不會去問為什麼蘋果這個樣子?為什麼會有蘋果等之類的複雜疑問。這些疑問有助於我們拓展更多對蘋果的認識,但是對於初步認識的人來說卻是一件不利之事兒。所以這對於那些不愛追根問底的人來講是有優勢的,但是長遠考慮的話,那些愛追根問底的人會更有優勢。

閑話少敘,我也不可能從開天闢地萬物之始去給你講到黑客如何學起,其一是我沒有這個能力,其二是真的這樣大動干戈的來,恐怕我要寫上個幾年,到那時咱們誰也別學了,都談天說地好了。

那就從計算機的工作原理開始說起

要完成這部分的基礎學習,你有很多開始的起點選擇,你可以選擇從經常使用電腦開始,也可以從明天起開始選擇一門編程語言去學開始(此處注意:小白可能不理解有哪些語言,並且很容易陷入迷亂中),或者是去一些論壇逛逛,或者是買一本書籍。起點的渠道很多,看你選擇哪一種。

我建議,首先從一門編程語言開始,一定要死磕,選擇一門編程語言不能放棄,要從頭到尾的去學完。我在這裡不推薦語言,可以自己慢慢了解去選擇自己喜歡的一門。(了解過程中不免有迷茫,很正常)

但這還只是一部分而已,還有一部分硬體的知識可能需要你去理解。比如什麼是馮諾依曼結構?作為一名小白可以不那麼三心二意,先把前人給你指引的首要的東西學了,然後再去拓展是最穩妥的。

計算機眾所周知的是由軟體+硬體的機器,硬體是軌道,軟體是跑車,跑車在軌道上跑才形成了各種各樣的數據樣式的展現。這是形象化了的舉例,與真正的硬體和軟體有所出入,但是前期為了理解,放棄那種精確,求之以粗糙是很有必要的。

上面我的建議,從編程開始入手學習,從更大的視野來看,就是從軟體開始下手,因為硬體已經被設計完成,與你操作計算機的關係不大,一個懂硬體的未必會對計算機操作很牛逼,因為你的目的是黑客,是對計算機工作的控制,而不是構造計算機,因此軟體優先於硬體。

後期如果對硬體感興趣,甚至於有改進計算機硬體結構的願望的話,理解了計算機的軟體後再去進行還會有輔助效果。

對於這部分的基礎,我不想再說更多,越說你越糊塗,你的疑問越多,想要學會游泳的最好方式是杜絕恐懼,不作什麼太多的準備,直接跳入水中,先行動,再從行動中找感覺,找到你的理解。

因此,去找一門編程語言,死磕一門,絕對要死磕,(我指的是想成為黑客大神的人,如果你的目標就是能搞個小入侵,知道點計算機的基本工作過程,沒有必要),學完一門語言後你就會進步很多,到時候你思維打通了,你才會明白今天我所說的。至於學什麼語言前面我已經說過不能推薦,一定要自己去摸索。

下一步是計算機網路基礎

當你能夠用一門語言去編程的時候你就對計算機如何工作的有很深的認知了,計算機上跑的任何軟體和程序(怎麼跑的,為什麼能跑?這些潛在的疑問在學的過程中會迎刃而解,此刻記住你的問題邊界,不要過分拓展疑問邊疆),一些安裝包什麼的,你都明白那是幹啥的。

接著對於所有軟體程序中的一個集合「網路協議」也就很容易學習了。

網路協議本質是程序,他的功能是讓計算機之間能夠通信,加一點,安全通信。

再上一部分的計算機工作原理基礎上你學習完成後,那麼這一部分的學習很輕鬆。但是絕對重要,因為黑客的影響力主要來自互聯網,沒有廣泛相互聯繫的互聯網,黑客也只能對面前的計算機進行操控,而不能遠程去控制和攻擊,學習計算機網路會讓你明白黑客攻擊當中的很多遠程的方式,並且黑客的多數偉大和神秘也是互聯網賦予的。

具體的協議有哪些,該怎麼學,對於一個小白來講沒有說的必要,小白的任務是前面的那個先完成。

最後是黑客基礎

黑客基礎是給學習完以上兩大基礎後依然不知道如何入侵和進行黑客工程的人準備的,一般有黑客天賦的人學完以上兩部分,對於如何利用計算機通過網路去進入其他計算機的系統,竊取信息等都會不學自通。

假如你還尚未打通,那麼就要學學黑客的基礎,這方面有大量前輩們所寫的書,對於前輩經驗們的系統性的梳理去認知也很快會讓你進入一個不一樣的思維模式去。

禁忌:不要在龐雜繁多混亂堆砌的概念上停留過多時間

上面很多答者都列出了一大籮筐的概念,我倒認為那些概念實在沒有必要拿出來嚇唬人,讓一個從來沒有學過元素周期表的人對各種物體的化學元素進行細緻的分類豈不是為難別人?讓一個還沒有下過水嘗試過身體接觸水的感受的人就去對各種游泳技法進行細緻的分類豈不是無用之談?

什麼php伺服器、asp伺服器、iis、黑貓白貓、伺服器環境、滲透、入侵、破解、HTML、java、虛擬主機、雲主機、IP追蹤、木馬編寫、病毒編寫、鍵盤記錄、釣魚網站、域名、DNS、埠掃描、DOS指令...............

如此繁複的概念殊不知都是在計算機工作原理和計算機網路基礎之上的概念,沒有關於一棟大廈地基的認識便要說什麼頂樓設計豈不是空中樓閣?懸在空中腳下無支撐物怎能不搖擺四晃?

所以我要在這裡敬勸閱者,莫要對那些看起來很高逼格的概念作過多的疑問,當你明白了計算機是怎麼跑起來的時候,這些概念的逼格無論多麼高,他的原理無非就是那麼些。

答題主第二個問題:需要什麼資金條件

如果你在學習的過程中不需要去培訓機構,不去請教老師,並且自己去找教程,找書籍,那麼資金不需要。

但是如果你需要減少自己摸索前行期間的痛苦和時間,那麼你就需要去請求外部世界的人的幫助,比如去個培訓機構,去請教個老師,去找別人為你整理好了的教程。這種情況需要一定資金支持。依次來看,培訓機構略貴,周期長,效果對於自律、自學能力差的人比較好;請教一些老師,看緣分;去找別人為你整理的教程,幾十幾百不等的支出。

答題主第三個問題:需要多久?

回答這個問題不得不又回到開篇,人是處在不同高度的,時間是沒有標準答案的。但是這個問題實在是格外普遍的問題,人有急於求成之心,可以諒解,畢竟人生有限,不能要學個百年才能學會。

但是你如果要說個具體確切的時間尺度又不太靠譜,因為還是那句話人的高度不同。

但是說個大概,不走極端,就是天才和蠢才,看個一般,拿出時間來倒也有個可能性。據估測,在這些條件下:零基礎、每周能學5天,每天能學5小時,一月內死鑽一門語言,可有整體的認識。到這個程度也就是對計算機工作原理的基本解決。

然後計算機網路,這個是更快的學習。不出一月應該可以解決。總計來算,兩個月到三個月時間對對各種攻擊入侵原理能夠掌握,進一步深入,對於黑客技術實操、軟體開發、網路架設、網路故障排查等都應該可以勝任。

但是記住一條:精湛和粗略知其所以然之間有一段大大的距離,它需要天賦和時間等各種因素去完成粗略到精湛的過渡。

迷茫,前面我提到了多次,可以見得答主曾經也頗受迷茫的蹂躪,因為一個從沒被大花蛇嚇過的人也不會逢人便說蛇有多可怕,不得不多次提出來讓別人加以警惕和防範,實在是因為答主深知迷茫的困境對於一個想要開始出發的人帶來的巨大幹擾,有時候挫敗一個人都不成問題。

但是如果你看到了前面的風景是那麼的美,因為迷茫不知怎樣到達便掉頭就走,然後還安慰自己那不適合自己,豈不是自欺欺人,如果每次遇見的風景都被你這樣給自欺欺人的放棄,你的有限人生豈不就是一個放棄縱橫的人生?試問:這樣灰溜溜的人生可值得一過


零基礎怎麼做黑客?


你可能會問自己,需要學習一種編程

語言?答案是肯定和否。這一切都取決於你的目標。如今,隨著網上的腳本 (黑客工具)越來越多 ,你可以成為一個相當不錯的道德黑客(腳本小子),而不知道任何編程。如果您非常了解所有的安全工具,您可以做一些有效的黑客攻擊。即使您了解這些程序背景下發生了什麼,大多數人仍然會將您分類為腳本小子。我個人認為你應該學習一些編程。即使它是非常基礎的,它會讓你更好地了解發生了什麼。另外,一旦學習如何編程,就可以開發自己的漏洞。

學習Linux / Unix。當您繼續學習如何破解時,您將意識到學習如何使用Linux操作系統的重要性。

了解網路如何運作?

學習網路(IP,路由,埠等)

#所有學習資料應該是免費的。堅持下去:)加油↖(^ω^)↗

傑森黑客博客

什麼是黑客?

Jargon File講了一堆關於「hacker」這個詞的定義,大部分是關於「技術高超」、「熱衷解決問題」、以及「超越極限」的內容。但如果你只想知道如何成為一名黑客的話,真正重要的只有兩條。

這可以追溯到幾十年前,那時候第一代分時微型計算機才剛剛誕生, 而 ARPAnet 的實驗也才剛展開。那時的編程專家和組網高手建立了一個具有共享性質的文化社群, 「hacker」 這個名詞就是其中的成員創造的。黑客們建立了互聯網,黑客們讓 Unix 操作系統演化到現在的模樣,黑客們經營著 Usenet,黑客們讓萬維網運轉起來。如果你是這個文化的一部分,如果你對這種文化有所貢獻,而且這個社群的其它成員也認識你並稱你為 hacker,那麼你就是一名黑客。

黑客的思維方式並不僅僅局限在軟體黑客的文化圈內。也有人用黑客態度對待其它事情,如電子和音樂方面——其實你可以在任何最高級別的科學和藝術活動中發現它的身影。軟體黑客對這些領域的踐行者尊重有加,並把他們也稱作黑客——有人宣稱黑客天性是絕對獨立於他們工作的特定領域的。但在這份文檔中,我們將集中書寫在軟體黑客的技術和態度,以及發明了「黑客」一詞的、以共享為特徵的文化傳統。

有另外一群人大聲嚷嚷著自己是黑客,但他們根本不是。他們主要由青少年男性構成,是一些蓄意破壞計算機和電話系統的人。真正的黑客把這些人叫做「駭客」(cracker),並不屑與之為伍。黑客們通常認為他們是一群懶散、沒有責任心、而且不是很聰明的人。會通過熱接線發動汽車並不意味著你是一個汽車工程師。一樣的道理,會破壞安全也不意味著你是一名黑客,不幸的是,很多記者和作家往往錯把「駭客」當成黑客;這種做法一直使真正的黑客感到惱火。

根本的區別是:黑客搞建設,駭客搞破壞。

如果你想成為一名黑客,請接著讀下去。如果你想做一個駭客,就去讀 alt.2600 新聞組吧,順便準備好去蹲個五到十年的監獄,而且最終你會意識到你並不像自己想像的那麼聰明。

關於駭客,我能說的只有這些。

黑客的態度

黑客們解決問題,建設事物,同時他們信仰自由和無私的雙向幫助。要想作為一名黑客被社群認同,你需要體現出自己已經具備了這種態度。而要體現出這種態度,你就得真正相信和贊同這種態度。

但是,如果你認為培養黑客態度只是進入黑客文化圈的敲門磚,那就大錯特錯了。這種態度將有助於有助於你的學習,並且能為你提供源源不斷的動力,所以它對你而言是至關重要的。和所有創造性的藝術一樣,成為大師的最有效方法,就是模仿大師的精神——智力上的模仿還不夠,還要從感情上進行模仿。

黑客的基本技能

黑客態度重要,但技術更加重要。態度無法替代技術,在你被別的黑客稱為黑客之前,有一些基本的技術你必須掌握。

這些基本技術隨著新技術的出現和老技術的過時也隨時間在緩慢改變。例如,過去內容包括使用機器語言編程,而直到最近才包括了HTML。總的來說現在主要包括以下技術:

學習如何編程。

這當然是最基本的黑客技能。如果你還不會任何編程語言,建議你從Python開始。它設計清晰,文檔齊全,合適初學者入門。它是一門很好的入門語言,並且不僅僅只是個玩具;它非常強大、靈活,也適合做大型項目。

Java也是好的入門語言。它比Python難得多,但是生成的代碼速度也快得多。它同時也是一種優秀的計算機語言,不止是用來入門。

但是注意,如果你只會一兩門語言,你將不會達到黑客所要求的技術水平,甚至也不能達到一個程序員的水平——你需要學會如何以抽象的方式思考編程問題,獨立於任何語言。要做一名真正的黑客,你需要學會在幾天內通過一些手冊,結合你現在所知,迅速掌握一門新語言。這意味著你應該學會幾種截然不同的語言。

如果要做一些重要的編程工作,你將不得不學習C語言,Unix的核心語言。C++與C非常其他類似;如果你了解其中一種,學習另一種應該不難。但這兩種都不適合編程入門者學習。而且事實上,你越避免用C編程,你的工作效率會越高。

C非常有效率,節約你的機器資源。不幸的是,C的高效是通過你手動做很多底層的管理(如內存)來達到的。底層代碼都是複雜極易出現bug的,會使你花極多的時間調試。如今的機器速度如此之快,這通常是得不償失——比較明智的做法是使用一種運行較慢、較低效率,但大幅節省你的時間的語言。因此,選擇Python。

其他對黑客而言比較重要的語言包括Perl和LISP。 Perl實用,值得一學;它被廣泛用於動態網頁和系統管理,因此即便你從不用Perl寫程序,至少也應該學會看。許多人使用Perl的理由和我建議你使用Python的理由一樣,都是為了避免用C完成那些不需要C高效率的工作。你會需要理解那些工作的代碼的。

LISP值得學習的理由不同——最終掌握了它時你會得到豐富的啟迪和經驗。這些經驗會使你在以後的日子裡成為一個更好的程序員,即使你實際上很少使用LISP本身。

當然,實際上你最好五種都會(Python,Java,C/C++,Perl和LISP)。除了是最重要的黑客語言外,它們還代表了截然不同的編程思路和方法,每種都會讓你受益非淺。

你可以從書本上學到語言的特點——只是一些皮毛,但要使書面知識成為自身技能只能通過實踐和虛心向他人學習。因此要作到(一)讀代碼及(二)寫代碼。

學習如何編程就象學慣用優美的自然語言寫作一樣。最好的做法是讀一些大師的名著,試著自己寫點東西,再讀些,再寫點,再讀些,再寫點……如此往複,直到你的文章達到你體會到的範文的簡潔和力量。

過去找到適合閱讀的好的代碼是困難的,因為幾乎沒有大型程序的源代碼能讓新手練手。這種狀況已經戲劇性地發生變化;開放源代碼軟體,編程工具和操作系統(全都由黑客寫成)現在已經隨處可見。讓我們在下一個話題中繼續討論……

2. 得到一個開放源代碼的Unix並學會使用、運行它。

假設你已經擁有或者能使用一台個人電腦。新手們能夠朝學習黑客技能邁出的最基本的一步就是得到一份Linux或BSD-Unix的一種,安裝在個人電腦上,並運行它。

沒錯,這世界上除了Unix還有其他操作系統。但它們都是以二進位形式發布的——你無法讀到它的源代碼,也不可能修改它。嘗試在運行DOS或Windows或MacOS的機器上學習黑客技術,就象是帶著腳鐐學跳舞。

除此之外,Unix還是Internet的操作系統。你可以學會上網卻不知道Unix,但你不了解Unix就無法成為一名Internet黑客。因此,今天的黑客文化在很大程度上是以Unix為中心的。(這點並不總是真的,一些很早的黑客對此一直很不高興,但Unix和Internet之間的聯繫已是如此之強,甚至連Microsoft也無可奈何。)

所以, 安裝一套UNIX(你可以同時安裝Linux及DOS/Windows在同一電腦上)。學習它,使用它,配置它。用它在Internet上衝浪。閱讀它的源代碼。修改它的源代碼。你會得到比在Microsoft操作系統上更好的編程工具(包括C,LISP,Python及Perl)。你會覺得樂趣無窮,學到在你成為大師之前意識不到的更多的知識。

3. 學會如何使用WWW和寫HTML

黑客文化建造的大多東西都在你看不見的地方發揮著作用,幫助工廠、辦公室和大學正常運轉,表面上很難看到它對非黑客的普通人的生活的影響。Web是一個大大的例外。即便政客也同意,這個巨大耀眼的黑客玩具正在改變整個世界。單是這個原因(還有許多其它的),你就需要學習掌握Web。

這並不是僅僅意味著如何使用瀏覽器(誰都會),而是要學會如何寫HTML,Web的標記語言。如果你不會編程,寫HTML會教你一些有助於學習的思考習慣。因此,先完成一個主頁。(網上有很多好的教程)

但僅僅擁有一個主頁不能使你成為一名黑客。Web里充滿了各種網頁。大多數是毫無意義的,零信息量垃圾——界面時髦的垃圾,注意,垃圾的水準都類似。

要想有價值,你的網頁必須有內容——它必須有趣或對其它黑客有幫助。這是下一個話題所涉及的……

4. 如果你不懂實用性的英語,學習吧。

英語是黑客文化和Internet的工作語言,你需要懂得以便在黑客社區順利工作,當前英語有著比其他語言豐富得多的技術辭彙,因此是一個對於工作來說相當好的工具。基於類似的原因,英文技術書籍的翻譯通常不令人滿意(如果有翻譯的話)。

Linus Torvalds,一個芬蘭人,用英語注釋他的代碼(很明顯這對他來說不是湊巧)。他流利的英語成為他能夠管理全球範圍的Linux開發人員社區的重要因素。這是一個值得學習的例子。


歡迎關注我博客

傑森黑客博客

傑森黑客博客


推薦閱讀:

故意讓別人蹭我網,我能做什麼?
如何在不確定安全性的 Wi-Fi 熱點下安全上網?
WPA2 被黑客破解,可以通過 Wi-Fi 竊聽任何聯網設備,這會帶來什麼影響?
經常聽說某某網站被黑,請問黑人家網站的基本原理是什麼呢?

TAG:網路安全 | 黑客Hacker |