当前位置: 首页 » 黑客业务 » pc黑客主题_黑客主题app

pc黑客主题_黑客主题app

作者:hacker 时间:2023-03-33 阅读数:290人阅读

谁有黑客帝国的数字屏保呀?

我见过一3D的,从设置中调成2D就可以了,而且可以换颜色非常逼真。叫做"The Matrix Reloaded Screensaver 3D",用百度搜一下。

黑客是怎么黑pc的?

过滤你的数据包 获取你的机子信息 然后发送有问题的数据包给你 你的PC还真接受了

黑客帝国有几部PC的游戏

黑客帝国 游戏

1.《Enter the Matrix》

2.《The Matrix: Path of Neo》

就两部

想掌握黑客类的知识应该学些什么呢

基础:

如何去学习

·要有学习目标

·要有学习计划

·要有正确的心态

·有很强的自学能力

学习目标

·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访问和监控(AC)

·病毒防范(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

·T –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个日夜努力换来的

什么是黑客,什么IT精英

什么是黑客

在日本出版的《新黑客字典》中,对黑客是这样定义的:“喜欢探索软件

程序并从中增长了其个人才干的人。他们不像绝大多数电脑使用者那样,只规

规矩矩地了解别人指定的狭小的一部分知识”。在Open Source(开放源代码)

旗手ERIC。S。RAYMOND的《The New Hacker‘s Dictionary》一文中,对“Hac

ker”的解释包括了下面几类人:

一:那些喜欢发掘程序系统内部实现细节的人,在这种发掘过程中,他们延

伸并扩展着自己的能力,这和只满足于学习有限知识的人是截然不同的

二:那些狂热地沉浸在编程乐趣的人,而且,他们不仅仅是在理论上谈及编

三:一个高超的程序设计专家

四:一个喜欢智力挑战的,并创造性地突破各种环境限制的人

五:一个恶意的爱管闲事的家伙,他试图在网络上逡巡溜达的同时发现一些

敏感的信息

对最后一类人,ERIC。S。RAYMOND赋予其更恰当的一个称谓,那就是“Cra

cker”,有就是我们常说的“骇客”,指那些乐于破坏的家伙。当他们在给这个

社会制造着麻烦和噱头的同时,就只能被冠以“骇客”之名。正是因为“骇客”

的存在,纯正而古老的黑客精神才愈来愈被人曲解,但在真正崇尚黑客精神的一

类人眼里,“骇客”与“黑客”是如此的泾渭分明,不可混淆!更有甚者,有些

黑客们说:在黑客界,斗争只存在于“黑客”和“骇客”之间!

黑客群体有自己特有的一套行为准则(the hacker ethic)美国学者史蒂夫

。利维在其著名的《黑客电脑史》中所指出的黑客道德准则(the hacker ethic)

就是对其最深刻的表述:

(1),通往电脑的路不止一条

(2),所有的信息都应当是免费共享的

(3),一定要打破电脑集权

(4),在电脑上创造的是艺术和美

(5),计算机将使生活更加美好

可以看出,“黑客道德准则”正是这个独特的文化群体一直心照不宣地遵循

着的“江湖规矩”,以这种“江湖规矩”作为参照,黑客们的行为特征也就清晰

地呈现给我们了!

一,热衷挑战

黑客们多数都有很高的智慧,至少在某些方面表现突出。他们喜欢挑战自己

的能力,编写高难度程序,破译电脑密码给他们带来了神气的魔力,认为运用自

己的智慧和电脑技术去突破某些著名的防卫措施森严的站点是一件极、富刺激性

和挑战性的冒险活动。

二,崇尚自由

黑客文化首先给人的突出感觉就是一种自由不羁的的精神。黑客如同夜行的蝙

蝠侠,任意穿梭在网络空间中。黑客在电脑虚拟世界发挥着自己的极致的自由。

他们随意登录在世界各地的网站,完成着现实生活中无法企及的冒险旅程,实现

着个人生命的虚拟体验。正是这种对自由的体验,使黑客如同吸毒上瘾一样,对

网络入侵乐此不疲

三,主张信息共享

黑客们认为所有的信息都应当是免费的和公开的,认为计算机应该是大众的工

具,而不应该只为有钱人私有。信息应该是不受限制的,它属于每个人,拥有知

识或信息是每个人的天赋权利

四,反叛精神

黑客文化带有某种反叛世界的倾向,黑客们蔑视传统,反抗权威,痛恨集权,

其行为模式以深深烙上了无政府主义的印记。互联网的一个显著特点是平等和共

享,对于在网络中存在的许多禁区,黑客们认为是有违网络特征的,他们希望建

立一个没有权威,没有既定程序的社会,所以他们一般都喜欢与传统,权威和集

权做永无休止的斗争

五,破坏心理

黑客们要在网络空间来去自如,蔑视权威,就必然夹带着某些破坏行动。只有

突破计算机和网络的防护措施才能随意登录站点,只有颠覆权威设置的程序才能

表示反抗权威,也只有摧毁网络秩序才能达至人人平等的信息共享目标。当然,

由于心理动机不同,不同黑客行为的破坏程度也是有所区别的!

这样一种独特的黑客文化,必然孕育出黑客群体所读有的文化态度!

(1)这个世界不断涌现出许多迷人的问题等待人们去解决

(2)一个问题不应该重复地解决两次

(3)无聊而乏味的工作是可恶的

(4)自由是美好的,黑客们需要的是自由协作和信息共享,而不是专制和所

谓的权威

(5)态度并不能成为能力的替代品,想成为黑客,只有态度是不够的,更重

要的是,还在于努力工作,倾心奉献,钻研和实践!

言语

我写这个并不是因为我已经厌倦了一遍又一遍地回答同样的问题,而是考虑到这确实是一个有意义

的问题,其实很多人(90%)确实需要问这个问题而没有问!

我被问了很多次有关安全领域的问题,比如,什么编程语言你最推崇?应该读什么书作为开始?总

而言之,就是如何安全领域内成为一个有影响的人。既然我的答案和一般的答案有所不同,我打算把我

的看法说出来!

-------------------------------------------

从哪里开始?

-------------------------------------------

我的观点可能和一般的看法不同,如果你刚刚起步,我建议你不要从Bugtrap,Technotronic,Roo

tshell等站点开始。没错!不要从那里开始(尽管它们是很好的站点,而且我的意思并不是说不要去访

问这些站点)原因非常简单。如果你认为你通晓“安全”,就是知道最新的漏洞,到头来你将会发现自

己一无所获

我同意,知道什么地方有漏洞是十分必要的,但是这些并不能够为你的高手之路打下坚实的基础。

比如,你知道RDS是最新的漏洞,知道如何下载并使用对这个漏洞进行利用的Script工具,知道如何修补

这个漏洞(也许,很多人只知道如何攻击,并不知道如何防范),可是,3个月后,补丁漫天飞舞,这个

漏洞已经不存在了。。。。。现在你的那些知识还有什么用?而且你可能根本没有理解对漏洞的分析!

你应该学习的知识是什么?是分析?还是攻击手段?

这是我想要再次强调的,人们可能没有注意,已经有很多人认为他们只要知道最新的漏洞就是安全QQ:9750406

专家,NO!所有他们知道的只不过是“漏洞”,而不是“安全”

例如,你知道有关于phf的漏洞,showcode.asp的漏洞,但是你知道它们为什么会成为GGI漏洞的吗?

你知道如何编一个安全的 通用网关程序吗?你会根据一个GGI的状态来判断它有可能有哪些漏洞或哪方

面的漏洞吗?或者,你是不是只知道这些GGI有漏洞呢?

所以,我建议你不要从漏洞开始,就当它们不存在(你知道我的意思),你真正需要做的是从一个

普通用户开始。

---------------------------------------------

做一个用户

---------------------------------------------

我的意思是你至少要有一些基本的常规的知识。例如:你如果要从事Web Hacking,你是否连浏览器都

不会用?你会打开Netscape,打开IE?很好!你会输入姓名,你知道HTML是网页,很好,你要一直这样下

去,变成一个熟练的用户。你会区别ASP和GGI是动态的,什么是PHP?什么是转向,COOKIES,SSL?你要知

道任何一个普通用户可能接触到的关于Web事物。不是进攻漏洞,仅仅是使用。没有这些基础(也许是枯燥

的)知识你不可能成为高手,这里没有什么简捷

好!现在你知道这里的一切了,你用过了。在你Hack Unix之前至少要知道如何Login,Logout,如何

使用Shell命令,如何使用一般的常用程序(MAIL,FTP,WEB,LYNX等)。

要成为一个管理员,你需要掌握如下基本的操作

------------------------------------------------

成为一个管理员

------------------------------------------------

现在你已经超过了一个普通用户的领域了,进入更复杂的领域,你要掌握更多的知识。例如:Web服务

器的类型,与其他的服务器有什么区别?如何去配置它,像这样的知识,你知道得越多句意味着你更了解

它是如何工作的?它是干什么的?你理解HTTP协议吗?你的HTTP1.0和HTTP1.1之间的区别吗?WEBDAV是什

么?知道HTTP1.1虚拟主机有助于建立你的Web服务器吗?

你需要了解操作系统,例如你从来没有配置过NT,你怎么可能去攻击一个NT服务器呢?你从来没有用

过Rdisk,用户管理器,却期望Crack一个管理员的密码,得到用户权限?你想使用RDS,而你在NT下的操作

一直用的是图形界面?你需要从管理员提升到一个“超级管理员”,这不是指你有一个超级用户的权限,

而是你的知识要贯穿你的所有领域。很好!你会在图形界面下填加用户,在命令行你也能做到吗?而且,

system32里的那些。exe文件都是干什么的?你知道为什么USERNETCTL必须要有超级用户权限?你是不是

从来没有接触过USERNETCTL?不要以为知道如何做到就行了,要尽可能知道得更多,成为一名技术上的领

导者,但是。。。

-------------------------------------------------

你不可能知道所有的事情

-------------------------------------------------

这是我们不得不面队的事实。如果你认为你可以知道所有的事情,你在自欺欺人。你需要做的是选择

一个领域,一个你最感兴趣的一个领域,并进一步学习更多的知识。

要想成为一名熟练的用户,成为一个管理员,成为一名技术上的领导者,直至成为某一个领域中最优

秀的人,不是仅仅学习如何使用Web浏览器,怎样写GGI就行了,你知道HTTP和WEB服务器的原理吗?知道

当服务器不正常工作时应该怎样使它工作吗?当你在这个领域内有一定经验时,自然就知道怎样攻击和防

御了!

这其实是很简单的道理,如果你知道所有的 关于这方面的知识。那么,你就可以知道安全隐患在哪

里?面对所有的漏洞时(新的,旧的,将来的)你自己就能够发现未知的漏洞(你这时已经是一个黑客高

手了)

你找漏洞可以,但你必须首先了解漏洞的来源。所以,放下你手中的Whisker的拷贝,去学习GGI到底

是干什么的?它们是怎么使通过HTTP的Web服务器有漏洞的?很快你就会知道到底Whisker是干什么的了!

编程语言

在所有最近被提及的问题中,最唱听到的就是:“你认为应该学习什么编程语言”

我想,这要看具体情况了,如你花费多少时间来学习?你想用这种语言来做什么QQ:9750406

事?想用多长时间来完成一个程序?这个程序将完成多复杂的任务?

以下有几个选项:

*Visual Basic

一种非常容易学习的语言,有很多关于这方面的书,公开的免费源代码也很多,

你应该能够很快地使用它。但是这个语言有一定的局限。它并不像C++那样强大,你

需要在Windows下运行它,需要有一个VB的编程环境。想用VB来编写攻击代码或补丁

是十分困难的

*C++

也许是最强大的语言了。在所有的操作系统里都存在。在网上有成吨的源代码和

书是免费的,包括编程环境。它比VB复杂,掌握它需要花费的时间也比掌握VB长。

简单的东西容易学,功能强大的东西理解起来也要困难一些,这需要你自己衡量

*Assembly

也许是最复杂的语言,也是最难学的语言。如果你把它当作自己的初入门语言。

那么将会难的你的头要爆裂。但是,先学会了汇编,其余的编程语言也就变得容易

多了。市场上的汇编书籍有减少的趋势。不过,汇编知识在某些方面至关重要,比

如缓冲溢出攻击。

*perl

一种很不错的语言。它像VB一样容易学习,也像VB一样有局限性。但是它在多数

操作平台上都能运行(unix和windows,所以这是它的优势。有很多这方面的书籍

而且是完全免费的。你可以用它来制作一些普通的攻击工具,它主要用于一些文本

方式的攻击技巧,并不适合制作二进制程序

我想,这是你所有想知道的,有把握的说,C/C++是最佳选择。

-----------------------------------------

推荐的书

-----------------------------------------

另外一个问题是我推荐去读什么书。

我个人手边有以下的几本书作为参考。

Applied Cryptography (Btuce Scheiner)

Linux Application Development (mike johnson and troan)

windows assembly language and systems programming(barry kauler)

perl cookbook (tom chirstiansen and nathan torkington)(o‘reilly)

linux programmer‘s reference (richard petersen)(osborne)

all the o‘reilly ‘pocket reference‘books,which include vi.emacs.python.

perl.pl/sql。nt.javascript.sendmail.tcl/tk.perl/tk

我总是在这些书的一些基本规则里思考。

我的心得是,大部分o‘reilly的书都非常耐读,找一个你感兴趣的领域专心去

钻研吧!

远程联线

远程联线是一个不可思议的工具, 它让您超越时空一般的使用远端的

电脑系统。有了远程联线, 电脑软硬体资源的分享变得很有效率, 打个比

喻来说, 您可以连线载入位於某处的超级电脑(假设您有存取权), 做天体

模拟运算, 当结果迅速的产生时, 您可以将资料传送到另一部图形模拟工

作站, 由那里产生一份实体模拟图。在这例子中, 您先后用到了一部超级

电脑以及一部图形处理工作站, 而您双手真正接触到的, 很可能是一部位

於实验室的个人电脑(PC), 可是其他这两台电脑可能在什麽地方也不知道!

是的, 您一点也无须知道, 通过Internet的远程联线工具, 您只需到知道

那里有您要的CPU时间,以及应用软件, 如此而已。

远程联线可以应用於跨越时空的环境, 当然也同样适用於办公室区域

网络间, 一台电脑模拟成另一台电脑的终端机而连线载入对方系统。

什麽是Telnet?

也许读者们听说过Telnet是一种通讯协定之一, 对於这种说法, 您大

可以忽略掉。 读者不妨简单的想, Telnet就是让刚刚以上的说明成为具体

可行的一个实际的工具, 也就是说, 我们只是单纯的视Telnet为一个执行

远程联线的工具之一, 让一台电脑连线载入另外一部电脑。

笔者记得前面已经提到很多次, 在网络上的应用程式多半是采用

Client/Server模式, 用中文来说, 也就是一定有一端是请求端, 请求端

执行Telnet请求程式。在主机这一端则有装置有伺服程式来接受连线请求

,不过在多半的情况, 主机端则Client与Server两者都有。

远程联线的使用程序与您平常在本地通过电话线或任何其他方式载入

一部主机并没有很大不一样, 您在对方主机一定要有一个私人使用帐号,

以及您的通行密码, 这样子您才有办法连线进入该主机系统。细节上请参

考下面的示意。另外, 在Internet上, 有相当多的各式各样服务系统也是

通过这方式来提供服务, 其中决大部分是免费的服务, 像是Hytelnet、BBS

、Gopher及Archie等等就是, 这类系统通常开放有公用帐号, 且无须使用

密码。

Telnet在功能上, 是模拟成远端一部电脑系统的终端机, 通过网络连

线载入该电脑系统。假如您实验室中有跑DOS的个人电脑, 该电脑也已经连

结上校园网络, 您可以请人帮您装设一套NCSA Telnet软件, 之后您就可以

做笔者以上所介绍的这些不可思议的事情 (笔者一直都没有吹牛:-) )。

NCSA Telnet是专门为DOS设计的一个请求程式, 至於在Unix机器上, 您就

无须担心, 因为Unix是网络的天生好手, 它一出厂就已经具备有Telnet这

东西, 而且通常是请求程序与服务程序同时具备。

□ 二. □例:远程联线远端某个主机系统

┌——————————————————————————————————————————┐

│ $ telnet jet.ncic1.ac.cn ← 连线 │

│ Trying 159.226.43.26... │

│ Connected to 159.226.43.26 │

│ Escape character is ‘^]‘. │

│ │

│ SunOS UNIX (sparc4) (连线成功) │

│ │

│ login: feng ←输入账号

password:******* ←输入密码

│ Last login: Thu Dec 30 11:37:17 from 159.226.43.45 │

│ SunOS Release 4.1.1 (sparc15) #1: Tue Nov 12 05:15:31 CST 1996 │

└——————————————————————————————————————————┘

远程联线就是这麽简单, 上面的操作就是一个典型远程联线的应用,

我们应用远程联线的功能,来取用远端某一台主机系统提供的某某公

共服务系统, 至於很多商业性服务系统也可以用这方式来连线进入。

在Internet, 我们可以发现很多有趣的服务系统, 比方说,

假如您喜欢下棋, 您也找得到一些围棋服务系统, 利用这系统您可以与另

外一个人下围棋 ( 注意是对手是「人」, 而您可能不知道对手人在地球的

那个角落, 妙哉! ) , 其他像是网络游戏系统(比方MUD)您有时间也可以一

试。其他的服务系统像是BBS、IRC及Gopher等等也可以通过Telnet来取得

服务。

□ 三. Telnet、Tn3270 浅介

远程联线时, 您只须知道几个Telnet的指令, 大抵如何连线, 如何中

途执行本端指令 (您自己主机这一端) , 如何结束连线及万一不得已时使

用的中断连线等等。Telnet的使用并没有像FTP有很多独特的操作指令。

不论在DOS或Unix环境, Telnet 都是个非常容易的指令, 您几乎不

需要任何学习, 您该知道的顶多只是一开始的连线动作, 以及最后要退出

对方系统时的操作程序, 以下笔者只介绍两个指令:

Unix下的telnet与tn3270在操作上几乎是一样的, 所不同者, 只因为

所连线对方系统并不一样, 所以操作程序稍稍有异, 所以您要注意的只是,

「遵照」对方系统的要求程序来中断连线即可。举例来说, 您用tn3270连

线IBM VM系统时, 「logoff」 (大小写不拘) 就是您结束连线的指令, 您

除非不得已, 不要用Unix〃kill〃指令来结束连线。

在Unix下, 无论telnet或 tn3270, 您都可以按CTRL-] (CTRL 键及]

键同时按, 有时得按两次 ) 暂时回到 telnet/tn3270 环境, 这时您可

以执行telnet/tn3270本身的指令, 会出现下面画面。

┌——————————————————————————————————————————┐

│ telnet ? ← ? 符号求助 │

│ Commands may be abbreviated. Commands are: │

│ │

│ close close current connection │

│ display display operating parameters │

│ mode try to enter line-by-line or character-at-a-time mode │

