网络安全在当今信息社会越来越受到重视,但不同于Java、C/C++等后端开发岗位有非常明晰的学习路线,网络安全更多是靠自己摸索,要学的东西又杂又多,难成体系。
这也是为什么我经常劝别人不要入网络安全的坑,因为一般人真坚持不下去!
但考虑到部分同学仍然对网络安全抱有幻想,今天我就根据自己的实际情况,给大家一些建议,希望能帮助大家从零开始建立自己的知识体系!
目录
一、学习建议
1.1、确立学习目标
1.2、打牢网安基础
1.3、关注行业动态
1.4、提升实战能力
二、学习准备
2.1、硬件选择
2.2、软件选择
2.3、语言能力
三、学习路线
3.1、基础计算机知识
3.2、网络安全基础知识
3.3、黑客技能
3.4、网络安全工具
3.5、实践经验和学习资源
四、学习资源
4.1、书籍推荐
4.2、网站推荐
4.3、工具推荐
一、学习建议
1.1、确立学习目标
网络安全涵盖范围广泛,包括Web安全、系统安全、代码审计等方面。在学习之初,建议确定一个明确的学习目标,并根据目标选择合适的学习路线和资料。
1.2、打牢网安基础
网络安全学习需要具备一定的计算机基础知识,如计算机网络、操作系统、编程语言等。在学习网络安全前,可以先系统学习这些基础知识,把基础打扎实。但要注意的是,不要过度沉浸在编程语言中,一般来说,学习编程不但学习周期长,而且实际向安全过渡后可用到的关键知识并不多
一般人如果想要把编程学好再开始学习网络安全往往需要花费很长时间,容易半途而废。而且学习编程只是工具不是目的,我们的目标不是成为程序员。建议在学习网络安全的过程中,哪里不会补哪里,这样更有目的性且耗时更少
1.3、关注行业动态
网络安全是一个快速发展的领域,不断涌现新技术和安全隐患。关注网络安全新闻、技术论坛等平台,了解最新动态,提高自己的敏感性。
1.4、提升实战能力
网络安全是一个强调实战应用的领域,理论知识鞭辟入理、博览经典,但终究离实际应用还存在距离。参与实战项目、做网络安全实验,提高实际运用能力。
二、学习准备
2.1、硬件选择
经常会问我“学习网络安全需要配置很高的电脑吗?”答案是否定的,黑客用的电脑,不需要什么高的配置,只要稳定就行.因为黑客所使用的一些程序,低端CPU也可以很好的运行,而且不占什么内存.还有一个,黑客是在DOS命令下对进行的,所以电脑能使用到最佳状态!
因此,不要打着学习的名义重新购买机器...
学渗透的电脑配置:
1、硬盘:最低1T的硬盘,推荐256G固态硬盘+1T机械硬盘(双硬盘插槽)。
2、内存:最低16G,因为可能要运行多个虚拟机。
3、CPU:最低i5,推荐i7
4、如果只在一个地方使用,可以买台式机,否则买笔记本更方便。
2.2、软件选择
很多人会纠结学习黑客到底是用Linux还是Windows或者是Mac系统,Linux虽然看着很酷炫,但是对于新人入门并不友好。Windows系统一样可以用虚拟机装靶机来进行学习,如果你的是Mac系统,可以装双系统进行学习
至于编程语言,首推Python,因为其良好的拓展支持性。当然现在市面上很多网站都是PHP的开发的,所以选择PHP也是可以的。其他语言还包括C++、Java...
很多朋友会问是不是要学习所有的语言呢?答案是否定的!引用我上面的一句话:学习编程只是工具不是目的,我们的目标不是成为程序员
(这里额外提一句,学习编程虽然不能带你入门,但是却能决定你能在网络安全这条路上到底能走多远,所以推荐大家自学一些基础编程的知识)
2.3、语言能力
我们知道计算机最早是在西方发明出来的,很多名词或者代码都是英文的,甚至现有的一些教程最初也是英文原版翻译过来的,而且一个漏洞被发现到翻译成中文一般需要一个星期的时间,在这个时间差上漏洞可能都修补了。而且如果不理解一些专业名词,在与其他黑客交流技术或者经验时也会有障碍,所以需要一定量的英文和黑客专业名词(不需要特别精通,但是要能看懂基础的)
比如说:肉鸡、挂马、shell、WebShell等等
三、学习路线
需要定制学习路线的评论区留言
3.1、基础计算机知识
- 计算机硬件:了解计算机各种硬件的功能和工作原理,如处理器、内存、硬盘、显卡等。
- 计算机操作系统:了解操作系统的基本原理、系统安全、文件系统等。
- 数据结构与算法:了解数据结构的基础知识,例如数组、栈、队列、链表、二叉树、图等,以及基本算法的分类和分析。
- 编程语言:学习一种或多种编程语言,如Python、C++、Java、Ruby、Perl等,以便可以更好地了解网络安全。
3.2、网络安全基础知识
- 网络协议:学习TCP/IP协议的基础知识和应用,了解HTTP、FTP、SMTP等常见协议。
- 网络拓扑结构:了解网络的组成和分层结构,包括LAN、WAN、MAN等。
- 网络安全漏洞与威胁:学习常见的网络安全漏洞,如缓冲区溢出、SQL注入、跨站脚本等,并掌握预防和解决这些漏洞的技术。
- 加密技术与解密技术:学习加密和解密技术,如对称加密、非对称加密、哈希算法等。
3.3、黑客技能
- 渗透测试:了解渗透测试的流程、技术和工具,并掌握使用Nmap、Metasploit等渗透测试工具的技能。
- 漏洞利用:学习如何发现和利用常见的漏洞,如SQL注入、XSS等。
- 社会工程学:学习社会工程学的基本概念和技术,包括Phishing、Spear Phishing等。
- 端口扫描和识别:掌握如何使用端口扫描工具扫描网络和主机,并了解如何识别开放端口的服务和应用程序。
- 网络攻击和防御技术:学习如何使用网络攻击工具和技术,如DoS、DDoS等,并了解如何防御这些攻击。
3.4、网络安全工具
- 网络扫描工具:掌握如何使用网络扫描工具扫描目标主机和网络,并了解如何识别网络拓扑结构和开放端口。
- 渗透测试工具:了解渗透测试工具的基本概念和使用方法,例如Nmap、Metasploit等。
- 恶意软件分析工具:掌握如何使用恶意软件分析工具,如IDA Pro、Ollydbg等,以分析恶意软件的行为和病毒特征。
- 数据包捕获和分析工具:了解数据包捕获和分析工具,如Wireshark、Tcpdump等,以便分析网络流量、协议和数据包。
- 安全防护软件:了解安全防护软件的种类、功能和原理,如防病毒软件、防火墙、入侵检测系统等。
3.5、实践经验和学习资源
- 实践经验:通过参与CTF比赛、渗透测试挑战、漏洞提交、护网行动等方式积累实践经验。
- 学习资源:了解和使用网络安全相关的在线学习资源、书籍、博客、论坛等,例如安全牛、FreeBuf、看雪论坛、黑客技术宝典等。
总之,系统自学白帽黑客(网络安全)需要广泛而深入的知识,包括计算机基础、网络安全基础知识、黑客技能和网络安全工具。掌握这些知识需要时间和耐心,需要积极实践和不断学习。
四、学习资源
4.1、书籍推荐
第一本:《鸟哥的Linux私房菜》
推荐理由:本书是最具知名度的Linux入门书,全面而详细地介绍了Linux操作系统。更是被不少读者称为 Linux 圣经,我就不多做介绍了!
第二本:《TCP/IP详解(卷1:协议)》
推荐理由:《TCP/IP详解》一共三卷,其中卷二、卷三更多偏重于编程细节,而卷一更多偏重于基础原理,基本上都是通过实验先看现象,然后再来引出其背后的原理,如果刚接触的话,建议大家踏踏实实从头看,不要省略任何一个细节,这对于网络工程师、软件工程师同样适用。
第三本:《Web安全深度剖析》
推荐理由:这本书介绍了大量的开源安全工具,同时也详细讲解了常见的漏洞和攻击防护方式,是一本入门安全的、并能做到知其然知其所以然的好书。有开发和系统基础的看起来没有问题,能打开开阔视野和拓宽思路。
第四本:《Web安全攻防-渗透测试实战指南》
推荐理由: 这本书由浅入深、全面、系统地介绍了当前流行的高危漏洞的攻击手段和防御方法,语言通俗易懂,同时结合具体案例进行讲解,方便我们快速掌握主流的漏洞利用技术与渗透测试技巧,对于刚入门的同学而言,是一本不容错过的好书。
第五本:《Python黑帽子:黑客与渗透测试编程之道(第2版)》
推荐理由:这本书以Python作为线索,在介绍各种蓝军工具实现方法的过程中,引导读者学习各种蓝军技术,以及Web/系统/网络相关的基础知识。所以这本书最大的特点就是不枯燥,很适合作为蓝军技术方向的入门学习资料。
4.2、网站推荐
- 安全技术论坛:如FreeBuf、看雪学院、i春秋论坛等,提供丰富的网络安全资讯、技术文章和实战分享。
- Mooc平台:如Coursera、网易云课堂、慕课网等,提供网络安全相关的在线课程和实验环境。
- Youtube频道:如HackerSploit、thenewboston等,推出网络安全技术教程和实践分享。
4.3、工具推荐
- Wireshark:数据包捕获和分析工具,可以用于分析网络流量和协议,对于理解网络通信和网络安全非常有帮助。
- Nmap:网络扫描工具,可以用于快速扫描目标主机的端口和服务,发现网络中的漏洞和弱点。
- Metasploit:渗透测试工具,包含了很多常用的攻击模块和漏洞利用代码,可以用于测试系统的安全性。
- Burp Suite:Web应用程序渗透测试工具,可以用于拦截、修改和发送HTTP请求,分析Web应用程序的漏洞。
- Hydra:密码破解工具,可以用于破解常用的用户名和密码,测试系统的强密码策略和用户认证机制。
以上工具都是网络安全领域中非常流行和常用的工具,掌握它们可以帮助你进行网络安全测试和攻防实践。当然,掌握这些工具需要较好的计算机基础和网络安全知识。在学习和使用这些工具时,请务必遵循合法、合规、道德的原则。