黑客大神成长之路视频(硅谷增长黑客实战笔记小视频)
本文目录一览:
微软捕获的第一个中国黑客-刘蝶雨
《成长》:微软捕获中国黑客刘蝶雨大约在5年前,即1998年夏天,李开复第一次来到北京组建研究院的时候,口袋里揣着微软公司雄心勃勃的计划:6年投资8000万美元,寻找到100个最杰出的研究人员。那时候他的身边只有两个人。他们在北京中关村希格玛大厦落了脚。
从那时到今天,积聚在北京微软研究院里的这些年轻人,渐渐让全世界感到惊讶。微软中国研究院已经改名为微软亚洲研究院。聚集在希格玛大厦第五层里的年轻人已经有400多人。如今世界上第一流的5种杂志上发表的论文,每100篇中有5篇是从这个研究院出去的。而这些人中的大部分来自中国的大学校园。
2003年初,微软公司全球副总裁李开复博士与畅销书作家凌志军一起探讨微软亚洲研究院的一群“微软小子”的成功之路,即他们如何从普通人成长为天才和大师的。这正是本书的主题。
发现了一个黑客,在中国!
“我们发现了一个黑客,在中国。”
2003年1月的一个早上,张亚勤来到办公室,打开电子邮箱,这一行字立即弹出来。
邮件来自微软公司总部的安全小组。该小组的职责之一是监视因特网浏览器在全球的运行情况,专门寻找“臭虫”,然后弥补,同时还要监视网络上面神出鬼没的“黑客”行踪。
对于微软公司来说,网上“黑客”的性质是不同的。有些“黑客”的确对微软抱着敌意,专门寻找微软软件产品中的“臭虫”,利用软件本身存在的漏洞,去攻击那些软件使用者。这种攻击带有极大的破坏性,还让微软公司难堪。另外一些“黑客”则纯粹属于“技术狂”,他们专找大公司产品的毛病。
“可以肯定他是一个中国的学生,”他们告诉张亚勤,“在湘潭大学读书,名叫刘蝶雨。”
湖南·湘潭大学·刘蝶雨
刘蝶雨坐在他的拥挤不堪的房间里,盯着电脑屏幕,目不转睛,已经好几个小时一动不动。那上面是微软公司最得意的产品之一“因特网浏览器”。他知道他想找的东西就在那里面,他已经清晰地感觉到它的存在,可它为什么还不出来呢?……
他一边想,一边用手指敲击键盘。就在那一瞬间,“因特网浏览器”出了麻烦。
他咧开一嘴大板牙,嘿嘿笑了:“我破坏了它的规则,是不是?”
他身边有不少恨微软的人,看了他做的事情,不免大快人心。开心完了,又在猜测微软那边的动向。“真奇怪,”有个同学对他说,“微软还没有对你采取行动啊?”
正说笑着,电话铃声响了。他拿起来,就听那边有个声音说:“我是微软的。”
刘蝶雨当即目瞪口呆。
“也许你愿意和我们合作”
电话这边真是微软的,叫林斌,是微软亚洲研究院新技术开发部的经理。他接到张亚勤转发的邮件,按图索骥,很容易地找到了刘蝶雨。
“我们找你,没有什么特别的。”林斌感觉到对方的紧张,希望缓解气氛。
对方“啊”了一声,还是不说话。
林斌似乎想起了什么,赶忙自我介绍。说自己在北京,在微软亚洲研究院负责一个工程师小组。
“啊,啊。”
“我只是微软的一个技术人员。”
“啊,啊。”
“我们的院长是张亚勤。他是世界一流的计算机科学家。”
“啊,啊。”
“我曾经参加了视窗2000的制作。”
“那很酷。”对方终于说话了。
“我们对你的工作非常感兴趣。”
“啊。”刘蝶雨又不说话了。
“我们很想请你到北京来看看。也许你愿意和我们合作。”
“啊……”
“你寒假如果没有事的话就来吧。坐飞机坐火车都行。我们负责你的旅行费。”
“我很愿意。”刘蝶雨说,“也许吧。”
“他们是微软的吗?”
蝶雨放下电话,心里还在咚咚跳。他的第一个念头是:“这年头骗子太多啦。他们是微软的吗?”接着又一个念头:“就算他们是真的,到底为什么找我呢?该不是要把我关起来吧?”
蝶雨这样想着,第一次感觉到“黑客帝国”的惊险离奇。
实际上他不喜欢别人叫他“黑客”。“我没见过黑客。”有一次他这样说,“有的人把人家的网站都弄垮,叫黑客;有的人技术很好,也叫黑客。黑客的意思太多了,如果你认为黑客也是好人,那我就是黑客。”
说老实话,他完全是在不经意中走上这条路的,只是带着几分好奇、几分兴趣,还有几分想要证明自己能力的欲望。
事情是从2002年6月30日开始的。那一天,他偶然看到一篇文章,是一个外国人写的,举了不少例子说明怎样发现一个程序中的错误。很多在刘蝶雨看来非常困难的事情,顿时变得简单了,就像文章作者说的,“并不需要你有多么高深的知识和多高明的技巧,你只要从特殊的角度去看它。”
“我也一定能做到。”刘蝶雨这样想。
他的思路屡试不爽,他在微软的“浏览器”上到处找,不停地找到“臭虫”,但是微软也在找他。现在,微软终于找到他了。
北京·微软亚洲研究院
林斌放下电话,就去找研究院人力资源部的经理王谨,请她安排刘蝶雨在寒假期间到微软亚洲研究院来实习。
“这些都可以是假的。我只认电子邮件。”王谨觉得自己似乎不能说服刘蝶雨,只好转回头来找林斌:“这个孩子怎么这么有意思啊?他问你是不是微软的?”
林斌的电话再次来到湘潭:“你相信电子邮件,那很好,我们的电子邮件地址有‘微软’字样,这不会有假吧?”
春节过后,蝶雨终于来到希格玛大厦。
林斌致电微软总部,说他们要找到的“黑客”现在就在他身边。
“太棒了。”对方兴奋地说,“我们在一起开个会吧。”
“你们想要我做什么?”
林斌对他说:“你想做什么,就做什么。你如果想继续在‘浏览器’上找‘臭虫’。我们总部的产品组可以和你合作。你找到漏洞,他们马上弥补,打包,然后再给你。你能得到最新的程序,还没有公布的。”
两个人正在说着,蝶雨的手机响了。那是他父亲从湘潭打来的。
“没问题,我很安全。”蝶雨对着听筒说,又抬起头看着林斌:“我觉得你们微软和外面说的不大一样。”
总部佩服得一塌糊涂
蝶雨开始工作了。连续7天,他在“因特网浏览器”上找到7个“臭虫”,一天一个,而且都是很难找到的。他自己很兴奋,微软总部的人更兴奋,惊叹“这个人怎么这么厉害”。
“他的工作简直太好了。”林斌说。
第八天,林斌给了蝶雨一本书,是专门讲怎样编写安全代码的。作者是微软公司产品部门的一个经理,在书中列举了程序员常犯的错误,极为精致周到,所以这本书成为微软程序员的必读书。
林斌说:“读读这本书,你能更好地发现程序员的弱点在哪里。”
蝶雨大喜,拿回去看了第一章,脑子里面马上有了新主意。他试图以其人之道治其人之身,直接深入到书的作者领导的那个小组中去。
林斌听了他的想法,觉得不会有结果:“书是他自己写的,他不会在他领导的小组里犯错误。”
但是蝶雨更相信自己的直觉。
接下来的事情,让所有人都感到意外。蝶雨在“浏览器”的地址栏里发起了他的“战役”。当他使用一种方式来表达一个字母的时候,“浏览器”没有任何问题。他继续扩张到第二种方式,仍然没有问题。他一口气做下去,不断扩张出新的表达方式,字符串延伸到第81次,系统的毛病显示出来,他笑了,再接再厉,扩张出至少两百种变化,字符串形成前所未有的长度。结果发现,从第81种变化开始,一直到第100种,系统都会出现问题,最后他莫名其妙地进入一个银行的网页。
“真是太绝了。”林斌说,“别人的测试,只变化十几次、二十次,已经不得了。实际上他的变化是从0到200多次。就是在中间一个短暂的阶段,他发现了问题。问题报告总部,那边的人佩服得一塌糊涂。”
“这种测试,我们根本想像不到。”微软总部的安全小组回电说。
作者简介
凌志军:人民日报社主任编辑、著名记者和畅销书作家、法学硕士。主要著作有《变化:1990年-2002年中国实录》、《交锋:当代中国三次思想解放实录》、《追随智慧:中国人在微软》。
“微软小子”的成长模型
1.他们的成长与优越的家庭背景没有任何关系。
2.严格的家庭教育与宽松的家庭教育都能使孩子成才,当然,这些微软小子无一例外希望有一个宽松的教育环境。
3.考试的“第一名”与后来的成就之间没有必然联系。事实上,在学生时期?他们更多地处在第三到第十名的位置上。他们的座右铭是“不必在意名次”。
4.80%的人在中学和大学时期拥有广泛的兴趣,而不只是满足教学大纲的要求。他们用在背课本和做习题上的时间,大大低于同学中的平均值。
5.他们并没具有超越常人的智商,事实是,在任何一个学习阶段,情商都显示出比智商更重要。他们之所以与众不同,是因为他们拥有健康的性格、良好的学习态度和学习习惯。
6.他们全都在关键的时候遇到了优秀的老师,而这些老师之所以让他们难以忘怀,奥秘全在课堂之外。例如:教他们如何做人,教他们如何学习,告诉他们朝哪个方向发展。
7.作者还将“微软小子”称为E学生,即他们具有高情商(EQ),将学习视为乐趣(Enjoy),追求卓越(Excellence)。这显然与传统应试教育只注重开发学生智力,而忽视开发学生情商相悖。
黑客的成长之路怎样
如何成为一位 hacker
这真是一个好问题, 不止是原作者说他被问过很多次, 包括我和许多网络上的朋友们也常有这个困扰. 不过和作者不同的是, 我经常没有一个固定的答案 :p事实上我所能提供也只是自己的经验, 却没有足够的能力来肯定自己的看法是不是正确的. 这份文章应该可以减去大家不少的麻烦 :)
嗯!! 这次自告奋勇当起翻译, 虽然是起于晚上回到住的地方之后很无聊, 可以用来打发时间. 不过我翻了百行之后, 越翻越后悔. 主要是因为面有一些句子实在很难翻译, 这大概是因为我的英文底子不太好的关系吧!! 好不容易, 终于是翻完了. 为让句子更通顺或者是个人误解, 翻译后和原文有些出入, 这方面还请各位大大见谅. :-)
Thinker
--------------------------------------------------------------------------
如何成为一位 hacker
为何有这份文件?
身为 Jargon File 的编辑, 常有一些网络新手发 mail 问我 "如何成为一个厉害的hacker?". 但, 很奇怪的, 似乎没有任何的 FAQs 或 Web documents 说明这么重要的问题, 所以我写了一份我自己的看法.
如果你是以 offline 的方式在看这一份文件的某一个版本, 那么你可以在
"" 找到这份文件的目前最新版本.
怎么样才算是一位 Hacker ??
在 Jargon File 有一堆关于 `hacker' 这个名词的定义, 大部份必须是技术上的行家或热衷于解决问题, 克服限制的人. 然而, 如果你想知道如何成为一位 hacker,有两件事是很有关连的.
这可以追溯到几十年前第一台 minicomputer 刚诞生, ARPAnet 实验也刚展开的时代. 那时有一个由程序设计专家和网络名人所组成的, 具有分享特质的文化族群.这种文化的成员创造了 `hacker' 这个名词. 这些 Hacker 建立了 Internet,创造出我们现在使用的 UNIX 操作系统, 他们也使 Usenet 运作起来, 并且让 WorldWide Web 动起来. 如果你是这个文化的一部分, 如果你对这些种种有所供献, 而且这个文化的其它成员也认识你, 并称你为 hacker, 那么你就是一位 hacker.
在精神上, hacker 并不单指(限制于)这种软件 hacker 的文化. 有人也把 hacker的特质发挥在其它领域, 例如: 电子或者音乐方面. 事实上你会发现, 在任何一种科学或艺术的最高境界, 你都可以发现 hacker 的特质. 软件 hacker 们认为,那些类似的精神也都可以称为 "hacker". 有些人还主张 hacker 的通性是独立于任何媒介之上的, 不特别属于任何一种 hacker 所在的环境. 但是, 在这份文件,我们将把重点放在软件 hacker 们所需的技能、态度和发明`hacker' 这个词的分享文化的传统.
在另一个团体, 他们的成员也很大声的称自己为 hacker, 但是他们不是真的 hacker.这些人(大部分是男性青年)专门闯入电脑和入侵电话系统, 真正的 hacker 们称他们为 `cracker', 并且不愿意和他们在一些做任何事. hacker 们认为这些人都是懒惰, 不负责, 并且不够光明正大的, 并且认为能破解安全系统并不能使你成为一位hacker. 但是很不幸的, 很多记者和作家不明究理的使用 `hacker' 这个字来描述cracker 们; 这让真的 hacker 们很忿怒.
基本上, hacker 和 cracker 之间最主要的不同是: hacker 们创造新东西,cracker 们破坏东西.
如果你想要成为一位 hacker, 继续读下去吧. 如果你是想要成为一位 cracker, 那么就去读 alt.2600 newsgroup 并准备在你发现自己并不如想像中那么行时, 给自己一点评价. 所有关于 cracker 的事情就只有这些了.
Hacker 态度
Hacker 们解决了问题并创造新东西, 他们相信自由并自愿的互相帮助. 想要被别人接受成为一位 hacker, 你必须发自内心的表现出这种态度. 为了要很自发的表现出这种态度, 你就必须先完全认同这些态度.
如果你只是把学习 hacker 态度这件事当作一种能在这个文化赢得认同的途径,那么你己经乎略了真正的重点. 由衷的接受这些态度是很这要的, 这能帮助你学习并维持你的动机. 就像那些具创造性的艺术一样, 成为一位大师的最有效方法是学习大师们的精神; 并不只是学习知识和情绪而己.
所以, 如果你想要成为一位 hacker, 请反复的做下面的事情, 直到你完全领会它们:
1. 这世上充满著等著被解决的迷人问题.
作为一个 hacker 是充满快乐的, 但这是一种因为努力得到成果所带来的快乐. 努力的成果则带来动机. 成功的运动家的动机则来自于, 使他们的身体不断进化,并把自己推向物理上的极限所带来的快乐. 类似的情形, 要成为 hacker, 你必须要能从解决问题, 精进技术, 和运用知识的过程中感受到一种悸动.
如果你不是天生就能感受到这种悸动的人, 那么, 为了要成为 hacker, 你必须使自己变成这样的人. 否则, 你会发现你的 hacking energy 就会像性, 金钱, 和社交活动一样, 因为分心而被消磨掉.
(你也必须为你的学习能力建立一种信念直到你完成你的工作 -- 即使你只处理一小部份, 而你也不知道你到底还要学些什么东西才有辨法解决你的问题, 但是你会努力学习, 准备充足, 以应付下一个问题.)
2. 没有任何人必须一再的解决同一个问题.
富创造力的头脑是贵重而有限的资源. 有这么多迷人的新问题在那等著被解决.因此富创造力的头脑不该被浪费的用来重复发明轮子.
身为一位 hacker, 你必须了解到其它 hacker 们的时间也是很宝贵的 -- 所以,分享资讯, 解决问题和提供解决方案给其它 hacker 以解决新的问题, 这些几乎算是道义上的责任.
( 即使 hacker 们所拥有的大多是从其它 hacker 的身上得来的, 但这并不意谓你必需把你创造的作品全部交出来, 你可以卖出足够数量的产品, 以求得温饱, 给付房租和买电脑设备, 这和 hacker 的价值观并不相违背. 使用你的 hacking 技能以供给一个家庭的生活, 甚至是致富, 只要你仍不忘记你是一位 hacker, 那么这些行为并不会产生予盾. )
3. 无聊而单调的工作是有害的.
Hacker 们(有创造力的人也是一样)永远不该做一些无聊而单调并且愚蠢的反复性工作. 因为, 如果这样的事情发生的话, 这表示他们正在做一些不是他们该做的事-- 解决新的问题. 这样的浪费对任何人而言都是一种伤害. 无聊单调的工作不只是无趣而己, 而且是一种有害的物质.
要做为一位 hacker 要能尽可能的自动避免无聊, 对此你必须有相当的认知. 这不只是为了你自己而已, 也是为了所有的人(尤其是其它的 hacker).
(这有一些例外. 有时侯 hacker 们会去做一些被认为无聊或重复性的工作, 当做脑力的训练, 或是为了要学习得某种技能或某种你所没有的特殊经验. 不过这是一种选择, 任何人都不该被强迫面对无聊事. )
4. 自由才好.
hacker 们天性上是反对独裁的. 任何一个给你命令的人就能给你一个独裁式的工作,并且可以给你一些笨的可以的理由, 停止你解决任何吸引著你的问题. 所以任何独裁式的行为都会被挑战, 以免会危害到你和其它的 hacker 们.
(这和为反对而反对是不同的, 小孩子是需要被指导和阻止他们犯错. hacker 也会同意接受某些权威, 照著指示做以较短的时间得到他想要的. 不过那是一种有限且理性的协定; ..... )
专制在监察和保密这些事上是很有效的方法. 这些行使专制的人并不相信自愿性质的合作和资讯分享 -- 他们只相信在他们控制之下的合作关系. 所以, 身为一位 hacker,你必具有一种敌对的天性, 以对抗监察, 秘密和使用外力强迫或迷惑可以信任的人等行为. 你必须以互信做为你行为的基础.
5. 态度并非不等效于能力
要成为一位 hacker, 你必须开始培养这些态度. 但, 如果你只是单独的模仿某一种态度, 这并不能使你成为一位真正的 hacker, 也不会使你成为一位运动冠军或摇滚明星.
因此, 你必须学会猜疑态度和尊敬各种能力. Hacker 们不会想浪费时间在虚华的人的身上, 他们尊敬的是能力 -- 特别是身为 hacker 的能力, 但对于其它方面的能力也是充满敬意. 如果有能力追求一些很少人能弄懂的技术,追求精神上的技巧, 并能集中精神, 那就再好不过了.
如果你尊敬各种的能力, 那么你就会乐于自己发展这些能力 -- 这会使的努力工作和奉献成为一种剌激性的消遣而非一份苦差事. 这对于想要成为 hacker 的人而言, 是很重要的.
一位 Hacker 所需的基本技能
hacker 的精神态度是很重要的, 但技术则更是重要. hacker 的态度虽然是无可取代,但在梦想别的 hacker 开始也叫你 hacker 前, 有些基本的工具和技术是必备的.
随著新科技的发明和旧技术的取代, 这些工具随时间在慢慢的改变. 例如: 以往总是会学会用机器码写程序, 直到最近我们开始使用 HTML. 不过, 在 1996 年末,下面所举的工具是很明显的被需要的:
1. 学习程序设计.
当然, 这是基础的 hacking 技能. 在 1997 年, 理所当然的, 你必须学会 C. 但,如果你只是学一种语言, 那么你不能算是一位 hacker, 了不起只能算是一个programmer. 除此, 你还必须学会学会以独立于任何程序语言之上的概括性观念来思考一件程序设计上的问题. 要成为一位真正的 hacker, 你必须要能在几天之内将manual 内容和你目前己经知道的关连起学会一种新的语言. 也就是说, 你必会学会数个不同的语言.
还了 C 之外, 你至少还要会 LISP 或 Perl (Java 也正在努力的挤上这个名单;译者注: 我很怀疑这份名单说 :p ). 除了几重要的 hacking 常用语言之外,这些语言提供你一些不同的程序设计途径, 并且让你在好的方法中学习.
程序设计是一种复杂的技术, 我没辨法在这提供完整的学习步骤. 但是我能告诉你一些在书本上和课堂上所没有的东西 (有很多, 几乎全部最好的 hacker 们都是自习而来的). (a) 读别人的程序码 和 (b) 写程序, 这两项是不错的方法.
学习写程序就像在学习写一种良好的自然语言, 最好的方法是去看一些专家们所写的东西, 然后写一些你自己的东西, 然后读更多, 再写更多 ... 然后一直持续, 一直到你发展出一种属于自己的风格和特色.
要找到好的程序码来看是很一件很困难的事, 因为, 对菜鸟 hacker 们而言, 适于供他们阅读和努力的大型程序的 source 数量很少. 但这事己有了戏剧性的变化了;现在免费的供应的软件、程序设计工具和操作系统(大都公开提供 source, 而且全都是由 hacker 们写成的)到处可看. 进入下一个主题...
2. 取得一个免费的 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 装起来吧! (我自己是喜欢 Linux, 但是还有其它的东东可用.) 学习它, 让它运作起来, 让它陪你努力精进. 用他向整个 Internet 喊话. 看程序码,改程序. 有一天你成为一位高竿的 hacker, 你回头往后看时会发现, 你得到比Microsoft 操作系统所能提供的还要好的程序设计工具(包括 C, Lisp和 Perl).而且得到快乐, 并学到比你想像中的还要多的知识.
关于学习 Unix, 在 Loginataka 有更多的资料.()
看一下 Linux distribution 的目录或 Linux CD, 并把自己交付给它.
3. 学习使用 World Wide Web 并学会写 HTML.
在 hacker 文化创造出来的东西, 大多在他们的活动范围外被使用著, 如, 在工厂和辨公室或大学被漠漠的使用著. 但 Web 是一个很大的例外, 这个 hacker 眼中的大玩具甚至还被政客们接受, 并巧巧的在改变这个世界. 因此(还有很多好的理由),你必须学习 Web.
并不只是学习使用 browser (这太容易了)而己, 还要学会写 HTML 这个 Web 的标签语言. 如果你不知道如何设计程序, 写 HTML 也可以给一些习惯上的帮助.嗯!! 建立 home page 吧!
不过, 有一个 home page 并没任何特别之处能让你成为一位 hacker. Web 上到处都是 home page, 而且大部份都没什么重点, 没什么内容的烂泥 -- 很好看的烂泥巴,但是看起来都一样, 差不多.
()
为了让你的 page 有其价值, 它必须是有内容的东西 -- 它必须是有趣并且(或者)对其它 hacker 有用处的.
Hacker 文化的状况
就像大多数没有经济活动的文化一样, hackerdom 的运作是建立在名望之上. 当你尝试去解决一个有趣的问题时, 你所做事是否有趣, 你的解决方案是不是真的好用, 这些只有你的技术上的同好或前辈准备好为你做评价.
因此, 当你开始玩起 hacker 的游戏时, 你的主要分数是来自其它 hacker 们对你的技术的看法(这就是为什么只当其它的 hacker 都认为你是 hacker 时, 你才算是一位真正的 hacker). 这个事实被人们认为 hacking 是一种孤独的工作的印象所朦敝了; 也被hacker 文化的禁忌(现在己渐渐的朽坏了, 但依然存在) 和存在人们内心动机的自大或特权之间的冲突所朦敝.
具体的说, hackerdom 就是人类学家所说的「天才文化」.你在其中所得到的地位和名望并不来自于支配其它人, 或是因为长的漂亮, 或因为你有一些别人想要的东西, 而是因为你送出东西. 特别是, 你给送出你的时间,你的创造力和你的技术成果.
下面有五种事, 你会因为做了这些事而爱到 hacker 们尊敬:
1. 写免费的软件.
第一种是写那些其它 hacker 们觉的有趣或好用的程序, 并把 source 公开开放给整个 hacker 文化中的人使用.
hackerdom 最爱尊敬的是写出大而功能强的程序的人, 而且这程序是广为大家需要的,所以大家都在做用这些程序.
2. 帮忙 test 和 debug 免费的软件
hacker 们也尊敬帮忙 debug 免费软件的人. 在这个不是很完美的世界, 你不可避免的必须花掉大部分的软件发展周期在 debug 阶段上. 这就是为什么在任何免费软件发展者的脑子都会告诉你一件事, 好的 beta 测试者(能很很清楚的描述发生的状况,正确的发现问题出处, 可以容忍测试版本的 bug, 并且能进行一些简单的诊断程序)和红宝石一样贵重.
如果你是一只菜鸟, 试著开始去找一个你有兴趣的正在发展中的程序, 并且成为一位好的 beta 测试者. 从帮忙测试开始, 很自然的你开始帮忙 debug, 进而开始帮忙修改程序. 你将在这过程中学习到很多东西, 并,且和以后可以帮助你的人结下因果.
3. 公布有用的资讯.
另一项好事是收集和过滤有用和有趣的资讯, 整理成 Web page 或 FAQ 之类的文件, 让大家能很容易的收得.
几种主要技术 FAQ 的维护者都能得和免费软件的作者几乎一样多的尊敬.
4. 帮忙维持一些简单的工作.
hacker 文化是由一群自愿者维持运作著. 有一些工作很无趣但却必须维持正常运作的, 如: 管理 mailing list, 维护 newsgroup, 维持大的软件供应站台, 推动RFC 和其它技术标准.
做这类的事将会得到很多的尊敬, 因为大家都知道这些工作是很花时间, 但又不像玩弄程序码般有趣.
5. 为 hacker 文化而努力.
最后一项, 你可以为这个文化效劳, 并推广这个文化(例如, 写一份正确的入门手册,教别人如何成为一位 hacker :-)). 在你因为做了前面四件事之一而出名之前, 这不是你该做的事.
正确的说, hacker 文化并没有任何的领导者, 但在这文化有所谓的文化英雄,族群历史学家. 当你在其中混的够久之后, 你也许会成为这之中的一员. 注意:hacker 们并不相信族群, 喧骚自大的长者, 所以成为这样的长者是非常的危险.与其去和别人竞争, 你宁可为自己定位, 给自己一个亲切谱虚的身份.
Hacker 和 Nerd(怪胎) 的关系
成为一位 hacker, 你不需要成为令人讨厌的人(Nerd), 反于社会常态. 然而, 这对你而言却是非常有帮助的, 而且有很多 hacker 也是让人讨厌的人. 当一个社会的浪人有益于让你专心在真正重要的事情上面, 例如: 思考和 hacking.
因此, 有很多 hacker 们接受了 `nerd' 这种称呼, 甚至是使用 `geek'(杂耍演员) 这个字眼, 并引以为傲 -- 这是一种说明他们独主于世俗习惯之外的方法. 在 The GeekPage 可找到更多相关的讨论。
()
如果你能够适当的专注于 hacking 这事上面, 并且还保有你的生活, 那很好. 而且现在要做到这样, 比起以前我还是个菜鸟时容易. 主流文化现在也较为 techno-nerd (技术怪胎)所接受. 甚至有越来越多的人认为 hacker 们可以是很好的男朋友, 女朋友,老公和老婆. 在 Girl's Guide to Geek Guys 可找到更多相关的讯息。
()
如果你是因为没有生活而想开始 hacking, 那也没关系, 至少你就没有不能专心的问题了. 也许不久之后你就是一位 hacker 了.
风范要点
再一次的强调, 要成为 hacker 就要了解 hacker 的精神. 如果你并不玩电脑, 那么还是有一些事情可以帮助你. 这些不能成为 hacker 的代替品, 不过有不少的 hacker经常做这些事, 并认为这些事和 hacking 的本质有某种基本的关连.
* 阅读科学小说, 并参加小说的聚会(这是一个遇到 hacker 和原始 hacker们的好方法).
* 学禅, 并且(或者)接触战争的艺术. (钢铁般的纪律似乎很重要.)
* 训练你的耳朵对音乐的分析能力, 试著欣赏某种特殊的音乐, 并好好的玩一些乐器或者唱歌.
* 增加对于俏皮话和文字游戏的认识.
* 加强你的母语写作能力. (有很惊人数量的 hacker, 都是不错的作家. 这包括一位我所知道的最好的 hacker.)
你做越多这些事, 那么你就愈是天生 hacker 的料。
最后, 有一些事千万不要做.
* 不要使用愚蠢而夸张的代号(user ID)或化名.
* 不要加入 Usenet 的战火 (或者任何地方的).
* 不要自称为 `cyberpunk'(电脑捣蛋玩家),也不要浪费任何时间在这么做的人身上.
* 不要 post 或 email 一些充满错字或文法错误的文章.
做了这些事的结果只是为你招来大家的责难和批评. Hacker 们的记忆力都很好, 他们会
一直记住你的所做所为, 你可能要花数年的时间才有辨法让他们重新接受你.
其它的资源
Loginataka 有提到一些关于 Unix hacker 的训练和态度.
()
我也写了关于 Hackerdom 历史的简介.
()
Peter Seebach 也维护了一份很不错的 Hacker FAQ, 这份文件是专门给不知道
如何和 hacker 们相处的经理人们看的.
()
我也写了一份 paper「Cathedral and the Bazaar」, 上面解释 Linux 文化的运作
方式. 你可以在我写的page 上找的到.
()
常被提出的问题 (FAQ)
Q: 你能教我如何 hack 吗?
自从公开这个 page 以来, 我每周都收到很多人来信问"请告诉我所有关于 hacking的事". 但很不幸的, 我没有这个时间或者是精力去做这件事; 我的 hacking project已经用掉我 110% 的时间了.
就算我愿意, 但是基本上, hacking 是一种必须自习而成的生活态度和技术. 你会发现,当真正 hackers 愿意帮助你的同时,你将得不到他们的尊敬,若你求他们把会的东西都直接给你的话。
先学一点东西吧! 表现出你正在努力尝试, 你有能力独立学习的. 然后再带著你所遇到的难题去和 hacker 见面.
Q: 我要在那才能找的到一位真的 hacker 并和他们交谈?
很好, 不过很确定的, 不会在 IRC. 就我所能看到的, 那除了骗子和 cracker 之外什么也没有. 最好的方法是找到一个在你附近的 Unix 或 Linux 的使用群, 并加入他们,参加他们的聚会 (在 Linux Users' Group page on Sunite 有一份目录).
()
Q: 我应该从那一种语言开始学呢?
如果你真的不懂 HTML 的话, 那就从它开始吧. 市面上有很多外表光鲜亮丽的 HTML烂书. 我最喜欢的一本是 HTML: The Definitive Guide.
()
如果你已经准备好开始学 programming 了, 我会建议你从 Perl()或 Python()开始. 而 C 是真的很重要, 不过它也真的很难.
Q: 我要如何开始呢? 在那能拿到免费的 Unix 呢?
我在这 page 内到处都有指向取得 Linux 的地方. 要成为一位hacker, 你必须要有动机并且主动进取还要独立学习. 就从现在开始吧....
原著 Eric S. Raymond esr@snark.thyrsus.com
译者 Thinker.bbs@bbs.yzu.edu.tw
黑客手册 + 黑客日记 + 精通破解工具 + Hack编程实例精讲 + 缓冲区溢出?这都是??
黑客入门大全 黑客手册+黑客日记+精通破解工具+hack编程实例精讲+缓冲区溢出这些是你成长之路必学的!好了在重复一次 想学黑客先学做人!
学入侵看什么书好
入门级别 黑客攻防
给个参考资料
黑客惯用的入侵策略(黑客入侵十三招)
1:瞒天过海——数据驱动攻击
当有些表面看来无害的特殊程序在被送出或复制到网络主计算机上并被执行发起攻击时,就会发生数据驱动攻击。例如,一种数据驱动的攻击可以造成一台主计算机修改与网络安全有关的文件,从而使黑客下一次更容易入侵该系统。
2:趁火打劫——系统文件非法利用
UNIX系统可执行文件的目录,如/bin/who可由所有的使用者进行读访问。有些使用者可以从可执行文件中得到其版本号,从而结合已公布的数据知道系统会具有什么样的漏洞,如通过Telnet指令操作就可以知道Sendmail的版本号。禁止对可执文件的访问虽不能防止黑客对它们的攻击,但至少可以使这种攻击变得更困难。还有一些弱点是由配置文件、访问控制文件和缺省初始化文件产生的。最出名的一个例子是:用来安装SunOS Version 4的软件,它创建了一个/rhosts文件,这个文件允许局域网(因特网)上的任何人,从任何地方取得对该主计算机的超级使用者特权。当然,最初这个文件的设置是为了“从网上方便地进行安装,而不需超级使用者的允许和检查”。
“智者千虑,必有一失”,操作系统设计的漏洞为黑客开启了后门,最近的针对WIN95/WIN NT的一系列具体攻击就是很好的实例。
3:无中生有——伪造信息攻击
通过送出伪造的路由信息,构造系统源主计算机和目标主计算机的虚假路径,从而使流向目标主计算机的数据包均经过攻击者的系统主计算机。这样就给人提供敏感的信息和有用的密码。
4:暗渡陈仓——针对信息协议弱点攻击
IP地址的源路径选项允许IP数据包自己选择一条通往系统目的主计算机的路径。设想攻击者试图与防火墙后面的一个不可到达主计算机A连接。他只需要在送出的请求报文中设置IP源路径选项,使报文有一个目的地址指向防火墙,而最终地址是主计算机A。当报文到达防火墙时被允许通过,因为它指向防火墙而不是主计算机A。防火墙的IP层处理该报文的源路径被改变,并送出到内部网上,报文就这样到达了不可到达的主计算机A。
5:笑里藏刀——远程操纵
缺省的登录界面(sh#ll scr-ipts)、配置和客户文件是另一个问题区域, 它们提供了一个简单的方法来配置一个程序的执行环境。这有时会引起远程操纵的攻击:在被攻击主计算机上启动一个可执行程序,该程序显示一个伪造的登录界面。当使用者在这个伪装的界面上输入登录信息(使用者名、密码等)后,该程序将使用者输入的信息传送到攻击者主计算机,然后关闭界面给出提示信息说“系统故障”,要求使用者重新登录。此后,才会出现真正的登录界面。在我们能够得到新一代更加完善的操作系统版本之前,类似的攻击仍会发生。防火墙的一个重要作用就是防止非法使用者登录到受保护网的主计算机上。例如可以在进行报文过滤时,禁止外部主计算机Telnet登录到内部主计算机上。
6:顺手牵羊——利用系统管理员失误攻击
网络安全的重要因素之一就是人!无数历史事实表明:“保垒最容易从内部攻破”。因而人为的失误,如WWW服务器系统的配置差错,普通使用者使用权限扩大,这样就给黑客造成了可趁之机。黑客常利用系统管理员的失误,收集攻击信息。如用finger、netstat、arp、w、who、ps、ls、mail、grep命令和SATAN黑客工具软件。
7:借尸还魂——重新送出(REP-LAY)攻击
收集特定的IP数据包,篡改其数据,然后再一一重新送出,欺骗接收的主计算机。
8:调虎离山,声东击西——对ICMP报文的攻击
尽管比较困难,黑客们有时也使用ICMP报文进行攻击。复位向消息可以改变路由列表,路由器可以根据这些消息建议主计算机走另一条更好的路径。攻击者可以有效地利用复位向消息把连接转向一个不可靠的主计算机或路径,或使所有报文通过一个不可靠主计算机来转发。对付这种威胁的方法是对所有ICMP复位向报文进行过滤,有的路由软件可对此进行配置。单纯地抛弃所有复位向报文是不可取的:主计算机和路由器常常会用到它们,如一个路由器发生故障时。
9:抛砖引玉——针对源路径选项的弱点攻击
强制报文通过一个特定的路径到达目的主计算机。这样的报文可以用来攻陷防火墙和欺骗主计算机。一个外部攻击者可以传送一个具有内部主计算机地址的源路径报文。服务器会相信这个报文并对攻击者发回答报文,因为这是IP的源路径选项要求的。
对付这种攻击最好的办法是配置好路由器,使它抛弃那些由外部网进来的却声称是内部主计算机的报文。
10:混水摸鱼——以太网广播攻击
将以太网接口置为乱模式(promiscuous),截获局部范围的所有数据包,为我所用。
11:远交近攻——“跳跃式”攻击
现在许多因特网上的站台使用UNIX操作系统。黑客们会设法先登录到一台UNIX的主计算机上,通过该操作系统的漏洞来取得系统特权,然后再以此为据点访问其余主计算机,这被称为“跳跃”(Island-hopping)。黑客们在达到目的主计算机之前往往会这样跳几次。例如一个在美国黑客在进入美联邦调查局的网络之前,可能会先登录到亚洲的一台主计算机上,再从那里登录到加拿大的一台主计算机,然后再跳到欧洲,最后从法国的一台主计算机向联邦调查局发起攻击。这样被攻击网络即使发现了黑客是从何处向自己发起了攻击,管理人员也很难顺藤摸瓜找回去,更何况黑客在取得某台主计算机的系统特权后,可以在退出时删掉系统日志,把“藤”割断。你只要能够登录到UNIX系统上,就能相对容易成为超级使用者,这使得它同时成为黑客和安全专家们的关注点。
12:偷梁换柱——窃取TCP协议连接
网络互连协议也存在许多易受攻击的地方。而且互连协议的最初产生本来就是为了更方便信息的交流,因此设计者对安全方面很少甚至不去考虑。针对安全协议的分析成为攻击的最历害一招。
在几乎所有由UNIX实现的协议族中,存在着一个久为人知的漏洞,这个漏沿使得窃取TCP连接成为可能。当TCP连接正在建立时,服务器用一个含有初始序号的答报文来确认使用者请求。这个序号无特殊要求,只要是唯一的就可以了。客户端收到回答后,再对其确认一次,连接便建立了。
TCP协议规范要求每秒更换序号25万次。但大多数的UNIX系统实际更换频率远小于此数量,而且下一个更换的数字往往是可以预知的。而黑客正是有这种可预知服务器初始序号的能力使得攻击可以完成。
唯一可以防治这种攻击的方法是使初始序号的产生更具有随机性。最安全的解决方法是用加密算法产生初始序号。额外的CPU运算负载对现在的硬件速度来说是可以忽略的。
13:反客为主——夺取系统控制权
在UNIX系统下,太多的文件是只能由超级使用者拥有,而很少是可以由某一类使用者所有,这使得管理员必须在root下进行各种操作,这种做法并不是很安全的。黑客攻击首要对象就是root,最常受到攻击的目标是超级使用者Password。严格来说,UNIX下的使用者密码是没有加密的,它只是作为DES算法加密一个常用字符串的密钥。现在出现了许多用来解密的软件工具,它们利用CPU的高速度来究尽式搜索密码。攻击一旦成功,黑客就会成为UNIX系统中的“皇帝”。因此,将系统中的权利进行“三权分立”,如果设定信件系统信件管理员管理,那么信件管理员可以在不具有超级使用者特权的情况下很好地管理信件系统,这会使系统安全很多。
此外,攻击者攻破系统后,常使用金蝉脱壳之计——删除系统运行日志,使自己不被系统管理员发现,便以后东山再起。故有“用兵之道,以计为首”之说,作为网络攻击者会竭尽一切可能的方法,使用各种计谋来攻击目标系统。这就是所谓的三十六计中的连环计。