由于我这么多年来一直深耕于网络安全这个行业,所以后台经常收到大量的私信问我说该怎么入行,该怎么自学,所以今天就抽时间写了这样一篇文章

第一步:计算机基础

这第一步,其实跟网络安全关系都不太大,而是进入IT领域的任何一个人都要掌握的基础能力。

下面五大课程,是大学老师当年教给我们不管你是什么技术方向最好都好好学的技术,如今看来,仍然不过时:

  • 计算机网络
  • 计算机组成原理
  • 操作系统
  • 算法与数据结构
  • 数据库

这每一门课程其实都内有乾坤,基本都不能做到一次学习就能掌握,而是伴随每个人的职业生涯,不同的技术阶段都会有不一样的认识和感受。

第二步:编程能力

有了上面的一些基本功后,这个时候就需要动手,来写点代码,锤炼一下编程的功底。

下面三项,是安全行业的从业者都最好能掌握的语言:

Shell脚本

掌握常用的Linux命令,能编写简单的Shell脚本,处理一些简单的事务。

C语言(C++可选)

C语言没有复杂的特性,是现代编程语言的祖师爷,适合编写底层软件,还能帮助你理解内存、算法、操作系统等计算机知识,建议学一下。

Python

C语言帮助你理解底层,Python则助你编写网络、爬虫、数据处理、图像处理等功能性的软件。是程序员,尤其是黑客们非常钟爱的编程语言,不得不学。

第三步:安全初体验

有了前面两步的打底,是时候接触一些网络安全的技术了,刚刚开始这个阶段,仍然不要把自己圈起来只学某一个方向的技术。这个阶段,我的建议是:但当涉猎,见往事耳。

网络协议攻击、Web服务攻击、浏览器安全、漏洞攻击、逆向破解、工具开发都去接触一下,知道这是做什么的,在这个过程中去发现自己的兴趣,让自己对网络安全各种领域的技术都有一个初步的认识。

第四步:分方向

在第三步中,慢慢发现自己的兴趣点,是喜欢做各种工具的开发,还是喜欢攻破网站,还是痴迷于主机电脑的攻击···

这个时候就可以思考自己后面的方向,然后精力开始聚焦在这个方向上,通过上面思维导图中各自方向的技术去持续深耕,成为某一个领域的大拿。

网络安全分支

其实在网络安全这个概念之上,还有一个更大的概念:信息安全。

工作岗位主要有以下

  1. 网络安全工程师
  2. 信息安全工程师
  3. 风险评估工程师
  4. 应急响应工程师
  5. o系统集成工程师
  6. 等保测试工程师
  7. 安全运维工程师
  8. 大数据安全工程师
  9. 安全研究员
  10. 滲透测试工程师
  11. 代码审计工程师

安全研发

安全行业的研发岗主要有两种分类:

  • 与安全业务关系不大的研发岗位
  • 与安全业务紧密相关的研发岗位

你可以把网络安全理解成电商行业、教育行业等其他行业一样,每个行业都有自己的软件研发,网络安全作为一个行业也不例外,不同的是这个行业的研发就是开发与网络安全业务相关的软件。

既然如此,那其他行业通用的岗位在安全行业也是存在的,前端、后端、大数据分析等等,也就是属于上面的第一个分类,与安全业务关系不大的类型。这里我们重点关注下第二种,与安全业务紧密相关的研发岗位。

这个分类下面又可以分为两个子类型:

  • 做安全产品开发,做防
  • 做安全工具开发,做攻

安全行业要研发的产品,主要(但不限于)有下面这些:

  • 防火墙、IDS、IPS
  • WAF(Web网站应用防火墙)
  • 数据库网关
  • NTA(网络流量分析)
  • SIEM(安全事件分析中心、态势感知)
  • 大数据安全分析
  • EDR(终端设备上的安全软件)
  • DLP(数据泄漏防护)
  • 杀毒软件
  • 安全检测沙箱

开发这些产品用到的技术主要以C/C++、Java、Python三大技术栈为主,也有少部分的GoLang、Rust。

安全研发岗位,相对其他两个方向,对网络安全技术的要求要低一些(只是相对,部分产品的研发对安全技能要求并不低),甚至我见过不少公司的研发对安全一无所知。

