前言
博主本人 18年就读于一所普通的本科学校,21年 6 月在三年经验的时候顺利通过校招实习面试进入大厂,现就职于某大厂安全联合实验室。
我为啥说自学黑客(网络安全),一般人我还是劝你算了吧。因为我就是那个不一般的人。
首先我谈下对黑客&网络安全的认知,其实最重要的是兴趣热爱,不同于网络安全工程师,他们大都是培训机构培训出来的,具备的基本都是防御和白帽子技能,他们绝大多数的人看的是工资,他们是为了就业而学习,为了走捷径才去参加培训。
一开始我自学网络安全的时候,带我的师傅时常会提起某些进去的大佬来警示我,所以我强烈建议在学习之前熟读《网络安全法》,不要进行任何违法活动。学习安全只是为了维护网络安全,而不是犯罪。
入正题前,先说迷茫
请相信各界小白都迷茫:
因为一无所知,因为是小白,所以到处都是地雷被我们踩。可谁没有小白过呢?在建筑大楼、宇宙飞船、钓鱼、养宠物、还有一个不太好意思透漏的谈女朋友上至今本人也还是个小白。
回想起当年蹒跚学步。
晃晃当当的学骑自行车,由开始的紧张恐惧,手足无措,到最后的老司机,由走到跑,由跑到蹦,由蹦到想飞起,都有一个从小白到老司机的过程。
现在迷茫,不如想想曾经我们也迷茫过,在很多自己不熟悉的路上,未来也会有很多迷茫,但是请不要怕,因为迷茫意味着进化,意味着你即将开始新一段的从小白到老司机的历程。这就是人生,一个成长的过程。所以小白的迷茫不足为惧,惧怕的是你因为迷茫而选择放弃,度过迷茫期以后你才会有所改变,才会不再迷茫,逃离不该是你的选择,你应该像是一只雄鹰,而不是一只老鼠,因为你的未来是蓝天、白云、而不是臭水沟、垃圾场。
此刻,你要踏上的是神圣而伟大的计算机黑客的殿堂,迷茫吗?那就对了。
老司机指路:
黑客如何学起?
这个问题对于小白来说有点大。因为一谈到黑客就不免讲到各种入侵、破解、渗透、盗号、黑猫白猫、DDOS、偷窥、控制、破坏等相关的东西,而这些概念想要真正意义上的理解是必须在理解计算机工作原理的基础之上的。
所以,基础很重要,特别记住:基础很重要。
我在这里把基础分为三块吧:
第一:计算机工作原理基础
第二:计算机网络基础
第三:黑客基础
从计算机的工作原理开始说起
要完成这部分的基础学习,你有很多开始的起点选择,你可以选择从经常使用电脑开始,也可以从明天起开始选择一门编程语言去学开始(此处注意:小白可能不理解有哪些语言,并且很容易陷入迷乱中),或者是去一些论坛逛逛,或者是买一本书籍。起点的渠道很多,看你选择哪一种。
我建议,首先从一门编程语言开始,一定要死磕,选择一门编程语言不能放弃,要从头到尾的去学完。我在这里不推荐语言,可以自己慢慢了解去选择自己喜欢的一门。(了解过程中不免有迷茫,很正常)
但这还只是一部分而已,还有一部分硬件的知识可能需要你去理解。比如什么是冯诺依曼结构?作为一名小白可以不那么三心二意,先把前人给你指引的首要的东西学了,然后再去拓展是最稳妥的。
计算机众所周知的是由软件+硬件的机器,硬件是轨道,软件是跑车,跑车在轨道上跑才形成了各种各样的数据样式的展现。这是形象化了的举例,与真正的硬件和软件有所出入,但是前期为了理解,放弃那种精确,求之以粗糙是很有必要的。
上面我的建议,从编程开始入手学习,从更大的视野来看,就是从软件开始下手,因为硬件已经被设计完成,与你操作计算机的关系不大,一个懂硬件的未必会对计算机操作很牛逼,因为你的目的是黑客,是对计算机工作的控制,而不是构造计算机,因此软件优先于硬件。
后期如果对硬件感兴趣,甚至于有改进计算机硬件结构的愿望的话,理解了计算机的软件后再去进行还会有辅助效果。
对于这部分的基础,我不想再说更多,越说你越糊涂,你的疑问越多,想要学会游泳的最好方式是杜绝恐惧,不作什么太多的准备,直接跳入水中,先行动,再从行动中找感觉,找到你的理解。
因此,去找一门编程语言,死磕一门,绝对要死磕,(我指的是想成为黑客大神的人,如果你的目标就是能搞个小入侵,知道点计算机的基本工作过程,没有必要),学完一门语言后你就会进步很多,到时候你思维打通了,你才会明白今天我所说的。至于学什么语言前面我已经说过不能推荐,一定要自己去摸索。
下一步是计算机网络基础
当你能够用一门语言去编程的时候你就对计算机如何工作的有很深的认知了,计算机上跑的任何软件和程序(怎么跑的,为什么能跑?这些潜在的疑问在学的过程中会迎刃而解,此刻记住你的问题边界,不要过分拓展疑问边疆),一些安装包什么的,你都明白那是干啥的。
接着对于所有软件程序中的一个集合“网络协议”也就很容易学习了。
网络协议本质是程序,他的功能是让计算机之间能够通信,加一点,安全通信。
再上一部分的计算机工作原理基础上你学习完成后,那么这一部分的学习很轻松。但是绝对重要,因为黑客的影响力主要来自互联网,没有广泛相互联系的互联网,黑客也只能对面前的计算机进行操控,而不能远程去控制和攻击,学习计算机网络会让你明白黑客攻击当中的很多远程的方式,并且黑客的多数伟大和神秘也是互联网赋予的。
具体的协议有哪些,该怎么学,对于一个小白来讲没有说的必要,小白的任务是前面的那个先完成。
然后是黑客基础
黑客基础是给学习完以上两大基础后依然不知道如何入侵和进行黑客工程的人准备的,一般有黑客天赋的人学完以上两部分,对于如何利用计算机通过网络去进入其他计算机的系统,窃取信息等都会不学自通。
假如你还尚未打通,那么就要学学黑客的基础,这方面有大量前辈们所写的书,对于前辈经验们的系统性的梳理去认知也很快会让你进入一个不一样的思维模式去。
禁忌:不要在庞杂繁多混乱堆砌的概念上停留过多时间
让一个从来没有学过元素周期表的人对各种物体的化学元素进行细致的分类岂不是为难别人?让一个还没有下过水尝试过身体接触水的感受的人就去对各种游泳技法进行细致的分类岂不是无用之谈?
什么php服务器、asp服务器、iis、黑猫白猫、服务器环境、渗透、入侵、破解、HTML、java、虚拟主机、云主机、IP追踪、木马编写、病毒编写、键盘记录、钓鱼网站、域名、DNS、端口扫描、DOS指令...............
如此繁复的概念殊不知都是在计算机工作原理和计算机网络基础之上的概念,没有关于一栋大厦地基的认识便要说什么顶楼设计岂不是空中楼阁?悬在空中脚下无支撑物怎能不摇摆四晃?
所以我要在这里敬劝读者,莫要对那些看起来很高逼格的概念作过多的疑问,当你明白了计算机是怎么跑起来的时候,这些概念的逼格无论多么高,他的原理无非就是那么些。
最后附上我整理好的网络安全学习资料
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
同时每个成长路线对应的板块都有配套的视频提供: