如何成为一名黑客(网络安全从业者)——计算机基础知识篇

         大家好,我是Mr.Quark, 欢迎大家 上给我留言,如果有时间我一定会一一回复大家的。今天我将和大家一起学习“如何成为一名黑客”或者说“如何成为一名网络安全专家”。
        在进入正题之前,我们先来给黑客下一个定义,毕竟如果连黑客的含义都不了解,成为黑客更是无从谈起。
    
“黑客”称呼的变迁

        在很久很久以前(别问我有多久,不要在意这些细节),“ 黑客”指的是 喜爱钻研技术、精通计算机技术的程序员。后来有些黑客写了些能破坏程序或者系统正常运行的代码,又用搞了些破坏,于是这些黑客有了新的称呼——“ 骇客”。

        在那个年代,骇客做了许多坏事,骂名累累,不明真相的吃瓜群众连带着对黑客的印象也不好了;这时候黑客们也不甘心,出来发声:我们是黑客,是建设者,是问题的发现者和修复者;骇客是破坏者,他们都知道搞破坏。

        又过了很久很久,那时候国际关系紧张,许多小国陷入动乱,不同国家之间的黑客民族情绪高涨,从那时起,热爱国家的黑客们开始被称为 红客

        再后来,IT行业迅速发展,网络安全事件频发,业界人士们觉得虽然已经有了黑客、骇客、红客,但还是觉得不够用,得再分。于是乎,黑客又被分为了 白帽黑客(比如网络安全专家)、 灰帽黑客(亦正亦邪,游走于法律的灰色地带)、 黑帽黑客(窃取隐私和信息、搞黑色产业)。

        黑客称呼的变迁大致如此,我们标题中所指的黑客,是指 白帽黑客,即攻击自己的系统或者被雇佣去攻击雇主的系统以测试其安全性的技术人员。许多著名的白帽黑客也被称为网络安全专家,多在大公司或者安全公司供职。所以 白帽黑客不仅需要掌握网络安全威胁技术(即网络攻击技术),更要掌握网络安全防护技术

只有意志坚定、勤奋努力的人才能成为黑客

        在开始之前,首先需要说明的是,学习网络安全知识不是一朝一夕的事,除非你是天才(就算天才也做不到一早一夕),其次,也要担心自己学不会,天赋很重要,但是绝大多数人付出的努力还达不到比拼天赋的程度,你需要的是坚持不懈、三年如一日,心里坚信自己能做到,这一点很重要。没有付出就没有收获。 如果没有决心付出努力的朋友就看到这吧,不用浪费时间,做自己
喜欢的事吧。但如果你已经下定决心,请继续往下看。

去学习,成为一名黑客!

        那么我们要如何成为一名黑客呢?我们可以从 “计算机基础知识”,“网络攻击技术”,“网络防护技术”三个方面入手。今天我们先来看看第一部分。( 注意:文中标红的字体表示重要

计算机基础知识清单

1、数据在计算机中如何存储与运算
  • 数制(十、二、八、十六进制)及其之间的转换
  • 数字、字符、汉字、多媒体数据是如何存储和表示
  • 算术运算(注意与数学运算法则的区别)、逻辑运算、移位运算

2、计算机组成与结构
  • 计算机的组成及其性能指标
  • 如何组装计算机(如果你打算自己DIY一台,这里需要扩展)

3、计算机网络
  • 什么是网络、网络的发展史、网络的分类
  • 网络体系结构(主要掌握OSI七层模型,TCP/IP模型
  • 宽带网络与无线网络的原理和常见的网络设备

4、因特网
  • 什么是因特网,因特网的发展
  • 什么是万维网
  • 域名管理系统
  • E-mail服务

5、网络安全
  • 网络面临的安全问题
  • 加密与认证技术
  • 电子邮件加密技术——PGP
  • 电子商务加密技术
  • 防火墙技术
  • 网络防护技术与入侵检测技术
  • 病毒与防病毒

6、计算机软件
  • 软件的定义、分类
  • 系统软件的种类与操作系统的使用(Windows及其DOS命令行使用、UNIX/Linux等)
  • 常用应用软件的使用(网络服务软件、系统工具、Word、Excel、PowerPoint等)

7、 数据结构(难度很大,很抽象,但必须掌握)
  • 概念、种类(线性、树、图)
  • 线性结构有哪些
  • 树形结构有哪些
  • 算法

8、程序设计语言
  • 程序设计语言的发展,语言的分类,熟悉各语言的特点与其使用的场合
  • 熟悉构建程序的过程
  • 结构化程序设计(C)
  • 面向对象程序设计(Java、C++等)
  • 脚本语言(HTML、Perl、Python等)

9、数据库技术
  • 数据管理技术的发展
  • 数据模型
  • 关系数据库语言SQL
  • 数据库管理系统

10、计算机操作系统
  • 操作系统的发展
  • 用户接口
  • 处理机管理(进程的概念、进程的控制、同步、通信、调度、多线程)
  • 内存管理
  • 文件管理
  • 设备管理

11、软件工程
  • 软件生命周期
  • 系统分析
  • 系统设计
  • 系统测试
  • 软件项目管理与软件质量

12、前沿技术
  • 移动互联网
  • 大数据
  • 云计算
  • 人工智能

PS:
        在学习计算机基础知识时,掌握概念的含义,各种技术的发展历程,了解计算机是如何运行,程序在计算机中如何执行等,学会从计算机计算机的角度考虑问题,不需要过多的考虑技术细节,了解一项技术的实现流程即可。

你可能感兴趣的:(如何成为一名黑客(网络安全从业者)——计算机基础知识篇)