在这种情况下,如果除了基本的开发功底以外,对网络安全技术有所了解,自然会是你面试这些岗位时的加分项。

安全研发岗位,除了通用开发技能的要求以外,可以重点关注一下下面这些技术:

上面列举的只是最直接相关的部分,还需要有了解更多安全技术才能更好的开发产品,继续往下看。

二进制安全

二进制安全方向,这是安全领域两大技术方向之一。

这个方向主要涉及到软件漏洞挖掘、逆向工程、病毒木马分析等工作,涉及操作系统内核分析、调试与反调试、反病毒等技术。

因为经常都是与二进制的数据打交道,所以久而久之用二进制安全来统称这个方向。

这个方向的特点是:需要耐得住寂寞。

比不上安全研发可以有实实在在的产品输出,也比不上网络渗透方向听起来的狂拽炫酷,这个方向更多时间是在默默的分析和研究。

以漏洞挖掘为例,光是学习五花八门的攻击手法就需要花不少的时间。在这个领域,为了研究一个问题,可能花费数月甚至数年时间,这绝非一般人能坚持下来的。不仅如此,不是勤奋就可以成功,更多还要靠天分。

如果看了这些你还是有勇气进入这个领域,那下面这些东西是你需要学的:

这个方向比起安全研发,不仅技术难度更大,提供这些岗位的公司也很少,且基本上分布于北上广深几个一线城市。

网络渗透

这个方向更符合于大部分人对“黑客”的认知,他们能够黑手机、黑电脑、黑网站、黑服务器、黑内网,万物皆可黑。

相比二进制安全方向,这个方向初期更容易入门一些,掌握一些基本技术,拿起各种现成的工具就可以开黑了。

不过,要想从脚本小子变成黑客大神,这个方向越往后,需要学习和掌握的东西就多了:

网络渗透方向的工作有下面几个方向:

网络渗透的方向更偏向于“实战”,因此对技术在广度上有更高的要求,从网络硬件设备、网络通信协议、网络服务(web、邮件、文件、数据库等)、到操作系统、攻击手法等等都需要了解。更偏向于一个全能型的计算机专家,将各种技术融会贯通,以用于“实战”。

安全服务:俗称乙方,这是最主要的一个方向,为甲方公司提供安全能力支持,如渗透测试,产品安全检测等。

安全能力建设:俗称甲方,国内稍微有点规模的公司都有自己的SRC(安全应急响应中心),也就是有自己的安全团队。

国家队:你懂的

书籍教材

网络安全/Web安全/渗透测试推荐书单:

视频学习

安全入门:

实战案例:

工具

SRC技术文档

面试题库

最后

从时代发展的角度看,网络安全的知识是学不完的,而且以后要学的会更多,同学们要摆正心态,既然选择入门网络安全,就不能仅仅只是入门程度而已,能力越强机会才越多。

因为入门学习阶段知识点比较杂,所以我讲得比较笼统,大家如果有不懂的地方可以找我咨询,我保证知无不言言无不尽,需要相关资料也可以找我要,我的网盘里一大堆资料都在吃灰呢。

干货主要有:

①1000+CTF历届题库(主流和经典的应该都有了)

②CTF技术文档(最全中文版)

③项目源码(四五十个有趣且经典的练手项目及源码)

④ CTF大赛、web安全、渗透测试方面的视频(适合小白学习)

⑤ 网络安全学习路线图(告别不入流的学习)

⑥ CTF/渗透测试工具镜像文件大全

⑦ 2021密码学/隐身术/PWN技术手册大全

