黑客是怎样练成的?
最经典的黑客技术入门知识
以我的理解,“黑客”大体上应该分为“正”、“邪”两类,正派黑客依靠自己掌握的知识帮助系统管理员找出系统中的漏洞并加以完善,而邪派黑客则是通过各种黑客技能对系统进行攻击、入侵或者做其他一些有害于网络的事情,因为邪派黑客所从事的事情违背了《黑客守则》,所以他们真正的名字叫“骇客”(Cracker)而非“黑客”(Hacker),也就是我们平时经常听说的“黑客”(Cacker)和“红客”(Hacker)。
无论那类黑客,他们最初的学习内容都将是本部分所涉及的内容,而且掌握的基本技能也都是一样的。即便日后他们各自走上了不同的道路,但是所做的事情也差不多,只不过出发点和目的不一样而已。
很多人曾经问我:“做黑客平时都做什么?是不是非常刺激?”也有人对黑客的理解是“天天做无聊且重复的事情”。实际上这些又是一个错误的认识,黑客平时需要用大量的时间学习,我不知道这个过程有没有终点,只知道“多多益善”。由于学习黑客完全出于个人爱好,所以无所谓“无聊”;重复是不可避免的,因为“熟能生巧”,只有经过不断的联系、实践,才可能自己体会出一些只可意会、不可言传的心得。
在学习之余,黑客应该将自己所掌握的知识应用到实际当中,无论是哪种黑客做出来的事情,根本目的无非是在实际中掌握自己所学习的内容。黑客的行为主要有以下几种:
一、学习技术:
互联网上的新技术一旦出现,黑客就必须立刻学习,并用最短的时间掌握这项技术,这里所说的掌握并不是一般的了解,而是阅读有关的“协议”(rfc)、深入了解此技术的机理,否则一旦停止学习,那么依靠他以前掌握的内容,并不能维持他的“黑客身份”超过一年。
初级黑客要学习的知识是比较困难的,因为他们没有基础,所以学习起来要接触非常多的基本内容,然而今天的互联网给读者带来了很多的信息,这就需要初级学习者进行选择:太深的内容可能会给学习带来困难;太“花哨”的内容又对学习黑客没有用处。所以初学者不能贪多,应该尽量寻找一本书和自己的完整教材、循序渐进的进行学习。
二、伪装自己:
黑客的一举一动都会被服务器记录下来,所以黑客必须伪装自己使得对方无法辨别其真实身份,这需要有熟练的技巧,用来伪装自己的IP地址、使用跳板逃避跟踪、清理记录扰乱对方线索、巧妙躲开防火墙等。
伪装是需要非常过硬的基本功才能实现的,这对于初学者来说成的上“大成境界”了,也就是说初学者不可能用短时间学会伪装,所以我并不鼓励初学者利用自己学习的知识对网络进行攻击,否则一旦自己的行迹败露,最终害的害是自己。
如果有朝一日你成为了真正的黑客,我也同样不赞成你对网络进行攻击,毕竟黑客的成长是一种学习,而不是一种犯罪。
三、发现漏洞:
漏洞对黑客来说是最重要的信息,黑客要经常学习别人发现的漏洞,并努力自己寻找未知漏洞,并从海量的漏洞中寻找有价值的、可被利用的漏洞进行试验,当然他们最终的目的是通过漏洞进行破坏或着修补上这个漏洞。
黑客对寻找漏洞的执著是常人难以想象的,他们的口号说“打破权威”,从一次又一次的黑客实践中,黑客也用自己的实际行动向世人印证了这一点——世界上没有“不存在漏洞”的程序。在黑客眼中,所谓的“天衣无缝”不过是“没有找到”而已。
四、利用漏洞:
对于正派黑客来说,漏洞要被修补;对于邪派黑客来说,漏洞要用来搞破坏。而他们的基本前提是“利用漏洞”,黑客利用漏洞可以做下面的事情:
1、获得系统信息:有些漏洞可以泄漏系统信息,暴露敏感资料,从而进一步入侵系统;
2、入侵系统:通过漏洞进入系统内部,或取得服务器上的内部资料、或完全掌管服务器;
3、寻找下一个目标:一个胜利意味着下一个目标的出现,黑客应该充分利用自己已经掌管的服务器作为工具,寻找并入侵下一个系统;
4、做一些好事:正派黑客在完成上面的工作后,就会修复漏洞或者通知系统管理员,做出一些维护网络安全的事情;
5、做一些坏事:邪派黑客在完成上面的工作后,会判断服务器是否还有利用价值。如果有利用价值,他们会在服务器上植入木马或者后门,便于下一次来访;而对没有利用价值的服务器他们决不留情,系统崩溃会让他们感到无限的快感!
第二节、黑客应掌握的基本技能
从这一节开始,我们就真正踏上学习黑客的道路了,首先要介绍的是作为一名初级黑客所必须掌握的基本技能,学习这可以通过这一节的阅读了解到黑客并不神秘,而且学习起来很容易上手。为了保证初学者对黑客的兴趣,所以本书采取了循环式进度,也就是说每一章节的内容都是独立、全面的,学习者只有完整的学习过一章的内容,才能够进而学习下一章的内容。
一、了解一定量的英文:
学习英文对于黑客来说非常重要,因为现在大多数资料和教程都是英文版本,而且有关黑客的新闻也是从国外过来的,一个漏洞从发现到出现中文介绍,需要大约一个星期的时间,在这段时间内网络管理员就已经有足够的时间修补漏洞了,所以当我们看到中文介绍的时候,这个漏洞可能早就已经不存在了。因此学习黑客从一开始就要尽量阅读英文资料、使用英文软件、并且及时关注国外著名的网络安全网站。
二、学会基本软件的使用:
这里所说的基本软件是指两个内容:一个是我们日常使用的各种电脑常用命令,例如ftp、ping、net等;另一方面还要学会有关黑客工具的使用,这主要包括端口扫描器、漏洞扫描器、信息截获工具和密码破解工具等。因为这些软件品种多,功能各不相同,所以本书在后面将会介绍几款流行的软件使用方法,学习者在掌握其基本原理以后,既可以选择适合自己的,也可以在“第二部分”中找到有关软件的开发指南,编写自己的黑客工具。
三、初步了解网络协议和工作原理:
所谓“初步了解”就是“按照自己的理解方式”弄明白网络的工作原理,因为协议涉及的知识多且复杂,所以如果在一开始就进行深入研究,势必会大大挫伤学习积极性。在这里我建议学习者初步了解有关tcp/ip协议,尤其是浏览网页的时候网络是如何传递信息、客户端浏览器如何申请“握手信息”、服务器端如何“应答握手信息”并“接受请求”等内容,此部分内容将会在后面的章节中进行具体介绍。
四、熟悉几种流行的编程语言和脚本:
同上面所述一样,这里也不要求学习者进行深入学习,只要能够看懂有关语言、知道程序执行结果就可以了。建议学习者初步学习C语言、asp和cgi脚本语言,另外对于htm超文本语言和php、java等做基本了解,主要学习这些语言中的“变量”和“数组”部分,因为语言之间存在内在联系,所以只要熟练掌握其中一们,其他语言也可以一脉相同,建议学习C语言和htm超文本语言。
五、熟悉网络应用程序:
网络应用程序包括各种服务器软件后台程序,例如:wuftp、Apache等服务器后台;还有网上流行的各种论坛、电子社区。有条件的学习者最好将自己的电脑做成服务器,然后安装并运行一些论坛代码,经过一番尝试之后,将会感性的弄清楚网络工作原理,这比依靠理论学习要容易许多,能够达到事半功倍的效果!
第三节、网络安全术语解释
一、协议:
网络是一个信息交换的场所,所有接入网络的计算机都可以通过彼此之间的物理连设备行信息交换,这种物理设备包括最常见的电缆、光缆、无线WAP和微波等,但是单纯拥有这些物理设备并不能实现信息的交换,这就好像人类的身体不能缺少大脑的支配一样,信息交换还要具备软件环境,这种“软件环境”是人类实现规定好的一些规则,被称作“协议”,有了协议,不同的电脑可以遵照相同的协议使用物理设备,并且不会造成相互之间的“不理解”。
这种协议很类似于“摩尔斯电码”,简单的一点一横,经过排列可以有万般变化,但是假如没有“对照表”,谁也无法理解一分杂乱无章的电码所表述的内容是什么。电脑也是一样,它们通过各种预先规定的协议完成不同的使命,例如RFC1459协议可以实现IRC服务器与客户端电脑的通信。因此无论是黑客还是网络管理员,都必须通过学习协议达到了解网络运作机理的目的。
每一个协议都是经过多年修改延续使用至今的,新产生的协议也大多是在基层协议基础上建立的,因而协议相对来说具有较高的安全机制,黑客很难发现协议中存在的安全问题直接入手进行网络攻击。但是对于某些新型协议,因为出现时间短、考虑欠周到,也可能会因安全问题而被黑客利用。
对于网络协议的讨论,更多人则认为:现今使用的基层协议在设计之初就存在安全隐患,因而无论网络进行什么样的改动,只要现今这种网络体系不进行根本变革,从根本上就无法杜绝网络黑客的出现。但是这种黑客机能已经超出了本书的范围,因而不在这里详细介绍。
二、服务器与客户端:
最简单的网络服务形式是:若干台电脑做为客户端,使用一台电脑当作服务器,每一个客户端都具有向服务器提出请求的能力,而后由服务器应答并完成请求的动作,最后服务器会将执行结果返回给客户端电脑。这样的协议很多。例如我们平时接触的电子邮件服务器、网站服务器、聊天室服务器等都属于这种类型。另外还有一种连接方式,它不需要服务器的支持,而是直接将两个客户端电脑进行连接,也就是说每一台电脑都既是服务器、又是客户端,它们之间具有相同的功能,对等的完成连接和信息交换工作。例如DCC传输协议即属于此种类型。
从此看出,客户端和服务器分别是各种协议中规定的请求申请电脑和应答电脑。作为一般的上网用户,都是操作着自己的电脑(客户端),别且向网络服务器发出常规请求完成诸如浏览网页、收发电子邮件等动作的,而对于黑客来说则是通过自己的电脑(客户端)对其他电脑(有可能是客户端,也有可能是服务器)进行攻击,以达到入侵、破坏、窃取信息的目的。
三、系统与系统环境:
电脑要运作必须安装操作系统,如今流行的操作系统主要由UNIX、Linux、Mac、BSD、Windows2000、Windows95/98/Me、Windows NT等,这些操作系统各自独立运行,它们有自己的文件管理、内存管理、进程管理等机制,在网络上,这些不同的操作系统既可以作为服务器、也可以作为客户端被使用者操作,它们之间通过“协议”来完成信息的交换工作。
不同的操作系统配合不同的应用程序就构成了系统环境,例如Linux系统配合Apache软件可以将电脑构设成一台网站服务器,其他使用客户端的电脑可以使用浏览器来获得网站服务器上供浏览者阅读的文本信息;再如Windows2000配合Ftpd软件可以将电脑构设成一台文件服务器,通过远程ftp登陆可以获得系统上的各种文件资源等。
四、IP地址和端口:
我们上网,可能会同时浏览网页、收发电子邮件、进行语音聊天……如此多的网络服务项目,都是通过不同的协议完成的,然而网络如此之大,我们的电脑怎么能够找到服务项目所需要的电脑?如何在一台电脑上同时完成如此多的工作的呢?这里就要介绍到IP地址了。
每一台上网的电脑都具有独一无二的IP地址,这个地址类似于生活中人们的家庭地址,通过网络路由器等多种物理设备(无需初级学习者理解),网络可以完成从一个电脑到另一个电脑之间的信息交换工作,因为他们的IP地址不同,所以不会出现找不到目标的混乱局面。但是黑客可以通过特殊的方法伪造自己电脑的IP地址,这样当服务器接受到黑客电脑(伪IP地址)的请求后,服务器会将应答信息传送到伪IP地址上,从而造成网络的混乱。当然,黑客也可以根据IP地址轻易的找到任何上网者或服务器,进而对他们进行攻击(想想现实中的入室抢劫),因而如今我们会看到很多关于《如何隐藏自己IP地址》的文章。
接下来我解释一下上面提到的第二个问题:一台电脑上为什么能同时使用多种网络服务。这好像北京城有八个城门一样,不同的协议体现在不同的网络服务上,而不同的网络服务则会在客户端电脑上开辟不同的端口(城门)来完成它的信息传送工作。当然,如果一台网络服务器同时开放了多种网络服务,那么它也要开放多个不同的端口(城门)来接纳不同的客户端请求。
网络上经常听到的“后门”就是这个意思,黑客通过特殊机能在服务器上开辟了一个网络服务,这个服务可以用来专门完成黑客的目的,那么服务器上就会被打开一个新的端口来完成这种服务,因为这个端口是供黑客使用的,因而轻易不会被一般上网用户和网络管理员发现,即“隐藏的端口”,故“后门”。
每一台电脑都可以打开65535个端口,因而理论上我们可以开发出至少65535种不同的网络服务,然而实际上这个数字非常大,网络经常用到的服务协议不过几十个,例如浏览网页客户端和服务端都使用的是80号端口,进行IRC聊天则在服务端使用6667端口、客户端使用1026端口等。
五、漏洞:
漏洞就是程序中没有考虑到的情况,例如最简单的“弱口令”漏洞是指系统管理员忘记屏蔽某些网络应用程序中的账号;Perl程序漏洞则可能是由于程序员在设计程序的时候考虑情况不完善出现的“让程序执行起来不知所措”的代码段,“溢出”漏洞则属于当初设计系统或者程序的时候,没有预先保留出足够的资源,而在日后使用程序是造成的资源不足;特殊IP包炸弹实际上是程序在分析某些特殊数据的时候出现错误等……
总而言之,漏洞就是程序设计上的人为疏忽,这在任何程序中都无法绝对避免,黑客也正是利用种种漏洞对网络进行攻击的,本章开始的字眼儿“网络安全”实际就是“漏洞”的意思。黑客利用漏洞完成各种攻击是最终的结果,其实真正对黑客的定义就是“寻找漏洞的人”,他们并不是以网络攻击为乐趣,而是天天沉迷在阅读他人的程序并力图找到其中的漏洞。应该说,从某种程度上讲,黑客都是“好人”,他们为了追求完善、建立安全的互联网才投身此行的,只不过因为有的黑客或者干脆是伪黑客经常利用具有攻击性的漏洞,近些年人们才对黑客有了畏惧和敌视的心理。
六、加密与解密:
在“协议”的讲解中,我提到了“由于网络设计的基层存在问题……”,简单的说这一问题是允许所有上网者参与信息共享,因而对某些商业、个人隐私在网络上的传送,就会暴露在众目睽睽之下,我们的信用卡、个人电子邮件等都可以通过监听或者截获的方式被他人的到,如何才能让这些信息安全呢?读者也许想到了“二战中”的间谍战:参战国家在使用电报的时候,都对代码进行了加密处理,只有知道了“密码薄”的接收者,才可以进行译码工作。正是这种古老的加密方式,在现代化的网络上也依然存在它旺盛的生命力,通过加密处理的信息在网络上传送,无论谁拿到了这份文件,只要没有“密码薄”仍然是白费力气的。
网络上最长使用的是设置个人密码、使用DES加密锁,这两种加密方式分别可以完成用户登陆系统、网站、电子邮件信箱和保护信息包的工作,而黑客所要进行的工作,就是通过漏洞、暴力猜测、加密算法反向应用等方式获得加密档案的明文,有人把“魔高一尺、道高一仗”用在这里,的确是在恰当不过了!网络上的加密方法和需要验证密码的系统层出不穷,黑客也在寻找破解这些系统的种种办法。
可以说,“漏洞”和“解密”是两个完全不同的黑客领域,对于不同的学习者对他们的偏好,将会直接影响到今后将会成为的黑客类型,因而在二者之间的选择,应根据个人喜好进行,本书将会侧重学习“漏洞”方面的知识。
七、特洛伊木马:
特洛伊木马是一个程序,这个程序可以做程序设计者有意设计的未出现过的事情。但是对于特洛伊木马所做的操作,不论是否用户了解,都是不被赞同的。根据某些人的认识,病毒是特洛伊木马的一个特例,即:能够传播到其他的程序当中(也就是将这些程序也变成特洛伊木马)。根据另外的人的理解,不是有意造成任何损坏的病毒不是特洛伊木马。最终,不论如何定义,许多人仅仅用“特洛伊木马”来形容不能复制的带有恶意的程序,以便将特洛伊木马与病毒区分开
第四节、常用黑客软件用途分类
一、防范:
这是从安全的角度出发涉及的一类软件,例如防火墙、查病毒软件、系统进程监视器、端口管理程序等都属于此类软件。这类软件可以在最大程度上保证电脑使用者的安全和个人隐私,不被黑客破坏。网络服务器对于此类软件的需要也是十分重视的,如日志分析软件、系统入侵软件等可以帮助管理员维护服务器并对入侵系统的黑客进行追踪。
二、信息搜集:
信息搜集软件种类比较多,包括端口扫描、漏洞扫描、弱口令扫描等扫描类软件;还有监听、截获信息包等间谍类软件,其大多数属于亦正亦邪的软件,也就是说无论正派黑客、邪派黑客、系统管理员还是一般的电脑使用者,都可以使用者类软件完成各自不同的目的。在大多数情况下,黑客使用者类软件的频率更高,因为他们需要依靠此类软件对服务器进行全方位的扫描,获得尽可能多的关于服务器的信息,在对服务器有了充分的了解之后,才能进行黑客动作。
三、木马与蠕虫:
这是两种类型的软件,不过他们的工作原理大致相同,都具有病毒的隐藏性和破坏性,另外此类软件还可以由拥有控制权的人进行操作,或由事先精心设计的程序完成一定的工作。当然这类软件也可以被系统管理员利用,当作远程管理服务器的工具。
四、洪水:
所谓“洪水”即信息垃圾炸弹,通过大量的垃圾请求可以导致目标服务器负载超负荷而崩溃,近年来网络上又开始流行DOS分散式攻击,简单地说也可以将其归入此类软件中。洪水软件还可以用作邮件炸弹或者聊天式炸弹,这些都是经过简化并由网络安全爱好者程序化的“傻瓜式”软件,也就是本书一开始指责的“伪黑客”手中经常使用的软件。
五、密码破解:
网络安全得以保证的最实用方法是依靠各种加密算法的密码系统,黑客也许可以很容易获得一份暗文密码文件,但是如果没有加密算法,它仍然无法获得真正的密码,因此使用密码破解类软件势在必行,利用电脑的高速计算能力,此类软件可以用密码字典或者穷举等方式还原经过加密的暗文。
六、欺骗:
如果希望获得上面提到的明文密码,黑客需要对暗文进行加密算法还原,但如果是一个复杂的密码,破解起来就不是那么简单了。但如果让知道密码的人直接告诉黑客密码的原型,是不是更加方便?欺骗类软件就是为了完成这个目的而设计的。
七、伪装:
网络上进行的各种操作都会被ISP、服务器记录下来,如果没有经过很好的伪装就进行黑客动作,很容易就会被反跟踪技术追查到黑客的所在,所以伪装自己的IP地址、身份是黑客非常重要的一节必修课,但是伪装技术需要高深的网络知识,一开始没有坚实的基础就要用到这一类软件了。
第五节、学习黑客的基本环境
一、操作系统的选择:
我们经常听说黑客酷爱Linux系统,这是因为Linux相对Windows提供了更加灵活的操作方式,更加强大的功能。例如对于IP地址的伪造工作,利用Linux系统编写特殊的IP头信息可以轻松完成,然而在Windows系统下却几乎不可能做到。但是Linux也有它不足的一面,这个系统的命令庞杂、操作复杂,并不适合初学者使用,而且对于个人学习者,并没有过多的人会放弃“舒适”的Windows、放弃精彩的电脑游戏和便捷的操作方式,去全心投入黑客学习中。而且对于初学黑客的学习者来说,大多数网络知识都可以在Windows系统中学习,相对Linux系统,Windows平台下的黑客软件也并不在少数,另外通过安装程序包,Windows系统中也可以调试一定量的程序,因此初步学习黑客没有必要从Linux入手。
本书使用的平台WindowsME,因为对于个人用户来说,NT或者2000多少有些苛刻——系统配置要求太高;然而使用95或者98又缺少某些必要的功能——NET、TELNET命令不完善。但是本书的大部分内容测试漏洞,从远程服务器出发,所以也不是非要WindowsME操作系统进行学习,对于少数系统版本之间的差异,学习者可以和我联系获得相应系统的学习方法。
二、需要的常用软件:
如果你的系统是WindowsME,那么告诉你一个好消息——你没有必要安装过多的额外软件,因为我们接触的黑客知识依靠系统提供给我们的命令和内置软件就足可以完成了!除了基本的操作系统以外,学习者还需要安装各类扫描器,之后下载一个比较优秀的木马软件、一个监听类软件,除此以外别无它求。如果有必要,读者可以自行安装本文上述软件,然后学习其用法,但是我要告诉你,对于各类炸弹、还有网络上各式各样的黑客软件,在学习完本书后,你都可以自己制作、自己开发,根本没有必要使用他人编写的软件。
对于扫描器和监听软件,我给出以下建议,并且在本书的后面还会对这几个软进行详细介绍:
扫描器:x-scanner
下载地址:
监听软件:analyzer
下载地址:
木马:BackOffice
下载地址:
这三个软件都是免费的,而且功能异常强大。像xscanner是国产软件,他集成了多种扫描功能于一身,并且同时支持控制台和图形界面两种操作方式,另外提供了详细的漏洞使用说明。对于初学者来说,具备了这两个工具,学习黑客已经绰绰有余了。
三、额外的工具:
如果可以安装下面的工具,将会对学习黑客有莫大的帮助,当然下面的软件主要是学习额外内容并为“第二部分”学习作铺垫用的,所以没有也不会妨碍本书的学习。
1、后台服务器:
拥有某些网络应用的后台服务程序,可以将自己的电脑设置成一个小型服务器,用来学习相应的网络应用,从“内部”了解其运作机理,这将会大大提高自己对服务器的感性认识,同时还能够在激活服务器的时候;监测自己服务器上的数据,如果有其他黑客来攻击,则可以清晰的记录下对方的攻击过程,从而学习到更多的黑客攻击方法。对于本书而言,主要介绍网站的Perl和asp等脚本语言漏洞,所以可以安装一个IIS或者HTTPD。然后在安装ActivePerl,使自己的服务器具备编译cgi和pl脚本的能力。使用自己的服务器还有一个好处,可以节省大量的上网时间,将学习、寻找漏洞的过程放到自己的电脑上,既节省了金钱、有不会对网络构成威胁,一举两得。
2、C语言编译平台:
今后在学习黑客的路途中,将会遇到很多“属于自己的问题”,这些问题网络上的其他人可能不会注意,所以无法找到相应的程序,这个时候学习者就要自己动手开发有关的工具了,所以安装一个Borland C++将会非常便捷,通过这个编译器,学习者既可以学习C语言,也能够修改本书后面列出的一些小程序,打造一个属于自己的工具库。
四、网络安全软件分类
现在我们来了解一下有关网络安全软件的分类,因为学习黑客知识是两个相互联系的过程:既学习如何黑,还要学会如何防止被黑。
1、防火墙:
这是网络上最常见的安全机制软件,防火墙有硬件的、也有软件的,大多数读者看到的可能更多都是软件防火墙。其功能主要是过滤垃圾信息(保证系统不会受到炸弹攻击)、防止蠕虫入侵、防止黑客入侵、增加系统隐私性(对敏感数据进行保护)、实时监控系统资源,防止系统崩溃、定期维护数据库,备份主要信息……防火墙可以将系统本身的漏洞修补上,让黑客没有下手的机会。另外对于拥有局域网的企业来说,防火墙可以限制系统端口的开放,禁止某些网络服务(杜绝木马)。
2、检测软件:
互联网上有专门针对某个黑客程序进行清除的工具,但是这类软件更多是集成在杀毒软件或者防火墙软件内的,对于系统内的木马、蠕虫可以进行检测并清除,软件为了保护系统不受侵害,会自动保护硬盘数据、自动维护注册表文件、检测内容可以代码、监测系统端口开放状态等。如果用户需要,软件还可以编写有关的脚本对指定端口进行屏蔽(防火墙一样具备此功能)。
3、备份工具:
专门用来备份数据的工具可以帮助服务器定期备份数据,并在制定时间更新数据,这样即便黑客破坏了服务器上的数据库,软件也可以在短时间内完全修复收到入侵的数据。另外对于个人用户,这类软件可以对硬盘进行完全映像备份,一旦系统崩溃,用户利用这类软件可以将系统恢复到原始状态,例如Ghost就是这类软件中的佼佼者。
4、日志纪录、分析工具:
对于服务器来说,日志文件是必不可少的,管理员可以通过日志了解服务器的请求类型和请求来源,并且根据日志判断系统是否受到黑客攻击。通过日志分析软件,管理员可以轻松的对入侵黑客进行反追踪,找到黑客的攻击来源,进而抓不黑客。这也就是为什么黑客在攻击的时候多采用IP地址伪装、服务器跳转,并在入侵服务器之后清除日志文件的原因
大家可以去我的网站()学习一下基础,没有基础想做黑客是很难的,你们说是不是
黑客入门教程
可以说想学黑客技术,要求你首先是一个“T”字型人才,也就是说电脑的所有领域你都能做的来,而且有一项是精通的。因此作为一个零基础的黑客爱好者来说,没有良好的基础是绝对不行的,下面我就针对想真正学习黑客的零基础朋友制作一个学习方案,注意!我是指“真正想学黑客技术”的朋友,如果你只是想玩玩,花一上午时间学学怎样用各种工具就可以了。
一、前期
1、了解什么是黑客,黑客的精神是什么。当然了解一下几大着名黑客或骇客的“发家史”也是很有必要的。
2、黑客必备的一些基础命令,包括DOS命令,以及UNIX / Linux下的命令。
3、远程扫描、远程刺探技术。包括通过系统自带命令的信息刺探以及使用工具扫描等。
4、密码破解。了解现在的密码破解的适用范围,以及操作技巧等等。
5、溢出攻击。溢出工具的使用方法。
6、注入攻击。注入攻击只是一个简称,这里还要包括XSS、旁注、远程包含等一系列脚本攻击技巧。
7、学会各种编译工具的使用方法,能编译所有ShellCode。
8、学会手动查杀任何木马、病毒,学会分析Windows操作系统,以使自己百毒不侵。
二、中期
1、学习所有Windows下服务器的搭建步骤(ASP、PHP、JSP)。
2、掌握例如Google黑客、cookies 、网络钓鱼、社会工程学等等等等。
3、学习HTML、JavaScript、VBScript。
4、学习标准SQL语言,以及大多数数据库的使用。
5、学习ASP,并拥有发掘ASP脚本漏洞的能力。
6、学习PHP,并拥有发掘PHP脚本漏洞的能力。
7、学习JSP,并拥有发掘JSP脚本漏洞的能力。
8、学习掌握最新脚本的特性性以及发掘漏洞的方法,例如眼下的WEB2.0。(A1Pass注:此文写于2007年8月)
三、后期
1、确定自己的发展方向
2、学习C语言,并尝试改写一些已公布的ShellCode。
3、学习C++,尝试编写一个属于自己的木马(如果你想自己编写木马的话)。
4、学习汇编
5、研究Linux系统内核。
6、学习缓冲区溢出利用技术。
7、ShellCode技术。
8、堆溢出利用技术、格式化串漏洞利用技术、内核溢出利用技术、漏洞发掘分析。
如果大家有什么不明白的,可以到百度或Google搜索,加重的黑体字即位关键字。
这里只是为大家列了一个大纲,不可能面面俱到,而且我自己也还没到达到最后的那个级别,所以肯定会有一些错误以及值得商榷之处,如果哪位网友看到了这篇文章,并发现了不妥之处
如何自学黑客技术
如何自学黑客技术
首先你要想明白为什么学这个,不管是爱好也好,想要把他作为职业也好,只有清楚了自己的目的后才可以持之以恒的去学习,因为计算机领域要学的知识是非常多的,没有长久的坚持是没办法学会的。
其次你要确立自己的学习方向,黑客领域的方向太多了,粗浅的分可以分为网络安全,软件安全,基础安全等,其中网络安全包括网络渗透,电信安全,通讯安全,软件安全可以分为授权控制,漏洞挖掘,加密解密等,基础安全包括理论安全,密码学等。
确立了自己的学习方向后就是怎么学的问题了,首先你要掌握常用的网络术语,以及电脑的基本操作,像肉鸡,远控,木马,后门,webshell等都要有所了解,常见的软件安装像操作系统的安装,虚拟机的安装等都要会,这是基础之中的基础。学会这些基础后就要了解常见的web安全漏洞原理及利用。
例如常见的owasp(top10)漏洞列表,如sql注入,XSS,CSRF,SSRF,文件上传,命令执行,本地文件包含和远程文件包含漏洞,XXE,逻辑漏洞,暴力破解及其他漏洞,如果大家不知道到哪里学这些可以关注功重号,白帽黑客训练营,里面有各类教程。
掌握了web漏洞原理及利用后接下来就是各类工具的使用了,所谓工欲善其事必先利其器,一款趁手的工具对你的漏洞挖掘会是锦上添花,常用的渗透工具主要有以下几类。
SQLMAP:一个开源自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的url的SQL注入漏洞,内置多个绕过插件,支持的多种数据库。
Burpsuite:用于攻击web 应用程序的集成平台,包含了许多工具,但我们主要用于抓取网络数据包和修改数据包来进行攻击。
AWVS:是一款知名的Web网络漏洞扫描工具,它通过网络爬虫测试你的网站安全,检测流行安全漏洞。
Metasploit:一款开源的安全漏洞检测工具,常用于操作系统攻击及权限保持。
NMAP:一个网络连接端扫描软件,用来探测一组主机是否在线,扫描主机端口,嗅探所提供的网络。
学会工具的利用后接下来就是编程语言的学习了,这里推荐大家学习下php,和python,php作为用户最多的后端语言对理解网站的运行原理有很大的帮助,至于python,大量的黑客工具都是python编写的,他也提供大量的库,这些库被广泛的应用于各种黑客攻击,所以要学会python的使用。
经过以上几步你就算是入门黑客技术了,之后就是经验的积累和大量的练习。
黑客攻防教学
中国黑客联盟
很不错的黑客网站-
下面的是复制的,浏览了下写得还不错:
或许你并不想成为一个黑客而是好奇,或许你只是为了高超的技术。无论是什么都需要刻苦的去学习,没有什么事情是不付出努力就能轻易成功的,之所以叫成功是因为那个人拥有着与众不同的本领,如果你想拥有超群的本领就要不断的去学习,而学习也要讲究一定的效率。今天inoker的这个开始也正式我作为一个站长所要为他付出的努力,我知道一个人支撑起一个站很难,不过当我撑到不难的时候我知道我的日子会很好过。
先来说说很多朋友们的烦恼,是不是每次进一个论坛或者在百度搜索一篇菜鸟文章都要很费劲的来读,甚至看到几行便没有信心在读下去,因为什么?因为读不懂。原有的充满好奇的那种信心也随之逝去了。最后因为难以继续学习下去而放弃了黑客。
我曾经有过深深的体会。好比一条狭窄的小路,当你选择工具的时候就必须考虑是自行车汽车还是路行,选择好的方法才能得到一条捷径。下面我把大致的一条菜鸟路告诉给大家,也是我几年来东一条路西一条路走出来的捷径,希望对你们能有所帮助。但要记得,不付出努力即使一米长的小路,你不迈腿一样是一事无成,要想学就得做好下苦心的准备,不是说你今天按照别人做好的动画跟着去做刷到了几个QB就说明你是个黑客了,你内心的喜悦如果可以唤醒对黑客技术的兴趣,那还是值得的。一句话,我希望你走下去。
自己一定要对自己有个计划。不能今天上午学学黑客有兴趣了下午又对游戏有兴趣了。学到的知识相当与没学,学东西一定要有总体上的安排。我哪天哪天要计划学什么。预计多少天掌握熟练。这些在你学之前一定要想。我们提倡一种分类的学习方法,下面我说说分类学习的基本内容。前几天看见网安的这个分类学习路线我想在这里在补充点。
1.黑客术语基础:主要把一些常用黑客术语搞清楚,比如什么叫webshell什么叫注入,什么叫旁注,还有一些常用工具的功能,比如nc,sc等等.还有就是当你遇到一个不明白的黑客术语时就应该首先搞清楚这个术语的意思,到百度或者GOOGLE先查好了他的意思。在进行学习,不可以朦胧的去接触不懂的知识。要先搞清楚。(学习一个星期)
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.改善完美别人的动画:
从以上可以看出,我们要做的教程,尽量不要重复别人的教程,要有自己的创意和想法。所以,大家可以参考以上方法进行做动画,同时在看别人教程时,不要一味的照抄照搬,要有自己的见解,要学会思考,要善于总结,在看别人教程时还要不停的反问自己,能进一步入侵吗?他的这种入侵方法有什么缺点吗?能进一步完善他的入侵方法吗?只要你做到以上几点,我相信,你的技术也会突飞猛进的。
首先,我们了解被破坏网吧的客观环境,要了解网吧人员的实地jian测等。尤其要注意看有没有闭路电视jian控。如果网吧人员对你的个人资料相当熟悉,就住手免的惹麻烦了。部分网吧要出示身份证也不要破坏了,免的惹麻烦。以下破坏方法不分先后,请量力灵活运用若干破坏组合。具体操作细节不详细所了。
1、COMS破坏
尽情乱调吧,电脑系统的好多问题都出在COMS设置错误!!例如:电源设置错误,硬盘数据调错等。这样的隐形错误好多都是不容易发现。最现眼莫过于临走前,加个开机密码,你只用几秒钟,网管人员就要用几分钟拆机去掉COMS密码。
2、CIH类破坏 CIH类的病毒够厉害吧
除了CIH病毒,其他攻击硬件的病毒也有不少哦!把病毒发作条件调到我们离开才发作。
3。硬盘类破坏硬盘破坏软件多到泛滥。黑客站(病毒站)每天都出现更厉害的新病毒。旧病毒“KV300逻辑锁”就蛮厉害的,软硬盘都无法启动!HD-FILL等蠕虫软件也是有大杀伤力,硬盘瞬间充满废文件,硬盘无法使用!相反的做法是低格硬盘类病毒,低格会物理伤害硬盘,多低格硬盘就会报废!
4、超频破坏
超频对电脑有损害,大家都知道!超频带来的不系统稳定,是隐性的,不容易发现!CPU软超频,显卡也超频,硬盘也可以超频等!超频也容易引来黑屏和蓝屏。此法阴险,需要破坏者有相当的电脑知识.
5、系统破坏 破坏必修课
对付网管软件(美萍,网管大师等),多留意黑客网站上的新破解方法。有心就很容易找到的。对付隐藏的系统克隆文件也要找出来(用PQ6等),大肆破坏,至少也要加些病毒进去呀。同时也要把隐藏的分区找出来,进行必要的破坏。最好我们也把搞点隐藏,可以隐藏网吧的分区(文件)等。该出手时,就出手,决对不要手下留情,对敌人仁慈就是对自己残忍!还有就是破坏网吧的杀毒软件和防火墙,这是必要的,象卸掉KV3000,安装假的KV3000等,至少也要让杀毒软件带毒。破防火墙的软件去病毒网站找找,包你有惊喜发现。当然我们也可以下载其他的系统保护软件,让WINDOWS锁定,让其他人不能设置保存。
6、破解密码 电脑上有很多密码是有用的
网管软件(美萍等)的密码都是可以破解的,黑客站有你需要的资料。不知道就去问资深的黑客吧。他们乐意帮谦虚的你。局域网的共享密码也可以破解了(我也是4月才接触到破解资料),把破坏延伸都其他的电脑,抗大战果。有空把网吧的代理主机的上网密码也破解出来。简单点就可以安装个“键盘幽灵”等键盘记录软件,什么帐号密码都会无法遁行。破解OICQ密码的软件,多到泛滥。把得到的帐号密码巧妙地公布天下!最好贼赃架祸是网吧泄露出去的!没有安全感的网吧是难有人去消费的,没有消费者是对网吧的最大破坏。
7、木马破坏在电脑上安装木马可谓历史悠久,破坏经验最多的方法
木马可以遥控网吧的电脑,远程破坏。这样的文章和软件随地是,不浪费时间重复介绍了。最好尽力把木马装到网吧代理上网主机上面。关键是要选对好的木马!用捆绑软件把病毒和木马和主要的软件捆绑起来!(例如IE和OICQ等)。黑客网站和木马网站会令你有新惊喜!
8、其他破坏简单硬件破坏,例如把主机的reset键堵住(等于按住reset不放),键盘”不小心“进水等
来点高风险的,去其他大网站贴不文明的文章,攻击zhengfu的文章,帮网吧引来不少”政治“问题,多贴文章,公安人员就会出手的啦!麻烦大大的有!也可以把电脑做成”跳板“,多些攻击”著名“网站,无论成功是否,IP会给网吧带来麻烦!
9、更多破坏多些留意电脑类书籍中的故障和维修等文章
里面有太多的经验可以吸收!有很多恼人的破坏方法。上黑客网站了解最新的共防知识!还有充分了解中国的刑法.
在你动手破坏之前,要想好先后次序。最好先去实地踩点,了解第一手详细资料,下次一次过动手。不要经常出入同一网吧,容易引起注意。个人安全一定要做足够。最好做个全屏遮盖的快截键(方式),预防网吧人员的走近。假如被发现就一定要XXX,(不是小弟强项,不知道写什么好)。
最后,笔者希望大家不要利用这些方法做不正当的事情就是了。
希望对你有所帮助-
网络黑客是怎么练成的
黑客是指计算机技术上的行家或热衷于解决问题,克服限制的人。黑客乐意解决和发现新问题,并乐意互相帮助。他们相信计算机中充满各种各样有趣的问题,并且这些问题一旦被自己解决,他们愿意让解决方法被所有人共享。他们感觉发现问题,解决问题,共享答案的过程是有趣的,并着迷地去做。他们将解决问题视为乐趣,相信技术应该是自由的,应该被所有人共享。
黑客是对拥有高深技术和崇高理念的孜孜不倦的计算机爱好者,工作者的尊称.
请大家不要误会黑客的意思... ...那些那些干坏事的人只是 骇客!~!
更可恶的是脚本小子,只会使用别人的黑客软件,自己连编程都不会,这样的人最垃圾,我也最瞧不起这样的人!~!
入门最基本的方法就是从C语言入手。现在的C语言本身就包含了嵌入汇编,使学习汇编语言的时候更加方便. 如果你准备花5年的时间成为高手,那我敢说,你根本不用等到时间内成为高手,即使5年后,你还是成不了高手。入门和积累是很重要的。到达高手的境界以后,所有的事物都是触类旁通的。当你成为C语言的高手,那么你很容易进入到操作系统的平台里面去.
一定要养好身体,身体是革命的本钱,不要熬夜,'玩'计算机'玩'到深夜,真的没有必要,白天多的是时间,不要熬夜了,睡到上午11点,真的得不偿失.
白天睡觉,晚上干活,那当然累死了,这是自己折腾自己.
其实学习起来也挺简单的,只要有坚强的意志力和超乎常人的决心,首先要学习一门语言,C语言入门最简单了,32个关键字,不要认为C语言神秘难学,千万不要被VB,MFC,C++ builder,java误导自己,这是一个打下扎实基础的时刻.C++这个东西一定要学习,因为现在的VC++,c++ builder都是基于C++的。如果你有了C语言基础,那么学习C++吧,等到全部基础掌握了,就学习VC++,要是感觉难了,就用C++ builder来过渡.等到你能独立编写一些软件的时候,你就学习数据结构,你会发现,这个东西对你太重要,不要认为难就不学了,只要你有坚强的意志力, 什么都能办到的.不要认为你现在无所不能,是一个高手了,打开调试,里面的汇编你看懂了,那你现在去学习汇编语言,对于调试程序太重要了,可以说一个软件不是编出来的,是调试出来的!~!
黑客是怎样练成的,需要那些方面具体的知识,我是指网络黑客。
如何成为一名黑客
什么是黑客?
Jargon File中对“黑客”一词给出了很多个定义,大部分定义都涉及高超的编程技术,强烈的解决问题和克服限制的欲望。如果你想知道如何成为一名黑客,那么好,只有两方面是重要的。(态度和技术)
长久以来,存在一个专家级程序员和网络高手的共享文化社群,其历史可以追溯到几十年前第一台分时共享的小型机和最早的ARPAnet实验时期。 这个文化的参与者们创造了“黑客”这个词。 黑客们建起了Internet。黑客们使Unix操作系统成为今天这个样子。黑客们搭起了Usenet。黑客们让WWW正常运转。如果你是这个文化的一部分,如果你已经为它作了些贡献,而且圈内的其他人也知道你是谁并称你为一个黑客,那么你就是一名黑客。
黑客精神并不仅仅局限于软件黑客文化圈中。有些人同样以黑客态度对待其它事情如电子和音乐---事实上,你可以在任何较高级别的科学和艺术中发现它。软件黑客们识别出这些在其他领域同类并把他们也称作黑客---有人宣称黑客实际上是独立于他们工作领域的。 但在本文中,我们将注意力集中在软件黑客的技术和态度,以及发明了“黑客”一词的哪个共享文化传统之上。
另外还有一群人,他们大声嚷嚷着自己是黑客,实际上他们却不是。他们是一些蓄意破坏计算机和电话系统的人(多数是青春期的少年)。真正的黑客把这些人叫做“骇客”(cracker),并不屑与之为伍。多数真正的黑客认为骇客们是些不负责任的懒家伙,还没什么大本事。专门以破坏别人安全为目的的行为并不能使你成为一名黑客, 正如拿根铁丝能打开汽车并不能使你成为一个汽车工程师。不幸的是,很多记者和作家往往错把“骇客”当成黑客;这种做法激怒真正的黑客。
根本的区别是:黑客们建设,而骇客们破坏。
如果你想成为一名黑客,继续读下去。如果你想做一个骇客,去读 alt.2600 新闻组,并在发现你并不像自己想象的那么聪明的时候去坐5到10次监狱。 关于骇客,我只想说这么多。
---黑客的态度
黑客们解决问题,建设事物,信仰自由和双向的帮助,人人为我, 我为人人。
要想被认为是一名黑客,你的行为必须显示出你已经具备了这种态度。要想做的好象你具备这种态度,你就不得不真的具备这种态度。但是如果你想靠培养黑客态度在黑客文化中得到承认,那就大错特错了。因为成为具备这些特质的这种人对你自己非常重要,有助于你学习,并给你提供源源不断的活力。同所有有创造性的艺术一样,成为大师的最有效方法就是模仿大师的精神---不是仅从理智上,更要从感情上进行模仿。
So,如果你想做一名黑客,请重复以下事情直到你相信它们:
1 这世界充满待解决的迷人问题
做一名黑客有很多乐趣,但却是些要费很多气力方能得到的乐趣。 这些努力需要动力。成功的运动员从健壮体魄,挑战自我极限中汲取动力。同样,做黑客,你必须
要有从解决问题,磨练技术,锻炼智力中得到基本的热望。如果你还不是这类人又想做黑客,你就要设法成为这样的人。否则你会发现,你的黑客热情会被其他诱惑无情地吞噬掉---如金钱、性和社会上的虚名。
(同样你必须对你自己的学习能力建立信心---相信尽管你对某问题所知不多,但如果你一点一点地学习、试探,你最终会掌握并解决它。)
2. 一个问题不应该被解决两次
聪明的脑瓜是宝贵的,有限的资源。当这个世界还充满其他有待解决的有趣问题之时,他们不应该被浪费在重新发明轮子这些事情上。 作为一名黑客,你必须相信其他黑客的思考时间是宝贵的---因此共享信息,解决问题并发布结果给其他黑客几乎是一种道义,这样其他人就可以去解决新问题而不是重复地对付旧问题。
(你不必认为你一定要把你的发明创造公布出去,但这样做的黑客是赢得大家尊敬最多的人。卖些钱来给自己养家糊口,买房买车买计算机甚至发大财和黑客价值也是相容的,只要你别忘记你还是个黑客。)
3. 无聊和乏味的工作是罪恶
黑客们应该从来不会被愚蠢的重复性劳动所困扰,因为当这种事情发生时就意味着他们没有在做只有他们才能做的事情---解决新问题。这样的浪费伤害每一个人。因此,无聊和乏味的工作不仅仅是令人不舒服而已,它们是极大的犯罪。 要想做的象个黑客,你必须完全相信这点并尽可能多地将乏味的工作自动化,不仅为你自己,也为了其他人(尤其是其他黑客们)。
(对此有一个明显的例外。黑客们有时也做一些重复性的枯燥工作以进行“脑力休息”,或是为练熟了某个技巧,或是获得一些除此无法获得的经验。但这是他自己的选择---有脑子的人不应该被迫做无聊的活儿。)
4 自由就是好
黑客们是天生的反权威主义者。任何能向你发命令的人会迫使你停止解决令你着迷的问题,同时,按照权威的一般思路,他通常会给出一些极其愚昧的理由。因此,不论何时何地,任何权威,只要他压迫你或其他黑客,就要和他斗到底。
(这并非说任何权力都不必要。儿童需要监护,罪犯也要被看管起来。 如果服从命令得到某种东西比起用其他方式得到它更节约时间,黑客会同意接受某种形式的权威。但这是一个有限的、特意的交易;权力想要的那种个人服从不是你的给予,而是无条件的服从。)
权力喜爱审查和保密。他们不信任自愿的合作和信息共享---他们只喜欢由他们控制的合作。因此,要想做的象个黑客,你得对审查、保密,以及使用武力或欺骗去压迫人们的做法有一种本能的反感和敌意。
5. 态度不能替代能力
要做一名黑客,你必须培养起这些态度。但只具备这些态度并不能使你成为一名黑客,就象这并不能使你成为一个运动健将和摇滚明星一样。成为一名黑客需要花费智力,实践,奉献和辛苦。
因此,你必须学会不相信态度,并尊重各种各样的能力。黑客们不会为那些故意装模做样的人浪费时间,但他们却非常尊重能力---尤其是做黑客的能力,不过任何能力总归是好的。具备很少人才能掌握的技术方面的能力尤其为好,而具备那些涉及脑力、技巧和聚精会神的能力为最好。
如果你尊敬能力,你会享受提高自己能力的乐趣---辛苦的工作和奉献会变成一种高度娱乐而非贱役。 要想成为一名黑客,这一点非常重要。
基本黑客技术
黑客态度是重要的,但技术更加重要。态度无法替代技术,在你被别的黑客称为黑客之前,有一套基本的技术你必须掌握。 这套基本技术随着新技术的出现和老技术的过时也随时间在缓慢改变。例如,过去包括使用机器码编程,而知道最近才包括了HTML语言。但现在明显包括以下技术:
1 学习如何编程
这当然是最基本的黑客技术。如果你还不会任何计算机语言,我建议你从Python开始。它设计清晰,文档齐全,对初学者很合适。尽管是一门很好的初级语言,它不仅仅只是个玩具。它非常强大,灵活,也适合做大型项目。
但是记住,如果你只会一门语言,你将不会达到黑客所要求的技术水平,甚至也不能达到一个普通程序员的水平---你需要学会如何以一个通用的方法思考编程问题,独立于任何语言。要做一名真正的黑客,你需要学会如何在几天内通过一些手册,结合你现在所知,迅速掌握一门新语言。这意味着你应该学会几种不同的语言。
如果要做一些重要的编程,你将不得不学习C语言,Unix的核心语言。其他对黑客而言比较重要的语言包括Perl和LISP。 Perl很实用,值得一学;它被广泛用于活动网页和系统管理,因此即便你从不用Perl写程序,至少也应该能读懂它。 LISP 值得学习是因为当你最终掌握了它你会得到丰富的经验;这些经验使你在以后的日子里成为一个更好的程序员,即使你实际上可能很少使用LISP本身。
当然,实际上你最好四种都会。 (Python, C, Perl, and LISP). 除了是最重要的四种基本语言,它们还代表了四种非常不同的编程方法,每种都会让你受益非浅。
这里我无法完整地教会你如何编程---这是个复杂的活儿。但我可以告诉你,书本和课程也不能作到。几乎所有最好的黑客都是自学成材的。真正能起作用的就是去亲自读代码和写代码。
学习如何编程就象学习用自然语言写作一样。最好的做法是读一些大师的名著,试着自己写点东西,再读些,再写点,又读些,又写点....如此往复,直到你达到自己在范文中看到的简洁和力量。
过去找到好的代码去读是困难的,因为很少有大型程序的可用源代码能让新手练手。这种状况已经得到了很大的改善;现在有很多可用的开放源码软件,编程工具和操作系统(全都有黑客写成)。这使我们自然地来到第二个话题...
2 得到一个开放源码的Unix并学会使用、运行它
我假设你已经拥有了一台个人计算机或者有一个可用的( 今天的孩子们真幸福 :-) )。新手们最基本的一步就是得到一份Linux或BSD-Unix,安装在个人计算机上,并运行它。
当然,这世界上除了Unix还有其他操作系统。但它们都是以二进制形式发送的---你无法读到它的源码,更不可能修改它。尝试在DOS或Windows的机器上学习黑客技术,就象是在腿上绑了铁块去学跳舞。
除此之外,Unix还是Internet的操作系统。你可以不知道Unix而学会用Internet,但不懂它你就无法成为一名Internet黑客。因为这个原因,今天的黑客文化在很大程度上是以Unix为中心的。(这点并不总是真的,一些很早的黑客对此很不高兴,但Unix和Internet之间的共生关系已是如此之强,甚至连微软也无可奈何)
So,装一个Unix---我个人喜欢Linux,不过也有其他选择。(你也可以在同一台机器上同时运行DOS,Windows和Linux)学会它。运行它。用它跟Internet对话。读它的代码。试着去修改他。你会得到比微软操作系统上好的多的编程工具(包括C,Lisp, Python, and Perl),你会得到乐趣,并将学到比你想象的更多知识。
关于学习Unix的更多信息,请看 The Loginataka.
要得到Linux,请看: 哪里能得到 Linux.
3 学会如何使用WWW和写HTML
大多黑客文化建造的东西都在你看不见的地方发挥着作用,帮助工厂、办公室和大学正常运转,表面上很难看到它对他人的生活的影响。Web是一个大大的例外。即便政客也同意,这个巨大而耀眼的黑客玩具正在改变整个世界。单是这个原因(还有许多其它的), 你就需要学习如何掌握Web。
这并不是仅仅意味着如何使用浏览器(谁都会),而是要学会如何写HTML,Web的标记语言。如果你不会编程,写HTML会教你一些有助于学习的思考习惯。因此,先建起自己的主页。
但仅仅建一个主页也不能使你成为一名黑客。 Web里充满了各种网页。多数是无意义的,零信息量垃圾。
要想有价值,你的网页必须有内容---必须有趣或对其它黑客有用。这样,我们来到下一个话题....
黑客文化中的地位大教堂与集市”,解释了许多Linux和开放源码文化的运做原理。我还在它的续集“大教堂与集市”,解释了许多Linux和开放源码文化的运做原理。我还在它的续集“开拓智域”一文中有更直接的论述。
FAQ(常问问题解答)
问:你会教我如何做黑客吗?
自从第一次发布此页,我每周都会得到一些请求,要我“教会他如何做黑客”;遗憾的是,我没有足够的时间和精力来做这个;我自己的编程项目已经占用了我110%的时间。
甚至即便我想教你也不可能,黑客基本上是一项需要你自行修炼的的态度和技术。你会发现即使真正的黑客想帮助你,如果你乞求他们填鸭一样教你的话,你不会赢得他们的尊敬。
首先去学习。显示你在尝试,你能靠自己去学习。然后再去向黑客们请教问题。
问:你会帮我“黑”掉一个站点吗?或者教我怎么黑它?
No. 任何在读完FAQ后还问此问题人,都是愚不可及的家伙,即使有时间我也不会理睬。 任何发给我的此类mail都会被忽略或被痛斥。
问:哪里能找到真正的可以与之交流的黑客?
最佳办法是就近参加一个Unix或Linux的用户组,参加他们的会议。
问:我该先学哪种语言?
HTML, 如果你还不会的话.
但它不是一个真正的编程语言。当你准备编程时,我建议你从 Python开始. 会有很多人向你推荐Perl,它比Python还受欢迎,但却难学一些。
C 是非常重要的,但它却是最难学的。不要一开始就尝试学C。
问:开放源码的自由软件不会使程序员饿肚子吗?
这似乎不大可能---到目前,开放源码软件产业创造了而不是消灭了大量工作机会。
如果写一个程序比不写一个程序只是个纯粹经济上的收益的话,无论它是否免费,只要它被完成,程序员都会从中得到回报。而且,无论软件是由多么的free的方法开发的,对更新的软件应用的需求总是会有的。
0条大神的评论