│ open connect to a site │

│ quit exit telnet │

│ send transmit special characters (‘send ?‘ for more) │

│ set set operating parameters (‘set ?‘ for more) │

│ status print status information │

│ toggle toggle operating parameters (‘toggle ?‘ for more) │

│ z suspend telnet │

│ ? print help information │

│ telnet │

│ │

│ toggle toggle operating parameters (‘toggle ?‘ for more) │

│ z suspend telnet │

│ ? print help information │

│ telnet status ← 查看目前连线状况 │

│ No connection. │

│ Escape character is ‘^]‘. │

│ telnet z ← 暂时回到本地的shell, 把连线作业放在背景 │

│ │

│ [1] + Stopped telnet │

│ [^C] interrupt. │

│ [^U] kill. │

│ [^\] quit. │

│ [^D] eof. │

│ │

│ $ fg ← 将连线切回前台 (回到telnet) │

│ telnet │

│ │

│ telnet q ← 中断连线 (不被鼓励使用) │

│ $ │

└——————————————————————————————————————————┘

另外, 从telnet回到连线, 只须在telnet 提示符号下按键即

可。以上说明同样应用於tn3270, 这里笔者不另外说明。

最后, 笔者只能告诉您, Telnet本身非常容易操作及了解, 这是为什

麽本节没有举很多例子。而 Telnet 所能连线的系统才是您所要认识的,

Telnet 可以说只是一个桥梁而已, 您行走过该桥时, 大可不知道该桥是那

些工匠或用那些材料造的。

□ 四. Unix rlogin介绍

rlogin是Unix主机间一个远程联线工具程序, rlogin最大的卖点可能

是它的8-bit clean连线方式, 也就是说, 万一您想载入远端一部Unix系统

, 且使用图形操作界面(比方像中文及图形视窗环境等等), 若您的Telnet

无法提供8-bit clean能力, 您就可以选择rlogin。

$ rlogin 159.226.43.26 -l feng -8 ← 远程联线

fengs Password: ***** ← 该系统询问通行密码读者们可以用〃man rlogin〃指令

查询到更详细的介绍。

就黑客历史进行讨论!~

黑客是对英语hacker的翻译,hacker原意是指用斧头砍材的工人,最早被引进计算机圈则可追溯自1960年代。他们破解系统或者网络基本上是一项业余嗜好,通常是出于自己的兴趣,而非为了赚钱或工作需要。

加州柏克莱大学计算机教授Brian Harvey在考证此字时曾写到,当时在麻省理工学院中(MIT)的学生通常分成两派,一是tool,意指乖乖牌学生,成绩都拿甲等;另一则是所谓的hacker,也就是常逃课,上课爱睡觉,但晚上却又精力充沛喜欢搞课外活动的学生。 这跟计算机有什么关系?一开始并没有。不过当时hacker也有区分等级,就如同tool用成绩比高下一样。真正一流hacker并非整天不学无术,而是会热衷追求某种特殊嗜好,比如研究电话、铁道(模型或者真的)、科幻小说,无线电,或者是计算机。也因此后来才有所谓的computer hacker出现,意指计算机高手。

有些人很强调黑客和骇客的区别,根据开放原始码计划创始人Eric Raymond(他本人也是个著名的hacker)对此字的解释,hacker与cracker(一般译为骇客,有时也叫“黑帽黑客”。 )是分属两个不同世界的族群,基本差异在于,黑客是有建设性的,而骇客则专门搞破坏。 对一个黑客来说,学会入侵和破解是必要的,但最主要的还是编程,毕竟,使用工具是体现别人的思路,而程序是自己的想法.一句话--编程实现一切。对于一个骇客来说,他们只追求入侵的快感,不在乎技术,他们不会编程,不知道入侵的具体细节。还有一种情况是试图破解某系统或网络以提醒该系统所有者的系统安全漏洞,这群人往往被称做“白帽黑客”或“匿名客”(sneaker)或红客。许多这样的人是电脑安全公司的雇员,并在完全合法的情况下攻击某系统。

黑客守则

1. 不恶意破坏任何的系统, 这样作只会给你带来麻烦。恶意破坏它人的软件将导致法律责任, 如果你只是使用电脑, 那仅为非法使用。 注意:千万不要破坏别人的文件或数据。

2. 不修改任何系统文件, 如果你是为了要进入系统而修改它, 请在达到目的后将它还原。

3. 不要轻易的将你要 Hack 的站点告诉你不信任的朋友。

4. 不要在 bbs/论坛上谈论关于你 Hack 的任何事情。

5. 在 Post 文章的时候不要使用真名。

6. 入侵期间, 不要随意离开你的电脑。

7. 不要入侵或攻击电信/政府机关的主机。

8. 不在电话中谈论关于你 Hack 的任何事情。

9. 将你的笔记放在安全的地方。

10.读遍所有有关系统安全或系统漏洞的文件 (英文快点学好)!

11.已侵入电脑中的帐号不得删除或修改。

12.不得修改系统文件, 如果为了隐藏自己的侵入而作的修改则不在此限, 但仍须维持原来系统的安全性, 不得因得到系统的控制权而破坏原有的安全性。

13.不将你已破解的帐号分享与你的朋友。

14.不要侵入或破坏政府机关的主机。

但到了今天,在知识贫乏的记者写的媒报道中,黑客一词已被用于泛指黑客和骇客,因此也影响了大众对黑客的理解。 这个背景下,就出现了重新定义黑客内涵的努力,试图把黑客的活动范围限定为不为经济利益、而是出于好奇心做出技术探索和挑战。

黑客文化简史

