黑客入门基础理论与技能指南
一、黑客分类与行为
以专业视角理解,'黑客'大体上可以分为'正派'与'邪派'两类。正派黑客依靠掌握的知识帮助系统管理员找出系统中的漏洞并加以完善,致力于网络安全建设;而邪派黑客则是通过各种黑客技能对系统进行攻击、入侵或从事有害于网络的事情。因为邪派黑客所从事的行为违背了职业道德与法律规范,他们真正的名字叫'骇客'(Cracker)而非'黑客'(Hacker)。
本文介绍了黑客的分类与行为准则,阐述了初级黑客需掌握的英文、软件使用、网络协议及编程语言技能。详细解析了网络安全术语如协议、服务器、IP 地址、漏洞、加密及木马,并分类说明了防范、信息搜集、密码破解等常用软件用途。此外还涵盖了操作系统选择、开发环境搭建及网络安全软件分类,为初学者提供系统化的入门指导。

以专业视角理解,'黑客'大体上可以分为'正派'与'邪派'两类。正派黑客依靠掌握的知识帮助系统管理员找出系统中的漏洞并加以完善,致力于网络安全建设;而邪派黑客则是通过各种黑客技能对系统进行攻击、入侵或从事有害于网络的事情。因为邪派黑客所从事的行为违背了职业道德与法律规范,他们真正的名字叫'骇客'(Cracker)而非'黑客'(Hacker)。
无论哪类黑客,最初的学习内容都涉及基础技术,掌握的基本技能也基本一致。即便日后走上不同的道路,核心操作逻辑相似,区别在于出发点和目的不同。
很多人曾询问:'做黑客平时都做什么?是否非常刺激?'也有人对黑客的理解是'天天做无聊且重复的事情'。实际上这些认识都存在偏差。黑客平时需要花费大量时间学习新技术,这个过程没有终点,只有不断精进。由于学习完全出于个人爱好与探索欲,无所谓'无聊';重复是不可避免的,因为'熟能生巧',只有经过不断的练习与实践,才能体会出只可意会的心得。
在学习之余,黑客应将知识应用到实际中,无论是哪种类型,根本目的无非是在实践中验证所学内容。
黑客的主要行为包括:
学习英文至关重要,因为大多数资料和教程都是英文版本,漏洞新闻也多源自国外。一个漏洞从发现到出现中文介绍通常需要约一周,此时网络管理员已有足够时间修补。因此,从一开始就要尽量阅读英文资料、使用英文软件,及时关注国外著名的网络安全网站。
基本软件包括日常电脑常用命令(如 ftp、ping、net 等)以及黑客工具(端口扫描器、漏洞扫描器、信息截获工具、密码破解工具等)。品种繁多,功能各异。掌握基本原理后,可选择适合自己的工具,或编写自己的工具。
所谓'初步了解'即弄明白网络的工作原理。协议涉及知识多且复杂,建议先初步了解 TCP/IP 协议,尤其是浏览网页时信息如何传递、客户端如何申请握手、服务端如何应答等内容。
不要求深入学习,但能看懂语言及程序执行结果即可。建议初步学习 C 语言、ASP 和 CGI 脚本语言,另外对 HTML、PHP、Java 做基本了解。主要学习变量和数组部分,因为语言间存在内在联系,熟练掌握一门,其他可一脉相通。
包括各种服务器软件后台程序(如 wuftp、Apache 等)及论坛、电子社区。有条件的学习者最好将自己的电脑做成服务器,安装并运行一些论坛代码,感性弄清楚网络工作原理,这比单纯理论学习效果更佳。
网络是信息交换场所,所有接入网络的计算机通过物理设备(电缆、光缆、无线 WAP 等)交换信息。单纯物理设备不能实现交换,还需具备软件环境,即'协议'。有了协议,不同电脑遵照相同规则使用物理设备,不会造成相互'不理解'。
例如 RFC1459 协议可实现 IRC 服务器与客户端通信。每一个协议都是经过多年修改延续使用的,新协议大多在基层协议基础上建立,具有较高的安全机制。但对于某些新型协议,因出现时间短、考虑欠周到,可能会因安全问题被利用。
最简单的网络服务形式是若干台电脑作为客户端,使用一台电脑当作服务器。客户端向服务器提出请求,由服务器应答并完成动作,最后返回结果。例如电子邮件服务器、网站服务器等。
还有一种连接方式不需要服务器支持,直接将两个客户端电脑连接,每一台既是服务器又是客户端,对等完成连接和信息交换,例如 DCC 传输协议。
电脑运作必须安装操作系统,如今流行的有 UNIX、Linux、Mac、BSD、Windows 系列等。它们各自独立运行,有自己的文件管理、内存管理、进程管理机制。在网络上,不同操作系统既可作为服务器也可作为客户端,通过'协议'完成信息交换。
不同的操作系统配合不同的应用程序构成系统环境。例如 Linux 配合 Apache 可构设成网站服务器;Windows 配合 Ftpd 可构设成文件服务器。
上网时同时浏览网页、收发邮件、语音聊天等服务通过不同协议完成。IP 地址类似于家庭地址,通过网络路由器等设备完成从一个电脑到另一个电脑的信息交换。黑客可通过特殊方法伪造 IP 地址,造成网络混乱。
一台电脑上为什么能同时使用多种网络服务?如同北京城有多个城门,不同的网络服务会在客户端电脑上开辟不同的端口来完成信息传送。如果一台网络服务器同时开放多种服务,也要开放多个端口接纳不同请求。
网络上经常听到的'后门'即指此意。黑客通过特殊机能开辟一个新的网络服务,打开一个新端口供黑客使用,不易被发现。
每一台电脑都可以打开 65535 个端口,理论上可开发至少 65535 种不同的网络服务,但实际上常用的不过几十个。例如浏览网页使用 80 号端口,IRC 聊天服务端使用 6667 端口。
漏洞就是程序中没有考虑到的情况。例如'弱口令'漏洞是指管理员忘记屏蔽某些账号;Perl 程序漏洞可能是程序员设计不完善导致代码执行异常;'溢出'漏洞属于设计时未预留足够资源导致资源不足;特殊 IP 包炸弹是程序分析特殊数据时出错等。
总而言之,漏洞是程序设计上的人为疏忽,在任何程序中都无法绝对避免。黑客正是利用种种漏洞对网络进行攻击。真正对黑客的定义往往是'寻找漏洞的人',他们为了追求完善、建立安全的互联网才投身此行。
网络设计的基层问题允许所有上网者参与信息共享,导致商业、个人隐私暴露。通过加密处理的信息在网络上传送,只要没有'密码薄'仍是白费力气。
网络上最长使用的是设置个人密码、使用 DES 加密锁,分别完成用户登陆系统、保护信息包的工作。黑客通过漏洞、暴力猜测、加密算法反向应用等方式获得加密档案的明文。
特洛伊木马是一个程序,可以做程序设计者有意设计的未出现过的事情。不论是否用户了解,其操作通常不被赞同。根据某些人的认识,病毒是特洛伊木马的一个特例,即能够传播到其他程序当中。许多人仅用'特洛伊木马'来形容不能复制的带有恶意的程序,以便将木马与病毒区分开。
Linux 相对 Windows 提供了更灵活的操作方式和强大功能,例如 IP 地址伪造工作利用 Linux 编写特殊 IP 头信息可轻松完成。但 Linux 命令庞杂、操作复杂,不适合初学者。对于初学黑客的学习者,大多数网络知识都可以在 Windows 系统中学习,平台下的黑客软件也不在少数。
本书测试漏洞从远程服务器出发,并非非要特定 Windows 版本。对于少数系统版本之间的差异,学习者可根据实际情况调整。
除了基本的操作系统以外,学习者还需要安装各类扫描器,之后下载比较优秀的木马软件、监听类软件。对于扫描器和监听软件,建议选择免费且功能强大的工具,如集成多种扫描功能的国产软件,支持控制台和图形界面两种操作方式。
黑客在攻击时多采用 IP 地址伪装、服务器跳转,并在入侵服务器之后清除日志文件,原因即在于此。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online