2022最新整理新手零基础系统的自学网络安全相关推荐

  1. 零基础小白如何自学网络安全成为顶尖黑客?

    在成为黑客之前,你需要做两点准备: 1.学一门编程语言.学哪一门不重要,但你要参考一下下面的条例: C语言是Unix系统的基础.它(连同汇编语言)能让你学习对黑客非常重要的知识:内存的工作原理. Py ...

  2. ue5新手零基础学习教程 Unreal Engine 5 Beginner Tutorial - UE5 Starter Course

    ue5新手零基础学习教程 Unreal Engine 5 Beginner Tutorial - UE5 Starter Course! 教程大小解压后:4.96G 语言:英语+中英文字幕(机译)时长 ...

  3. 2022最新云存储网盘系统/文件分享存储系统

    正文: 2022最新云存储网盘系统_文件分享系统_文件存储系统,其它的就没什么好介绍的了,有兴趣的自行去体验吧. 程序: wwbefs.lanzout.com/iypAi0bokx9i 图片:     ...

  4. 2022最新玖逸云黑PHP系统程序源码+全开源无加密

    正文: 2022最新玖逸云黑PHP系统源码+全开源无加密,下方是程序的完整介绍啥的,有兴趣自己查看: 安装部署: 环境建议:Nginx1.19 PHP7.3(只推荐这个,因为我用其他版本发现有报错) ...

  5. 零基础系统学习Maya(玛雅)软件,每天30分钟【软件精通】

    零基础系统学习Maya(玛雅)软件,每天30分钟[软件精通] 视频是分段播放, 免费教学,由于网站限制只能播放一集,想看全集教程的请移步哔哩哔哩搜索"3D建模云教室"观看 如果你一 ...

  6. Maya房子建模 卡通风游戏3D建模 新手零基础教程

    Maya房子建模 卡通风游戏3D建模 新手零基础教程

  7. 2022最新H5盲盒交友系统

    2022最新H5盲盒交友系统 测试环境:Nginx+PHP7.2+Mysql5.6 删除PHP7.2的禁用函数,安装扩展sg11 网站运行目录 /public 伪静态设置为 thinkphp 数据库配 ...

  8. 零基础Python完全自学教程17:Python中的字典完全解读

    欢迎你来到站长学堂,学习站长在线出品的在线课程<零基础 Python完全自学教程>今天给大家分享的是第17课< Python中的字典完全解读>.本节课是一个大课,我分了这些知识 ...

  9. 零基础Python完全自学教程15:Python中的列表

    欢迎你来到站长学堂,学习站长在线出品的在线课程<零基础 Python完全自学教程>今天给大家分享的是第14课< Python中的列表 >.本节课是一个大课,我分了这些知识点进行 ...

  10. 零基础小白怎么自学软件测试?

    众所周知,软件测试是IT技术岗位中技术入门门槛最低的,因此许多计算机零基础的小白会选择测试行业.虽然,大家都说测试很简单,但是对于完全没有基础的初学者来讲,想要学好测试也并不简单.下面我们就来看看,零 ...

最新文章

  1. 运行维护:UPS电源并列运行分析及维护应用
  2. Web 第二阶段Java Script (续)
  3. ubuntu14.04下apt-get install出现E: Sub-process /usr/bin/dpkg returned an error code 解决方法
  4. 作者:陈钧,男,中国国防科技信息中心高级工程师、研究室主任。
  5. Openfire性能优化与压力测试小结
  6. 过滤器 和 拦截器 6个区别,别再傻傻分不清了
  7. 小D课堂 - 新版本微服务springcloud+Docker教程_2_02 微服务核心基础讲解
  8. 截图工具FastStone Capture
  9. 杂题 P1640 [SCOI2010]连续攻击游戏
  10. 图片识别不了小程序怎么办_图片转文字【小程序】
  11. Reference counted Objects (引用计数对象) - 文章翻译
  12. 柜台收取西联汇款经验(网友分享)
  13. requests模块的异常处理
  14. 计算机系统的组成一般不包括,计算机系统的基本组成,一般应包括哪些
  15. 52单片机交通灯课程设计
  16. 格式: echo -e \033[字背景颜色;字体颜色m字符串\033[0m
  17. C语言 输入一个整数n,求出其阶乘
  18. android输入法把底部顶起来,Android 输入法将底部布局顶上去遮挡布局问题
  19. Win32-子窗口-父窗口-窗口所有者
  20. oracle报错1455,oracle 1455 错误解决办法

热门文章

  1. 计算机usb连接外设后不能启动,usb连接电脑没反应解决方法
  2. java发送http请求 utf8_Java 发送http请求(get、post)的示例
  3. 慧之声科技-2019云呼叫时代
  4. 淘宝新店铺有哪些扶持
  5. 常用英语后缀和全部英语后缀——190个
  6. Linux下配置日志服务器
  7. tomcat 是什么
  8. 组合导航(九):三维简化的INS/GPS组合导航系统
  9. 工作流框架Flowable
  10. 微信小程序服务器请求和上传数据,上传图片并展示,提交表单完整实例代码附效果图