本篇原作者为Eric S. Raymond esr@snark.thyrsus.com,他是一位大哥级的 Hacker,写了很多自由软件,知名著作有Jargon File等,近年来发表“大教堂与集市”论文为Opensource software努力,Netscape 愿意公开Navigator的原始码,与这篇文章有很大的关系。

序曲: Real Programmer

故事一开始,我要介绍的是所谓的Real Programmer。

他们从不自称是Real Programmer、Hacker或任何特殊的称号;`Real Programmer' 这个名词是在1980年代才出现,但早自1945年起,电脑科学便不断地吸引世界上头脑最顶尖、想像力最丰富的人投入其中。从Eckert Mauchly发明ENIAC后,便不断有狂热的programmer投入其中,他们以撰写软件与玩弄各种程式设计技巧为乐,逐渐形成具有自我意识的一套科技文化。当时这批Real Programmers主要来自工程界与物理界,他们戴著厚厚的眼镜, 穿聚酯纤维T恤与纯白袜子,用机器语言、汇编语言、FORTRAN及很多古老的 语言写程式。他们是Hacker时代的先驱者,默默贡献,却鲜为人知。

从二次大战结束后到1970早期,是打卡计算机与所谓"大铁块"的mainframes 流行的年代,由Real Programmer主宰电脑文化。Hacker传奇故事如有名的 Mel (收录在Jargon File中)、Murphy's Law的各种版本、mock- German`Blinke_nlight' 文章都是流传久远的老掉牙笑话了。

※译者:Jargon File亦是本文原作者所编写的,里面收录了很多Hacker用语、缩写意义、传奇故事等等。Jargon File有出版成一本书:The New Hacker's Dictionary,MIT PRESS出版。也有Online版本:

※译者:莫非定律是:当有两条路让你抉择,若其中一条会导致失败,你一定会选到它。 它有很多衍生说法: 比如一个程式在demo前测试几千几万次都正确无误,但demo 那一天偏偏就会出bug。

一些Real Programmer仍在世且十分活跃 (本文写在1996年)。超级电脑Cray 的设计者Seymour Cray, 据说亲手设计Cray全部的硬体与其操作系统,作业系统是他用机器码硬干出来的,没有出过任何bug或error。Real Programmer 真是超强!

举个比较不那么夸张的例子:Stan Kelly-Bootle,The Devil's DP Dictionary 一书的作者(McGraw-Hill, 1981年初版,ISBN 0-07-034022-6)与Hacker 传奇专家,当年在一台Manchester Mark I开发程式。 他现在是电脑杂志的专栏作家,写一些科学幽默小品,文笔生动有趣投今日hackers所好,所以很受欢迎。 其他人像David E. Lundstorm,写了许多关於Real Programmer的小故事,收录在A few Good Men From UNIVAC这本书,1987年出版,ISBN-0- 262-62075-8。

※译:看到这里,大家应该能了解,所谓Real Programmer指的就是用组合语 言或甚至机器码,把程式用打卡机punch出一片片纸卡片,由主机读卡机输入电脑的那种石器时代Programmer。

Real Programmer的时代步入尾声,取而代之的是逐渐盛行的Interactive computing,大学成立电算相关科系及电脑网络。它们催生了另一个持续的工程传统,并最终演化为今天的开放代码黑客文化。

早期的黑客

Hacker时代的滥觞始於1961年MIT出现第一台电脑DEC PDP-1。MIT的Tech Model Railroad Club(简称TMRC)的Power and Signals Group买了这台机器后,把它当成最时髦的科技玩具,各种程式工具与电脑术语开始出现,整个环境与文化一直发展下去至今日。 这在Steven Levy的书`Hackers' 前段有详细的记载(Anchor/Doubleday 公司,1984年出版,ISBN 0-385-19195-2)。

※译:Interactive computing并非指Windows、GUI、WYSIWYG等介面, 当时有terminal、有shell可以下指令就算是Interactive computing了。 最先使用Hacker这个字应该是MIT。1980年代早期学术界人工智慧的权威:MIT 的Artificial Intelligence Laboratory,其核心人物皆来自TMRC。从1969年起,正好是ARPANET建置的第一年,这群人在电脑科学界便不断有重大突破与贡献。

ARPANET是第一个横跨美国的高速网络。由美国国防部所出资兴建,一个实验性 质的数位通讯网络,逐渐成长成联系各大学、国防部承包商及研究机构的大网络。各地研究人员能以史无前例的速度与弹性交流资讯,超高效率的合作模式导致科技的突飞猛进。

ARPANET另一项好处是,资讯高速公路使得全世界的hackers能聚在一起,不再像以前孤立在各地形成一股股的短命文化,网络把他们汇流成一股强大力量。 开始有人感受到Hacker文化的存在,动手整理术语放上网络, 在网上发表讽刺文学与讨论Hacker所应有的道德规范。(Jargon File的第一版出现在1973年,就是一个好例子), Hacker文化在有接上ARPANET的各大学间快速发展,特别是(但不全是)在信息相关科系。

一开始,整个Hacker文化的发展以MIT的AI Lab为中心,但Stanford University 的Artificial Intelligence Laboratory(简称SAIL)与稍后的Carnegie-Mellon University(简称CMU)正快速崛起中。三个都是大型的资讯科学研究中心及人工智慧的权威,聚集著世界各地的精英,不论在技术上或精神层次上,对Hacker文化都有极高的贡献。

为能了解后来的故事,我们得先看看电脑本身的变化;随著科技的进步,主角MIT AI Lab也从红极一时到最后淡出舞台。

从MIT那台PDP-1开始,Hacker们主要程式开发平台都是Digital Equipment Corporation 的PDP迷你电脑序列。DEC率先发展出商业用途为主的interactive computing及time-sharing操作系统,当时许多的大学都是买DEC的机器, 因为它兼具弹性与速度,还很便宜(相对於较快的大型电脑mainframe)。 便宜的分时系统是Hacker文化能快速成长因素之一,在PDP流行的时代, ARPANET上是DEC机器的天下,其中最重要的便属PDP-10,PDP-10受到Hacker们的青睐达十五年;TOPS-10(DEC的操作系统)与MACRO-10(它的组译器),许多怀旧的术语及Hacker传奇中仍常出现这两个字。

MIT像大家一样用PDP-10,但他们不屑用DEC的操作系统。他们偏要自己写一个:传说中赫赫有名的ITS。

ITS全名是`Incompatible Timesharing System',取这个怪名果然符合MIT的搞怪作风——就是要与众不同,他们很臭屁但够本事自己去写一套操作系统。ITS始终不稳,设计古怪,bug也不少,但仍有许多独到的创见,似乎还是分时系统中开机时间最久的纪录保持者。

ITS本身是用汇编语言写的,其他部分由LISP写成。LISP在当时是一个威力强大与极具弹性的程式语言;事实上,二十五年后的今天,它的设计仍优於目前大多数的程式语言。LISP让ITS的Hacker得以尽情发挥想像力与搞怪能力。LISP是MIT AI Lab成功的最大功臣,现在它仍是Hacker们的最爱之一。

很多ITS的产物到现在仍活著;EMACS大概是最有名的一个,而ITS的稗官野史仍为今日的Hacker们所津津乐道,就如同你在Jargon File中所读到的一般。在MIT红得发紫之际,SAIL与CMU也没闲著。SAIL的中坚份子后来成为PC界或图形使用者介面研发的要角。CMU的Hacker则开发出第一个实用的大型专家系统与工业用机器人。

另一个Hacker重镇是XEROX PARC公司的Palo Alto Research Center。从1970初期到1980中期这十几年间,PARC不断出现惊人的突破与发明,不论质或量,软件或硬体方面。如现今的视窗滑鼠介面,雷射印表机与区域网络;其D系列的机器,催生了能与迷你电脑一较长短的强力个人电脑。不幸这群先知先觉者并不受到公司高层的赏识;PARC是家专门提供好点子帮别人赚钱的公司成为众所皆知的大笑话。即使如此,PARC这群人对Hacker文化仍有不可抹灭的贡献。1970年代与PDP-10文化迅速成长茁壮。Mailing list的出现使世界各地的人得以组成许多SIG(Special-interest group),不只在电脑方面,也有社会与娱乐方面的。DARPA对这些非`正当性'活动睁一只眼闭一只眼, 因为靠这些活动会吸引更多的聪明小伙子们投入电脑领域呢。

有名的非电脑技术相关的ARPANET mailing list首推科幻小说迷的,时至今日ARPANET变成Internet,愈来愈多的读者参与讨论。Mailing list逐渐成为一种公众讨论的媒介,导致许多商业化上网服务如CompuServe、Genie与Prodigy的成立。

Unix的兴起

此时在新泽西州的郊外,另一股神秘力量积极入侵Hacker社会,终於席卷整个PDP-10的传统。它诞生在1969年,也就是ARPANET成立的那一年,有个在ATT Bell Labs的年轻小夥子Ken Thompson发明了Unix。

Thomspon曾经参与Multics的开发,Multics是源自ITS的操作系统,用来实做当时一些较新的OS理论,如把操作系统较复杂的内部结构隐藏起来,提供一个介面,使的programmer能不用深入了解操作系统与硬体设备,也能快速开发程式。

※译:那时的programmer写个程式必须彻底了解操作系统内部,或硬体设备。比方说写有IO的程式,对於硬碟的转速,磁轨与磁头数量等等都要搞的一清二楚才行。

在发现继续开发Multics是做白工时,Bell Labs很快的退出了(后来有一家公司Honeywell出售Multics,赔的很惨)。

Ken Thompson很喜欢Multics上的作业环境,於是他在实验室里一台报废的DEC PDP-7上胡乱写了一个操作系统, 该系

统在设计上有从Multics抄来的也有他自己的构想。他将这个操作系统命名Unix,用来反讽Multics。

※译:其实是Ken Thompson写了一个游戏`Star Travel' 没地方跑,就去找一台的报废机器PDP-7来玩。他同事Brian Kernighan嘲笑Ken Thompson说:“你写的系统好逊哦,乾脆叫Unics算了。”(Unics发音与太监的英文eunuches一样),后来才改为Unix。

他的同事Dennis Ritchie,发明了一个新的程式语言C,於是他与Thompson用C把原来用汇编语言写的Unix重写一遍。C的设计原则就是好用,自由与弹性,C与Unix很快地在Bell Labs得到欢迎。1971年Thompson与Ritchie争取到一个办公室自动化系统的专案,Unix开始在Bell Labs中流行。不过Thompson与Ritchie的雄心壮志还不止於此。

那时的传统是,一个操作系统必须完全用汇编语言写成,始能让机器发挥最高的效能。Thompson与Ritchie,是头几位领悟硬体与编译器的技术,已经进步到作业系统可以完全用高阶语言如C来写,仍保有不错的效能。五年后,Unix已经成功地移植到数种机器上。

※译:Ken Thompson与Dennis Ritchie是唯一两位获得Turing Award(电脑界的诺贝尔奖)的工程师(其他都是学者)。

这当时是一件不可思议的事!它意味著,如果Unix可以在各种平台上跑的话,Unix 软件就能移植到各种机器上。再也用不著为特定的机器写软件了,能在Unix上跑最重要,重新发明轮子已经成为过去式了。

除了跨平台的优点外,Unix与C还有许多显著的优势。Unix与C的设计哲学是Keep It Simple, Stupid'。programmer可以轻易掌握整个C的逻辑结构(不像其他之前或以后的程式语言)而不用一天到晚翻手册写程式。而Unix提供许多有用的小工具程式,经过适当的组合(写成Shell script或Perl script),可以发挥强大的威力。

※注:The C Programming Language是所有程式语言书最薄的一本,只有两百多页哦。作者是Brian Kernighan 与Dennis Ritchie,所以这本C语言的圣经又称`KR'。

※注:`Keep It Simple, Stupid' 简称KISS,今日Unix已不follow这个原则,几乎所有Unix 都是要灌一堆有的没的utilities,唯一例外是MINIX。

C与Unix的应用范围之广,出乎原设计者之意料,很多领域的研究要用到电脑时,他们是最佳拍档。尽管缺乏一个正式支援的机构,它们仍在ATT内部中疯狂的散播。到了1980年,已蔓延到大学与研究机构,还有数以千计的hacker想把Unix装在家里的机器上。

