黑客的发展过程
From upnb游本网--笔记本电脑知识库(笔记本wiki)--您身边的电脑词典
hacker的精神态度是很重要的,但技术则更是重要.hacker的态度虽然是无可取代,但在梦想别的hacker开始也叫你hacker前,有些基本的工具和技术是必备的。我们对黑客充满了好奇和敬佩,是不是也想步入黑客学习之路。一起来寻找和发现漏洞,共同来维护互联网的安宁与清净。如何才能由一个菜鸟转变成黑客呢?应该学一些什么,去做一些什么,是我们必须了解的东西。
目录 |
学习程序设计
当然,这是基础的hacking技能.在1997年以来,理所当然的,你必须学会C.但,如果你只是学一种语言,那么你不能算是一位hacker,了不起只能算是一个程序员.除此,你还必须学会学会以独立于任何程序语言之上的概括性观念来思考一件程序设计上的问题.要成为一位真正的hacker,你必须要能在几天之内将目录内容和你目前己经知道的关连起学会一种新的语言.也就是说,你必会学会数个不同的语言.
还了C之外,你至少还要会C++或Perl.除了几重要的hacking常用语言之外,这些语言提供你一些不同的程序设计途径,并且让你在好的方法中学习.
程序设计是一种复杂的技术,我没辨法在这提供完整的学习步骤.但是我能告诉你一些在书本上和课堂上所没有的东西.几乎全部最好的hacker们都是自习而来的.(a)读别人的程序码和(b)写程序,这两项是不错的方法.学习写程序就像在学习写一种良好的自然语言,最好的方法是去看一些专家们所写的东西,然后写一些你自己的东西,然后读更多,再写更多...然后一直持续,一直到你发展出一种属于自己的风格和特色.
要找到好的程序码来看是很一件很困难的事,因为,对菜鸟hacker们而言,适于供他们阅读和努力的大型程序的代码数量很少.但这事己有了戏剧性的变化了;现在免费的供应的软件、程序设计工具和操作系统(大都公开提供代码,而且全都是由hacker们写成的.由此可见hacker对计算机发展的重要作用)到处可看.进入下一个主题...
学习使用和维护UNIX
我先假设你己经有一部个人电脑或者是可以使用任何一部,取得hacker技巧的第一个步骤是取得一份Linux或者一份免费的BSD-Unix,并将它安装在自己的机器,并使之顺利的运作.没错,在这个世界上除了Unix之外,还有其它的操作系统.但是他们只提供bianry,你不能看到他们的程序码,你也不能修改他们.想要在DOS或Windows或MacOS开始hacking,无疑就是要你绑著枷锁跳舞一样.
除此之外,Unix是Internet上的操作系统.当你在不懂Unix的情况下学习使用Internet时,你没辨法在不懂Unix的情况下成为Internet的hacker.因为这个原故,现在的hacker文化还是很牢固的以Unix为中心绕著.(这并不完全是正确的,而且有些活在旧时代的hacker甚至也不喜欢这种情形,但是Unix和Internet之间的共生共成己经到了牢不可破的地步,即使是Microsoft的大块肌肉也没能在上面留下明显的伤痕.)
因些,把Unix装起来吧!学习它,让它运作起来,让它陪你努力精进.用他向整个Internet喊话.看程序码,改程序.有一天你成为一位高竿的hacker,你回头往后看时会发现,你得到比Microsoft操作系统所能提供的还要好的程序设计工具(包括C,Lisp和Perl).而且得到快乐,并学到比你想像中的还要多的知识.
关于学习Unix,在Loginataka有更多的资料.
(http://www.hackervip.com/unix)
看一下Linuxdistribution的目录或Linux CD,并把自己交付给它.
学习使用脚本语言
在hacker文化创造出来的东西,大多在他们的活动范围外被使用著,如,在工厂和办公室或大学被漠漠的使用着.但Web是一个很大的例外,这个hacker眼中的大玩具甚至还被政客们接受,并悄悄的在改变这个世界.因此(还有很多好的理由),你必须学习Web.并不只是学习使用,需要学习的语言有html,asp,php,等脚本语言,最好熟悉jsp与.net等。多看看数据库相关的知识是有很大好处的。
网络体系学习
需要针对网络结构和服务以及协议有透彻的了解。所说的协议主要是TCP/IP,网络是黑客的生存环境,熟悉internet的工作原理和各种常用服务是必不可少的,精通TCP/IP协议,能够读懂IP等数据包报头也是基本的要求之一。掌握理论以后主要的是需要多实践,毕竟经验是从实践中得到的,经常接触网络是必需的。
系统漏洞和工具
必须对各种系统漏洞了如指掌。不只需要了解漏洞的利用方法,还需要熟悉漏洞产生的原因和修补办法等。这方面的资料现在网上很多,不过在漏洞更新速度上看,国外的要比国内的速度快一些。针对黑客工具就不做多解释,这些小工具使用起来都是比较简单。但不少是英文的,所以你必须对英语有所基础。
需掌握的其他知识
如果你想成为一个高级黑客的话,你必须还要掌握一些其他知识,比如病毒,密码学,硬件原理,无线通讯等一切与计算机相关的知识都要学,甚至你还要学入侵心理学,以及欺骗的艺术等。
向别人询问的技巧
在黑客世界里,当提出一个技术问题时,你能得到怎样的回答?这取决于挖出答案的难度,同样取决于你提问的方法。本指南旨在帮助你提高发问技巧,以获取你最想要的答案。
提问之前
在通过电邮、新闻组或者聊天室提出技术问题前,检查你有没有做到:
- 1.通读手册,试着自己找答案。
- 2.在faq里找答案(一份维护得好的faq可以包罗万象:)。
- 3.在网上搜索(个人推荐googleAbc8080)。
- 4.向你身边精于此道的朋友打听。
当你提出问题的时候,首先要说明在此之前你干了些什么;周全的思考,准备好你的问题,草率的发问只能得到草率的回答,或者根本得不到任何答案。
怎样提问
小心选择提问的场合。如果象下面描述的那样,你很可能被忽略掉或者被看作失败者:
- 1.在风马牛不相及的论坛贴出你的问题
- 2.在探讨高级技巧的论坛张贴非常初级的问题;反之亦然
- 3.在太多的不同新闻组交叉张贴
- 4.用辞贴切,语法正确,拼写无误
- 5.使用含义丰富,描述准确的标题
- 6.精确描述,信息量大
- 谨慎明确的描述症状。
- 提供问题发生的环境(机器配置、操作系统、应用程序以及别的什么)。
- 说明你在提问前是怎样去研究和理解这个问题的。
- 说明你在提问前采取了什么步骤去解决它。
- 罗列最近做过什么可能有影响的硬件、软件变更。
话不在多
你需要提供精确有效的信息。这并不是要求你简单的把成吨的出错代码或者数据完全转储摘录到你的提问中。如果你有庞大而复杂的测试条件,尽量把它剪裁得越小越好。
第一,表现出你为简化问题付出了努力,这可以使你得到回答的机会增加;
第二,简化问题使你得到有用答案的机会增加;
第三,在提炼你的bug报告的过程中,也许你自己就能找出问题所在或作出更正。
第四,只说症状,不说猜想
别问应该自己解决的问题
黑客们总是善于分辨哪些问题应该由你自己解决;因为我们中的大多数都曾自己解决这类问题。同样,这些问题得由你来搞定,你会从中学到东西。你可以要求给点提示,但别要求得到完整的解决方案。
问题解决后,加个简短说明
问题解决后,向所有帮助过你的人发个说明,让他们知道问题是怎样解决的,并再一次向他们表示感谢。如果问题在新闻组或者邮件列表中引起了广泛关注,应该在那里贴一个补充说明。
还是不懂
如果你不是很理解答案,别立刻要求对方解释。象你以前试着自己解决问题时那样(利用手册,faq,网络,身边的高手),去理解它。如果你真的需要对方解释,记得表现出你已经学到了点什么。
三思而后问
以下是几个经典蠢问题,以及黑客在拒绝回答时的心中所想:
- 提问:我能在哪找到x程序?
- 回答:就在我找到它的地方啊--搜索引擎的那一头。天呐!还有人不会用google吗?
- 提问:我的程序(配置、sql申明)没有用
- 回答:这不算是问题吧,我对找出你的真正问题没兴趣--如果要我问你二十个问题才找得出来的话--我有更有意思的事要做呢。在看到这类问题的时候,我的反应通常不外如下三种:
1.你还有什么要补充的吗?
2.真糟糕,希望你能搞定。
3.这跟我有什么相关?
- 提问:我的windows有问题,你能帮我吗?
- 回答:能啊,扔掉萎软的垃圾,换linux吧。
- 提问:我在安装linux(或者x)时有问题,你能帮我吗?
- 回答:不能,我只有亲自在你的电脑上动手才能找到毛病。还是去找你当地的linux用户组寻求手把手的指导吧(你能在这儿找到用户组的清单)。
- 提问:我怎么才能破解root帐号/窃取op特权/读别人的邮件呢?
- 回答:想要这样做,说明你是个卑鄙小人;想找个黑客帮你,说明你是个白痴!
找不到答案怎么办
如果仍得不到答案,请不要以为我们觉得无法帮助你。有时只是看到你问题的人不知道答案罢了。没有回应不代表你被忽视,虽然不可否认这种差别很难区分。
参考资料
- 相关条目
- 黑客
- 外部链接
