1. 先想清楚:网络安全到底学什么、写给谁看
1.1 这条路线图解决什么问题
我在这个行业里待了将近十年,面试过不少来应聘安全岗位的年轻人。一个让我印象很深的现象是:大部分自学的人并不是不努力,而是不知道怎么努力。有人一上来就抱着一本《TCP/IP详解》啃了三个月,结果还在传输层打转;有人听说 Kali 很酷,装完之后每天对着工具列表发呆,不知道下一步干什么;还有人刷了半年短视频,记住了一堆漏洞名字,问他一次完整的渗透测试怎么开展,完全答不上来。
所以我想把脑子里的这条学习路线图完整写下来。它不是什么秘密,就是我带过的所有新人走出来的那条路,包括我自己。这份路线从最底层的网络和操作系统基本功讲起,一路走到内网渗透、安全运营、红蓝对抗这些偏高级的方向,中间会穿插大量必须动手完成的实操练习和靶场清单。
这份内容适合这几类人:完全零基础、想转行进网安的朋友;计算机相关专业在读、想往安全方向靠的大学生;已经入行但感觉技能树长歪了、想重新系统补课的初级从业者。如果你已经干了五六年红队,那这文章对你来说偏基础,可以直接跳过前半部分。
1.2 哪些人适合走这条路
说实话,网络安全这个行业对学历的要求没有想象中那么高。我见过专科毕业、全靠自学的渗透测试工程师,也见过名校硕士在安全运营岗上写不好一篇分析报告。真正决定你能不能在这行待下去的是三种能力:第一,愿不愿意持续输入,安全领域的攻击手法和技术栈每半年就翻一轮新东西;第二,遇到问题能不能自己拆解,而不是张嘴就问;第三,有没有基本的对抗思维,别人设计一个系统时想着怎么好用,你得想着怎么搞坏它、又怎么防它被搞坏。
这三种能力里,第三种其实最可以培养,也是这条路线图里花篇幅最多的地方。对抗思维说白了就是"站在对方的角度想问题"的能力,渗透测试里这么说,应急响应里也这么说。它会贯穿你学习的所有阶段,从最开始在靶场上弹个计算器,到后来在真实授权范围内拿下目标网络,本质上练的都是同一件事。
1.3 关于就业市场的真相
很多人在网上问网络安全就业前景怎么样、工资高不高。我的回答是:岗位确实多,但空缺的是中高级岗位,入门级的位置其实竞争很激烈。前几天还有个热搜问"网络安全35岁会被裁员吗",我后面单独说这个问题。这里只强调一点——现在行业缺的不是"知道几个漏洞的人",缺的是"能独立解决问题的人"。你按照这条路线脚踏实地走完,把每个阶段该练的都练到位,就业根本不愁;反过来,你光学个皮毛就出去投简历,那就只能跟几百人抢同一个初级渗透岗。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 打地基:入门阶段的四项核心基本功
2.1 网络基础:不是会配路由器就行
如果有人问我新手学网络安全第一件事学什么,我的答案永远是网络基础。这不是说让你把OSI七层模型倒背如流,而是你至少要搞清楚:数据包从一台电脑到另一台电脑经历了什么,TCP三次握手是怎么建立的、四次挥手为什么要多折腾一步,DNS解析的过程长什么样,HTTP请求从浏览器发出到服务器响应,中间经过了哪些环节。
我为什么坚持让新人先补网络?因为我后来带人做渗透测试和应急响应的时候,发现几乎所有瓶颈都出在这里。你看不懂流量包,就搞不清楚攻击者到底做了什么;你不理解IP协议分片,就分析不了某些畸形包的攻击手法;你不懂HTTP状态码和请求头字段,连Burp Suite里的报文都读不利索。网络基础就是网安这栋楼的地基,地基不牢,后面盖起来的高楼全是危房。
实操建议:不要一上来就啃大部头教材。先看思科的CCNA中文教材前几章,再把《图解TCP/IP》翻一遍,配合Wireshark自己抓包观察三次握手和HTTP请求。最好的训练方式是开着Wireshark去看自己平时上网的流量,看多了再对照书,很多概念自然就通了。
2.2 操作系统与命令行:你的第二母语
第二个基本功是操作系统。现在主流的服务器系统绝大多数是Linux,而你未来做渗透也好、做防御也好,八成时间要对着一台没有图形界面的服务器操作。所以我要求新人必须熟练掌握Linux的常用命令,文件权限管理、进程管理、网络配置、日志查看这些是最基本的;Shell脚本至少要会写简单的循环和判断,因为在实际工作中,批量处理日志、批量检测IP这种活全靠脚本扛。
Windows也别完全丢。现在很多企业内网是Windows域环境,你至少要理解域控的基本概念,知道用户组策略、注册表、计划任务这些基础机制是怎么运作的,以后搞内网渗透时这些都是绕不开的入口和提权路径。
有个很朴素的判断标准:当你不需要思考就能敲出各种Linux命令、能看懂系统日志里每一行大概什么意思的时候,地基就算打完了三分之一。这个过程没有捷径,就是开一台虚拟机,配好环境,逼着自己所有操作都在命令行里完成。
2.3 编程语言怎么选:Python和Go的定位
关于编程,很多零基础的人特别慌,老是问"学渗透测试是不是需要先成为编程大神"。答案是不需要,但你至少要能写脚本。我推荐入门阶段以Python为主,因为它的语法简单、第三方库多、写个小工具很快。你不需要拿Python去开发什么大型项目,你只需要能做到:用requests库发个HTTP请求、用socket写个简单的端口扫描、用python-docx或正则表达式批量处理文档里的IP和域名。就这些,够了。
等你学到进阶,我建议再接触一下Go。现在很多工具和免杀样本都用Go写的,它的编译产物是静态二进制,部署方便,在安全工具开发圈子里的生态已经越来越成熟。前几年其他人的学习路线里很少提Go,但这几年实际情况变了,我给你补上。
C语言和汇编我先说一点:如果你不是走二进制安全方向,不需要一上来就深挖。但你至少要懂指针和内存布局的基本概念,因为解释缓冲区溢出、栈溢出这些漏洞原理时,没有这点底子是听不懂的。等你方向确定了,真要学再深入学不迟。
2.4 Web基础:理解你未来对抗的主要目标
接下来是Web基础。现在绝大多数业务系统都是B/S架构,所以Web安全是绝大多数安全从业者的主战场。入门阶段,你得先把网页前后端的交互链路搞明白:浏览器怎么发HTTP请求,服务器怎么处理请求并返回,Cookie和Session的机制是什么,同源策略到底"同"的是什么"源",前端渲染和后端渲染有什么区别。
不需要你成为前端高手,但至少要看得懂HTML、JavaScript、CSS的基本逻辑。你先正常开发、正常看代码,目的是建立"正常的网站大概长什么样"的感觉。有了这个基线,后面学SQL注入、XSS这些漏洞的时候,才能理解它们到底"不正常"在哪里。我见过不少从纯文科转过来的学生,卡就卡在这一步:对Web的基础概念一头雾水,后面全懵。所以别图快,这关慢慢过。
3. 定方向:几个核心细分赛道怎么选
3.1 Web安全与渗透测试:入门最友好、岗位最多
地基打完之后,大部分人会面对第一次方向选择。我不知道你看过多少网上的分析,但以我多年的观察,Web安全和渗透测试方向依然是新人的首选,原因很简单:岗位多,路线清晰,练手环境好。
这个方向的核心学习内容就是OWASP Top 10那一串:SQL注入、XSS跨站脚本、CSRF跨站请求伪造、SSRF服务端请求伪造、文件上传漏洞、命令执行漏洞、越权访问,以及这两年越来越被重视的API安全问题。你每学一个漏洞类型,就要做三件事:理解它产生的原理,找到它在代码层的根源,然后亲手在靶场里复现并利用它。
等Web渗透的基础打牢了,再往前后端框架、中间件配置、云环境架构这些方向延伸。这个方向的天花板很高,从普通的Web渗透测试员到红队高级专家之间,隔着无数的实战经验和知识广度。
3.2 二进制安全与逆向分析:硬核但上限高
如果你编码功底扎实、对底层原理有强烈的兴趣,可以考虑二进制安全方向。这个方向的核心技能是汇编语言、逆向工程、漏洞挖掘、Exploit编写。你可以用纯静态分析的方法跟踪一个程序的执行逻辑,也可以用调试器动态观察它崩溃时的状态,然后从崩溃现场推断出漏洞点,构造恶意输入让它执行你的指令。
二进制方向的学习曲线非常陡峭,前半年很可能一直在和"看不懂、调不通"作斗争。但它的职业天花板同样很高,能写高质量Exploit的人在市场上是硬通货。现在的热门方向还包括车联网安全、工控安全、IoT安全,底层全是二进制安全的基本功在支撑。
3.3 安全运营与蓝队防御:需求大、成长稳
比起红队渗透那种热血打法,蓝队安全运营这个方向是这样的:需求更大、压力相对均衡、入门门槛没有红队那么高,但同样要求极强的综合能力。
这个方向你要学的是安全设备的原理与运维、告警日志的分析与研判、SIEM平台的使用、威胁情报的收集、恶意样本的分析流程、应急响应和取证分析。换句话说,红队负责想方设法打进来,蓝队负责想办法发现攻击痕迹并拦住它。
有个误解需要澄清:蓝队不是简单的"盯着告警看一天",那是安全运营中心(SOC)最初级的工作。真正高阶的蓝队专家要自己做威胁建模、写检测规则、建自动化响应编排,还要在护网演习中跟红队打得有来有回。这个方向的成长靠的是每天大量真实告警的喂养,非常磨人,但越老越吃香。
3.4 云安全与数据安全:跟着架构走的新方向
这几年云原生架构普及得非常快,企业上云已经是不可逆的潮流。所以云安全这个方向的人才缺口越来越明显。它要求你既懂云平台本身的认证授权机制、网络隔离策略,又懂云原生组件(容器、Kubernetes、Serverless)的安全配置和攻击面。AWS、阿里云、腾讯云这些厂商的认证体系,就是这块最实用的敲门砖。
数据安全和隐私保护合规也是个大方向,涉及敏感数据识别、加密策略、数据脱敏、全链路隐私合规治理这些具体工作。这个方向的特点是跟法律法规绑定得比较深,所以对文本阅读能力和跨部门沟通能力有要求。
我建议学到这里的新人不要急着把自己焊死在某一方向上,而是先以Web安全和渗透测试为主线,同时把安全运营和云安全的基础知识各学一块,等到找工作的时候再根据具体的岗位描述做调整。基础框架搭得越宽,后面换方向的成本越低。
4. 动手练:靶场、CTF与实战项目的路径设计
4.1 新手必刷的靶场清单
接下来说说很多人最关心的部分——去哪里练手。
新手第一个接触的靶场,我建议是DVWA(Damn Vulnerable Web Application,一个PHP写的脆弱的Web应用)。它自带SQL注入、XSS、CSRF、文件上传等常见漏洞,而且每个漏洞都有低、中、高三个安全级别,你可以在同一个漏洞上反复练习不同难度下的利用方式。语言方面它也自带简体中文翻译,对英语不好的朋友很友好。
练完DVWA之后,可以进阶到Pikachu,这个靶场是中文环境,覆盖的漏洞类型更全,还附带了一些逻辑漏洞场景,比如越权、支付逻辑问题。再往后你可以上Sqli-labs专刷SQL注入,里面从字符型、数字型注入到盲注、堆叠注入,按关卡排列,总共几十关,每一关都值得认真做一遍。
虚拟机靶场方面,Vulhub是一个基于Docker的漏洞环境集合仓库,里面绝大多数CVE和知名漏洞环境都是下载配置后一键起环境。你在Vulhub里把一套知名漏洞从环境搭建到复现完整走三遍,对中间件漏洞的实战理解会上一个台阶,同时也能积累Docker的基础用法。
| 靶场名称 | 定位 | 难度 | 建议刷法 |
|---|---|---|---|
| DVWA | Web漏洞入门 | 极低 | 每个漏洞高中低三档全过 |
| Pikachu | Web漏洞综合 | 低 | 重点刷逻辑漏洞章节 |
| Sqli-labs | SQL注入专项 | 中 | 从第1关刷到第21关,再回头总结 |
| Vulhub | CVE漏洞环境 | 中高 | 选5个重点CVE完整复现 |
| HackTheBox | 综合渗透练习 | 高 | 配合思路笔记,分主题刷机器 |
4.2 CTF到底怎么打才有收获
跟靶场并列的另一条练习路径是CTF(Capture The Flag,夺旗赛)。现在网上对CTF有两种极端看法,一种是把它捧上神坛,一种是说"会打CTF不等于会渗透"。以我个人的经验,两种说法都偏了。CTF特别是Web方向,它真正的价值在于帮你把Web基础知识练得非常扎实,并且逼着你接触一些实际工作中很少遇到的脑洞题,这对自己思维能力是一个很好的训练。
问题在于打法。很多新手打CTF就是看到题目不会做,然后去看别人的WriteUp,看完觉得自己又行了,换一道题照样懵。正确的做法是:拿到一道题先自己思考至少一小时,不管能不能做出来,把思路写下来,卡在哪一步也写下来;然后才去看WriteUp,看完不要关掉,而是自己去复现一遍解题路径;最后总结这道题考的知识点属于哪一类,和自己会的哪块知识能挂上钩。
CTF圈子里一直流行一句话叫"以赛代练",实际上以赛代练的前提是你有扎实的基础。没有基础就开赛,和上了赛场才发现自己连枪都不会装是一个效果。
4.3 从模拟环境到真实的授权测试
靶场和CTF练到一定程度之后,就可以尝试真实授权范围内的测试了。这里要明确一点:所有对真实系统的渗透测试,必须获得书面授权。安全的底线是不能踩的,哪怕你有再强的技术,只要用在未授权的目标上,那就是违法。
合法的练手途径大概有这么几个:第一,国内外的各大漏洞赏金平台,比如补天、漏洞盒子、HackerOne,很多企业的授权测试范围是公开的,你可以在授权范围内挖漏洞并提交报告,既练了技术又可能拿赏金;第二,参加护网演习行动,这个在圈内可以增加简历亮点,同时积累真实的对抗经验;第三,在自己搭建的环境里模拟公司网络架构,把外网打点、内网渗透的完整流程自己跑通。
我强烈建议每个想走渗透方向的人,在自己电脑上搭建一个完整的"小型企业网络模拟环境",至少包含一台公网服务器、一台内网应用服务器、一台域控、两三台普通终端。别小看这件事,它会倒逼你去理解真实的网络拓扑和系统部署,而这恰恰是靶场最缺乏的。
5. 进阶之路:红队、蓝队与应急响应
5.1 内网渗透:从入口到域控的通关思路
当你在Web层面已经能比较熟练地拿下一台公网主机之后,进阶的核心战场就转到内网。内网渗透和单机突破完全是两个难度级别,它考验的不是单个漏洞的利用能力,而是对整个内网架构的理解和横向移动路线的规划能力。
内网渗透的学习重点包括:内网信息收集,比如通过一条命令拿到当前主机的网卡信息、域用户列表、共享目录;内网端口转发和内网代理,这是解决出网限制的关键能力;横向移动,比如通过哈希传递、计划任务、服务创建等方式从一台机器跳向另一台;域渗透,目标是拿到域控权限,这里面牵扯到Kerberos协议的原理、各种票据攻击手法、ACL滥用、组策略利用等一大批很深的知识点。
学习这个阶段,光靠网上找的零散帖子是不够的,建议找一些系统的内网安全课程或者红队书籍,扎扎实实一章一章啃下来。实践层面,可以把猎奇实验室、红日实战靶场这些内网渗透靶场来来回回打透,直到你在里面闭着眼睛都能画出攻击路径图。
5.2 日志分析与应急响应的日常
跟红队激情对抗的场景不同,蓝队和应急响应的日常更多是安静而忙碌的:日志分析、流量追踪、样本研判、时间线还原。这一块如果你想走蓝队方向,那不管多枯燥都得学透。
应急响应的核心方法论是"时间线思维"。当一个系统被入侵后,你要做的不是急着删文件、关端口,而是先把攻击者的完整攻击路径还原出来:他是通过哪个漏洞进来的,进来之后执行了什么命令,留下了什么后门,是否横向移动到了其他主机,数据有没有被带走。所有这些问题的答案,都在日志和流量里。
学习日志分析的最好方法就是多看真实的日志分析案例。你可以去GitHub上面搜各类企业的应急响应报告和蓝队分析案例,对照着报告中的时间线,自己在模拟环境里尝试还原攻击路径。Linux日志体系(syslog、auth.log、secure、bash_history)和Windows事件日志体系(Security日志、PowerShell日志、Sysmon日志)至少各精通一个。
5.3 安全体系设计:从技术到管理的跃迁
到了这个阶段,你可能已经具备单点突破和单点防御的能力了,但想真正从"工程师"变成"专家"或"负责人",还有一个关键跨越——理解安全体系本身。
安全体系不是你这里加个防火墙、那里装个杀毒软件就完了。它是一整套从风险评估、安全架构设计、策略制定、技术防护、监控管理、应急响应到持续改进的闭环流程。你会开始接触安全运营中心(SOC)的搭建、威胁建模与威胁情报的落地、ATT&CK框架在检测规则中的应用、安全自动化与编排(SOAR)的设计。
我从自己的经验出发,想对走到这一步的人说:真正拉开安全从业者差距的,其实已经不在技术本身了,而在于你对业务的理解和对风险的判断。一个系统要不要上WAF,是在权衡性能和安全的成本;一个告警要不要处置,是在判断误报和真实攻击之间的概率分布。这些判断力,没做过真实项目的人很难凭空学会,只能靠大量实战去喂。
6. 避坑指南:新手常见误区与行业现实
6.1 那些年我们一起踩过的坑
写了这么多路线,最后我想以过来人的身份跟你聊几个特别常见的坑,全都是我亲眼见过甚至自己踩过的。
第一个坑:资料囤积症。网盘里存了几百个G的视频课程,B站收藏夹里躺了上千个"必学教程",结果一个都没看完。我的建议是:在你学完DVWA之前,一门新课程也不要买;在你把Sqli-labs前二十关刷完之前,一篇新博客也不要收藏。学习资料贵精不贵多,这个行业的资料早就多到溢出了,缺的从来都是行动。
第二个坑:只会用工具,不懂原理。很多新人学渗透测试,第一步就是装一堆自动化扫描器和攻击工具,上来就对着靶场一顿扫,扫出什么就点两下,然后截图发朋友圈证明自己"会渗透"了。这种习惯是非常致命的。工具的背后都是漏洞原理,你不会原理,就不知道怎么改工具、怎么绕WAF、怎么应对工具失效的突发情况。我的建议是:能用Burp Suite手测的,就不要去点自动化工具。
第三个坑:忽视文档能力。安全这个行业,技术只占一半,另一半是表达。渗透测试要写测试报告,漏洞挖掘要写漏洞报告,应急响应要写事件报告,安全运营要写分析报告。报告写不清楚,技术再牛效果也会打折扣。我见过太多人天天埋头搞技术,忽略了写作能力的训练,结果升职加薪永远轮不到他。所以我会要求跟我学习的新人每做完一个靶场、一个项目,就必须输出一份文档,格式无所谓,关键是养成习惯。
第四个坑:单打独斗,不混圈子。安全是个对抗性的行业,信息差就是竞争力。你一个人闷头学习几个月,还不如参加一次线下安全沙龙收获大。混圈子不是让你去水群吹牛,而是去认识技术在你前面的人、和你同水平的人,以及需要安全服务的人。很多时候,工作机会就是从这些真实关系里来的。
6.2 也说35岁:网安的年龄焦虑到底怎么回事
这个热搜词已经挂了很长时间了,我干脆说透。网络安全行业确实对35岁有一定的焦虑,但它的逻辑跟互联网开发岗不太一样。开发岗的焦虑来自技术栈更新太快、年轻人性价比更高;安全岗位的核心价值其实有一大半在经验积累上,哪怕同样是写检测规则,干过上千起应急事件的人写出来的规则,跟新人写出来的就是不一样。
真实情况是什么样的?在甲方(企业自有安全团队),35岁以上有项目经验、能带团队的安全专家是非常受欢迎的,尤其是银行、能源、运营商这种行业。在乙方(安全厂商和服务商),35岁通常意味着你要么已经成为专家顾问级别的骨干,要么走上了售前、管理等偏复合的方向。纯写脚本、纯打点、纯看告警的一线执行岗,确实存在年龄焦虑,到了35岁还要跟二十几岁的人拼手速和体力,那就亏了。
所以你问35岁会不会被裁,我的答案是:被裁的不是35岁的人,是没有持续成长的人。网安这个行业有个好处,就是它天然逼着你不断地学。你把这条学习路线图从头到位体验一遍,积累了真正的项目经验,年龄反而是你的加分项。当然,我也建议大家在工作的前三年就开始刻意培养管理能力、沟通能力和行业视野,别让自己变成一台只会执行命令的机器。
6.3 简历、面试与求职的实用建议
最后简单聊几句求职。很多新手学了大半年,觉得自己可以找工作了,但简历写出来毫无竞争力,大段大段地写"熟悉OWASP Top 10""了解SQL注入",这种描述在HR眼里跟没写一样。
我建议你在简历上写"做过什么具体的事、拿到了什么结果"。比如不要写"熟悉渗透测试流程",而是写"针对某内部系统开展授权渗透测试,发现SQL注入1个、越权3个,其中1个可直达后台管理员权限,已协助完成修复验证"。哪怕这个系统是你自己搭的靶场仿真项目,也可以写,但要写清楚背景和结果。面试官最怕的是候选人夸夸其谈,最欢迎的是候选人能用一个具体的项目证明自己的判断力和动手能力。
面试方面,初级安全的面试题其实非常固定:TCP三次握手、SQL注入原理和绕过方式、XSS的分类与利用、文件上传绕过思路、Linux排查入侵痕迹的步骤、如果发现服务器被上传了Webshell你会怎么做。你按照这份路线把基础吃透,再把常见面试题整理成自己的"答题框架",面试不会太吃亏。
我在实际带人的过程中发现,真正能走完这份路线的人,往往是那些每天雷打不动练习两小时、不怕枯燥、愿意一遍遍刷靶场的人。方法就摆在这里,剩下的看你自己的行动力了。