当时跑Unix的主力机器是PDP-11、VAX系列的机器。不过由於UNIX的高移植性,它几乎可安装在所有的电脑机型上。一旦新型机器上的UNIX安装好,把软件的C原始码抓来重新编译就一切OK了,谁还要用汇编语言来开发软件?有一套专为UNIX设计的网络——UUCP:一种低速、不稳但成本很低廉的网络。两台UNIX机器用条电话线连起来,就可以使用互传电子邮件。UUCP是内建在UNIX系统中的,不用另外安装。於是UNIX站台连成了专属的一套网络,形成其Hacker文化。在1980第一个USENET站台成立之后,组成了一个特大号的分散式布告栏系统,吸引而来的人数很快地超过了ARPANET。

少数UNIX站台有连上ARPANET。PDP-10与UNIX的Hacker文化开始交流,不过一开始不怎么愉快就是了。PDP-10的Hacker们觉得UNIX的拥护者都是些什么也不懂的新手,比起他们那复杂华丽,令人爱不释手的LISP与ITS,C与UNIX简直原始的令人好笑。『一群穿兽皮拿石斧的野蛮人』他们咕哝著。

在这当时,又有另一股新潮流风行起来。第一部PC出现在1975年;苹果电脑在1977年成立,以飞快的速度成长。微电脑的潜力,立刻吸引了另一批年轻的 Hackers。他们最爱的程式语言是BASIC,由於它过於简陋,PDP-10 的死忠派与UNIX迷们根本不屑用它,更看不起使用它的人。

※译:这群Hacker中有一位大家一定认识,他的名字叫Bill Gates,最初就是他在8080上发展BASIC compiler的。

古老时代的终结

1980年同时有三个Hacker文化在发展,尽管彼此偶有接触与交流,但还是各玩各的。ARPANET/PDP-10文化,玩的是LISP、MACRO、TOPS-10与ITS。UNIX与C的拥护者用电话线把他们的PDP-11与VAX机器串起来玩。还有另一群散乱无秩序的微电脑迷,致力於将电脑科技平民化。

三者中ITS文化(也就是以MIT AI LAB为中心的Hacker文化)可说在此时达到全盛时期,但乌云逐渐笼罩这个实验室。ITS赖以维生的PDP-10逐渐过时,开始有人离开实验室去外面开公司,将人工智慧的科技商业化。MIT AI Lab 的高手挡不住新公司的高薪挖角而纷纷出走,SAIL与CMU也遭遇到同样的问题。

※译:这个情况在GNU宣言中有详细的描述,请参阅:(特别感谢由AKA的chuhaibo翻成中文)

致命一击终於来临,1983年DEC宣布:为了要集中在PDP-11与VAX生产线,将停止生产PDP-10;ITS没搞头了,因为它无法移植到其他机器上,或说根本没人办的到。而Berkeley Univeristy修改过的UNIX在新型的VAX跑得很顺,是ITS理想的取代品。有远见的人都看得出,在快速成长的微电脑科技下,Unix一统江湖是迟早的事。

差不多在此时Steven Levy完成``Hackers'' 这本书,主要的资料来源是Richard M. Stallman(RMS)的故事,他是MIT AI Lab领袖人物,坚决反对实验室的研究成果商业化。

Stallman接著创办了Free Software Foundation,全力投入写出高品质的自由软件。Levy以哀悼的笔调描述他是the last true hacker',还好事实证明Levy完全错了。

※译:Richard M. Stallman的相关事迹请参考:

Stallman的宏大计划可说是80年代早期Hacker文化的缩影——在1982年他开始建构一个与UNIX 相容但全新的操作系统,以C来写并完全免费。整个ITS的精神与传统,经由RMS的努力,被整合在一个新的,UNIX与VAX机器上的Hacker文化。微电脑与区域网络的科技,开始对Hacker文化产生影响。Motorola 68000 CPU 加Ethernet是个有力的组合,也有几家公司相继成立生产第一代的工作站。1982年,一群Berkeley出来的UNIX Hacker成立了Sun Microsystems,他们的算盘打的是:把UNIX架在以68000为CPU的机器,物美价廉又符合多数应用程式的要求。他们的高瞻远嘱为整个工业界树立了新的里程碑。虽然对个人而言,工作站仍太昂贵,不过在公司与学校眼中,工作站真是比迷你电脑便宜太多了。在这些机构里,工作站(几乎是一人一台)很快地取代了老旧庞大的VAX等timesharing机器。

※译:Sun一开始生产的工作站CPU是用Motorola 68000系列,到1989才推出自行研发的以SPARC系列为CPU的SPARCstation。

私有Unix时代

1984年ATT解散了,UNIX正式成为一个商品。当时的Hacker文化分成两大类,一类集中在Internet与USENET上(主要是跑UNIX的迷你电脑或工作站连上网络),以及另一类PC迷,他们绝大多数没有连上Internet。

※译:台湾在1992年左右连上Internet前,玩家们主要以电话拨接BBS交换资讯,但是有区域性的限制,发展性也大不如USENET。Sun与其他厂商制造的工作站为Hacker们开启了另一个美丽新世界。工作站诉求的是高效能的绘图与网络,1980年代Hacker们致力为工作站撰写软件,不断挑战及突破以求将这些功能发挥到百分之一百零一。Berkeley发展出一套内建支援ARPANET protocols的UNIX,让UNIX能轻松连上网络,Internet也成长的更加迅速。

除了Berkeley让UNIX网络功能大幅提升外,尝试为工作站开发一套图形界面也不少。最有名的要算MIT开发的Xwindow了。Xwindow成功的关键在完全公开原始码,展现出Hacker一贯作风,并散播到Internet上。X 成功的干掉其他商业化的图形界面的例子,对数年后UNIX的发展有著深远的启发与影响。少数ITS死忠派仍在顽抗著,到1990年最后一台ITS也永远关机长眠了;那些死忠派在穷途末路下只有悻悻地投向UNIX的怀抱。

