谁的大一不迷茫(网络安全到底该怎么入门?)

大家好,我是周杰伦。
最近年底了,工作上一堆事要忙,好久没跟大家聊聊天了。
最近很多同学,尤其是大一的新生,都在向我询问类似的问题:
网络安全要学的东西好杂,找不到方向了,迷茫了
同学们都在研究xxx,我要去学吗?
精力有限,我到底该学什么编程语言,好怕选错啊
最近下班比较早,打算写篇文章,为大家解解惑。
说实话,大家有这些疑惑,太正常不过了,谁的大一不迷茫呢?我也曾经迷茫过。
大一那会儿,加入了学校的信息安全协会,开始学习网络安全。
请了一位老师讲木马技术,于是大家一窝蜂去研究木马编程。
又请了其他高校的安全团队做技术交流,于是大家一窝蜂的去学习网络渗透。
【谁的大一不迷茫(网络安全到底该怎么入门?)】又请了已工作的学长做漏洞分析逆向技术,于是大家又一窝蜂的去学汇编语言。
你就说,迷不迷茫?
回过头来看,其实瞎耽误了不少功夫,走了不少弯路。
怎么入门? 大一的同学,主要把基础打好。最最重要的3门计算机课程当属:
1、计算机网络
2、操作系统
3、计算机组成原理
这三门课是计算机的基石,不管是以后要做开发的同学,还是要做网安的同学,把这块基础打好对日后进一步学习都是有非常大的帮助。
像很多半路出家学习网安的同学,在接触到很多攻防、漏洞相关的知识时,缺乏这一块的内容,很多概念都是浑浑噩噩的,不知所云,只好再回头去补。而如果一开始在学校的时候就把这些基础打好,再接触网安中的攻防对抗技术,就会更有底气,你会明白这些技术从表象到内部原理,学的也就更扎实。
对于喜欢搞网站攻防、服务器入侵与防护的同学,重中之重学习计算机网络。对网络层次、局域网技术、网络协议,尤其是DNS、HTTP得花大力气学习。自己抓包观察网络中真实的数据包,和书上讲的网络协议进行对照性学习,理解计算机网络是如何工作的。
学完了计算机网络,然后学习简单的Web前后端开发技术、了解常用的前后端开发框架、什么是Ajax、跨域是什么、自己去把网站是如何开发出来的琢磨一遍,然后学习Web安全正式入门,有了前后端开发基础,理解了web的工作机制,才更好理解Web安全中的攻防手段原理是什么。
对于喜欢搞逆向、软件漏洞、破解的同学,重点学习操作系统、C/C++编程语言,有了这些基础,你才知道软件是怎么开发出来的,以后再遇到相关的问题分析时才能理解的更透彻,然后学习逆向工程、汇编语言、调试技术,逐步入门。
总结一下,安全,说白了就是研究操作系统、软件、网站、服务器、网络协议这些东西的学科,你不能只从一个面出发,直接就学安全。还得从另一个面切入,知道它们是怎么开发出来的,用的什么框架语言,运作的机制是什么。做到两面兼顾,才能学好安全。
另外需要注意的是,网络渗透和二进制安全是两个不同的方向,两个方向各有侧重,最好认真思考自己的兴趣所在,自己是更喜欢琢磨程序代码逆向分析,还是喜欢搞网站服务器攻防。两个方向都有很好的出路,主要结合自己的兴趣所在。不要看到别人在学啥就焦虑跟风,今天学这个,明天学那个,最后两个都没学好。
编程语言的选择 接下来再一次来聊一下编程语言的选择。
网安人的编程语言选择,可以从以下几个方面思考:
1、用它来做网安工具开发,果断学Python
做网络安全,经常会编写一些工具、爬虫、漏洞利用exploit之类的东西,所以掌握一门编程语言做一些简单的开发是非常有必要的,那这种情况下,果断学习Python。
Python简单易上手,功能强大,学习周期短,在有人带的情况,最快个把星期就能上手。
2、学习二进制安全,果断学C、C++
二进制安全研究,经常要反编译、逆向分析、调试分析程序文件,而这些程序文件大多数都是用C、C++这些语言编写的,如果不了解这些语言的基本特性,就很难很好的去研究它们的安全机制。
二进制安全研究,是一个跟操作系统平台紧密相关的方向,所以需要把操作系统的知识认真学好。而通过学习C、C++这类底层语言,也对学习操作系统有非常大的帮助。
3、学习Web安全、网络渗透,学Java、PHP、Python
网络渗透,尤其是Web安全方向,其实说白了你要研究的对象就是学习这些网站服务器的安全能力,利用它们的漏洞。所以当然要选择当下互联网、网站服务器上应用面最广的编程语言。
而当下,这个领域,Java可谓是一家独大,除此之外,还有很多中小型公司后台使用PHP、Python。
比如这几天正火的log4j漏洞,如果你对Java语言一无所知,那这个漏洞,可能也只能看个热闹。
下一次,说不定爆一个Python Flask框架的漏洞,如果你不知道Python Web开发,一样会有这个尴尬。
那问题来了:这么多后端语言,我难不成每个都要学?
其实,Web后端语言和框架虽然多,但都有相通之处,说白了,就是一个HTTP动态响应的程序。学会一个很容易就能学会其他的。
而且,就安全方向而言,讲究的广泛涉猎,又不是让你像后端开发程序员一样要深入研究,每个技术栈都了解一下,哪天爆了某个语言框架的漏洞,自己能找到方向去研究和知道怎么修复安全加固。
另外 我这里有一份零基础入门网络安全的学习路线图
谁的大一不迷茫(网络安全到底该怎么入门?)
文章图片

谁的大一不迷茫(网络安全到底该怎么入门?)
文章图片

需要的同学可以点击下方传送门自助领取
【零基础入门到进阶学习路线图】
好了,今天就写到这里,大家有什么问题也可以在评论区留言告诉我。

    推荐阅读