UNIX们此时也分裂为BerkeleyUNIX与ATT两大阵营,也许你看过一些当时的海报,上面画著一台钛翼战机全速飞离一个爆炸中、上面印著ATT的商标的死星。Berkeley UNIX的拥护者自喻为冷酷无情的公司帝国的反抗军。就销售量来说,ATTUNIX始终赶不上BSD/Sun,但它赢了标准制订的战争。到1990年,ATT与BSD版本已难明显区分,因为彼此都有采用对方的新发明。随著90年代的来到,工作站的地位逐渐受到新型廉价的高档PC的威胁,他们主要是用Intel80386系列CPU。第一次Hacker能买一台威力等同於十年前的迷你电脑的机器,上面跑著一个完整的UNIX,且能轻易的连上网络。沉浸在MSDOS世界的井底蛙对这些巨变仍一无所知,从早期只有少数人对微电脑有兴趣,到此时玩DOS与Mac的人数已超过所谓的"网络民族"的文化,但他们始终没成什么气候或搞出什么飞机,虽然聊有佳作光芒乍现,却没有稳定发展出统一的文化传统,术语字典,传奇故事与神话般的历史。它们没有真正的网络,只能聚在小型的BBS 站或一些失败的网络如FIDONET。提供上网服务的公司如CompuServe或Genie生意日益兴隆,事实显示non-UNIX的操作系统因为并没有内附如compiler等程式发展工具,很少有source 在网络上流传,也因此无法形成合作开发软件的风气。Hacker文化的主力,是散布在Internet各地,几乎可说是玩UNIX的文化。他们玩电脑才不在乎什么售后服务之类,他们要的是更好的工具、更多的上网时间、还有一台便宜32-bitPC。

机器有了,可以上网了,但软件去哪找?商业的UNIX贵的要命,一套要好几千大洋($)。90年代早期,开始有公司将ATT与BSDUNIX移植到PC上出售。成功与否不论,价格并没有降下来,更要紧的是没有附原始码,你根本不能也不准修改它,以符合自己的需要或拿去分享给别人。传统的商业软件并没有给Hacker们真正想要的。

即使是FreeSoftwareFoundation(FSF)也没有写出Hacker想要的操作系统,RMS承诺的GNU操作系统——HURD 说了好久了,到1996年都没看到影子(虽然1990年开始,FSF的软件已经可以在所有的UNIX平台执行)。

早期的免费Unix

在这空窗期中,1992年一位芬兰HelsinkiUniversity的学生--LinusTorvalds开始在一台386PC上发展一个自由软件的UNIX kernel,使用FSF的程式开发工具。

他很快的写好简单的版本,丢到网络上分享给大家,吸引了非常多的Hacker来帮忙一起发展Linux-一个功能完整的UNIX,完全免费且附上全部的原始码。Linux最大的特色,不是功能上的先进而是全新的软件开发模式。直到Linux的成功前,人人都认为像操作系统这么复杂的软件,非得要靠一个开发团队密切合作,互相协调与分工才有可能写的出来。商业软件公司与80年代的FreeSoftwareFoundation所采用都是这种发展模式。

Linux则迥异于前者。一开始它就是一大群Hacker在网络上一起涂涂抹抹出来的。没有严格品质控制与高层决策发展方针,靠的是每周发表新版供大家下载测试,测试者再把bug与patch贴到网络上改进下一版。一种全新的物竞天择、去芜存菁的快速发展模式。令大伙傻眼的是,东修西改出来的Linux,跑的顺极了。

1993年底,Linux发展趋於成熟稳定,能与商业的UNIX一分高下,渐渐有商业应用软件移植到Linux上。不过小型UNIX厂商也因为Linux的出现而关门大吉——因为再没有人要买他们的东西。幸存者都是靠提供BSD为基础的UNIX 的完整原始码,有Hacker加入发展才能继续生存。

Hacker文化,一次次被人预测即将毁灭,却在商业软件充斥的世界中,披荆斩棘,筚路蓝缕,开创出另一番自己的天地。

网络大爆炸时代

Linux能快速成长的来自令一个事实:Internet大受欢迎,90年代早期ISP如雨后春笋般的冒出来,World-Wide-Web的出现,使得Internet成长的速度,快到有令人窒息的感觉。

BSD专案在1994正式宣布结束,Hacker们用的主要是免费的UNIX(Linux与一些4.4BSD的衍生版本)。而LinuxCD-ROM销路非常好(好到像卖煎饼般)。近几年来Hacker们主要活跃在Linux与Internet发展上。World-Wide-Web让Internet成为世界最大的传输媒体,很多80年代与90年代早期的Hacker们现在都在经营ISP。

Internet的盛行,Hacker文化受到重视并发挥其政治影响力。94、95年美国政府打算把一些较安全、难解的编码学加以监控,不容许外流与使用。这个称为Clipper proposal的专案引起了Hacker们的群起反对与强烈抗议而半途夭折。96年Hacker又发起了另一项抗议运动对付那取名不当的"Communications DecencyAct",誓言维护Internet上的言论自由。

电脑与Internet在21世纪将是大家不可或缺的生活用品,现代孩子在使用Internet科技迟早会接触到Hacker文化。它的故事传奇与哲学,将吸引更多人投入。未来对Hacker们是充满光明的。

标签: pc黑客主题
  • 评论列表
  •  
    发布于 2023-03-19 07:05:49  回复
  • 湖是迟早的事。 差不多在此时Steven Levy完成``Hackers'' 这本书,主要的资料来源是Richard M. Stallman(RMS)的故事,他是MIT AI Lab领袖人物
  •  
    发布于 2023-03-19 11:43:12  回复
  • · 数据加密分类 · 物理线路加密 · 数据链路加密 · 网络层加密—IPSec · 传输层加密—SSL 数据加密类型 ·物理层-物理层 物理线路加密 ·数据链路层-数据链路层 (路由器访问) ·在数据链路层(如PPP)进行加密 L2TP、PPTP、L2F ·网
  •  
    发布于 2023-03-19 08:56:01  回复
  • 大伙傻眼的是,东修西改出来的Linux,跑的顺极了。 1993年底,Linux发展趋於成熟稳定,能与商业的UNIX一分高下,渐渐有商业应用软件移植到Linux上。不过小型UNIX厂商也因为
  •  
    发布于 2023-03-19 12:38:48  回复
  • hompson发明了Unix。 Thomspon曾经参与Multics的开发,Multics是源自ITS的操作系统,用来实做当时一些较新的OS理论,如把操作系统较复杂的内部结构隐藏起来,提

发表评论: