1. 写在前面
网络安全方向在大学阶段的学习,最怕的不是起点低,而是顺序乱。很多人一上来就刷漏洞、学渗透,结果基础不牢,越学越吃力。本文按「零基础」和「有基础」两条路径,把学习顺序整理清楚,供你参考。
2. 零基础路径:先打地基,再谈攻防
如果你是完全零基础,建议按下面这个顺序走,每一步都为下一步铺路。
2.1 计算机基础
网安是计算机的分支,计算机基础是绕不开的。这一阶段不需要精通,但要理解核心概念。
- 操作系统:先熟悉 Windows,再上手 Linux(推荐 Ubuntu 或 Kali),掌握文件系统、权限、进程、网络配置等基本操作。
- 计算机网络:重点理解 TCP/IP 协议栈、HTTP/HTTPS、DNS、端口与套接字,这是后续分析流量、理解攻击原理的前提。
- 编程入门:建议从 Python 开始,语法简单、生态丰富,适合写脚本、做自动化分析;同时了解 HTML、JavaScript 的基本写法,方便理解 Web 攻击。
2.2 编程与脚本能力
这一阶段要把 Python 用熟,并开始接触命令行。
- 掌握 Python 基础语法、文件操作、网络请求(requests)、正则表达式。
- 学会用 Linux 命令行完成日常操作:文件查找、权限管理、进程管理、网络工具(ping、curl、netstat)。
- 尝试写一些小工具,比如批量检测端口、解析日志,锻炼把想法变成代码的能力。
2.3 网络与协议深入
在会写脚本之后,再深入理解网络协议,为后续的抓包分析和漏洞理解打基础。
- 用 Wireshark 抓包,观察 TCP 三次握手、HTTP 请求响应、DNS 查询过程。
- 理解 Cookie、Session、同源策略等 Web 安全相关概念。
- 了解常见的加密与哈希算法(如 AES、RSA、MD5、SHA),知道它们的作用和局限。
2.4 安全基础入门
有了前面的积累,可以开始接触安全本身了。
- 学习 Web 安全基础:OWASP Top 10 中的常见漏洞,如 SQL 注入、XSS、CSRF、文件上传漏洞。
- 在本地搭靶场练习,推荐 DVWA、Pikachu、SQLi-Labs,边练边理解漏洞原理。
- 了解常见安全工具的使用:Burp Suite(抓包改包)、Nmap(端口扫描)、sqlmap(注入检测)。
2.5 系统与权限
Web 之外,还要理解系统层面的安全。
- 学习 Linux 权限模型、用户与组、SUID/SGID、文件属性。
- 了解 Windows 的基本安全机制:账户、权限、注册表、服务。
- 尝试理解提权的基本思路:为什么低权限用户能拿到高权限,常见提权点有哪些。
2.6 实战与方向选择
基础打牢后,再决定往哪个细分方向深入。
- 渗透测试:继续深入 Web 漏洞、内网渗透、免杀技术。
- 安全开发:把编程能力用在安全产品、检测规则、自动化工具上。
- 二进制安全:学习汇编、逆向工程、漏洞挖掘(PWN)。
- 运维安全:侧重安全运维、日志分析、应急响应、等保合规。
3. 有基础路径:查漏补缺,直接进阶
如果你已经会编程、懂网络,或者已经接触过一些安全内容,可以跳过基础铺垫,直接按下面的顺序进阶。
3.1 先做能力自测
进阶之前,先确认自己是否具备以下能力,缺哪块补哪块。
- 能否熟练使用 Linux 命令行完成日常操作?
- 能否用 Python 写一个网络请求脚本并处理返回数据?
- 能否用 Wireshark 分析一次完整的 HTTP 请求过程?
- 能否说清 SQL 注入、XSS 的基本原理和防御方法?
如果以上都过关,可以直接进入下一阶段;如果某一块薄弱,建议回到对应章节补一下。
3.2 系统学习 Web 安全
Web 安全是网安入门最友好、也是岗位需求最大的方向之一。
- 系统过一遍 OWASP Top 10,每个漏洞都要能说清原理、复现方法、防御手段。
- 在靶场(DVWA、Pikachu、WebGoat)中逐个漏洞练习,做到不看教程也能独立完成。
- 学习 Burp Suite 的高级用法:Intruder 爆破、Repeater 改包、插件扩展。
3.3 内网渗透与横向移动
Web 打点只是第一步,真正的实战往往在内网。
- 学习内网信息收集:主机发现、端口扫描、服务识别、域环境基础。
- 理解横向移动的常见手法:Pass-the-Hash、PsExec、WMI、计划任务。
- 在本地搭建小型内网环境(如用 VMware 模拟多台主机)练习。
3.4 二进制与逆向
如果对底层感兴趣,可以往二进制安全方向深入。
- 学习汇编语言基础,理解寄存器、栈、函数调用约定。
- 掌握逆向工具:IDA Pro、Ghidra、x64dbg。
- 从简单的 CTF PWN 题入手,理解栈溢出、堆溢出、格式化字符串等经典漏洞。
3.5 安全开发与自动化
有编程基础的人,做安全开发是一条很稳的路。
- 用 Python 写漏洞检测脚本、日志分析工具、告警规则。
- 学习如何对接常见安全产品 API,做自动化巡检。
- 了解 Web 框架(如 Flask、Django)的安全配置,能写出安全的业务代码。
3.6 参与实战与比赛
进阶阶段一定要通过实战检验自己。
- 参加 CTF 比赛(如 XCTF、强网杯、护网杯),以赛代练。
- 在 SRC(安全应急响应中心)提交漏洞,积累真实漏洞挖掘经验。
- 关注护网行动(HVV)的招聘要求,对照查漏补缺。
4. 两条路径的对照总结
| 阶段 | 零基础路径 | 有基础路径 |
|---|---|---|
| 第一阶段 | 计算机基础(系统、网络、编程入门) | 能力自测,查漏补缺 |
| 第二阶段 | 编程与脚本能力(Python + Linux) | 系统学习 Web 安全(OWASP Top 10) |
| 第三阶段 | 网络与协议深入(抓包、协议分析) | 内网渗透与横向移动 |
| 第四阶段 | 安全基础入门(Web 漏洞 + 靶场) | 二进制与逆向(可选) |
| 第五阶段 | 系统与权限(Linux/Windows 安全机制) | 安全开发与自动化 |
| 第六阶段 | 实战与方向选择 | 参与 CTF、SRC、护网实战 |
下面用一张流程图直观展示两条路径的学习阶段流转关系,可以看到它们最终都会汇合到实战与方向选择阶段。
flowchart TD
A[开始学习] --> B{是否有基础?}
B -- 否 --> C[零基础路径]
B -- 是 --> D[有基础路径]
C --> C1[计算机基础
系统 / 网络 / 编程入门]
C1 --> C2[编程与脚本能力
Python + Linux]
C2 --> C3[网络与协议深入
抓包 / 协议分析]
C3 --> C4[安全基础入门
Web 漏洞 + 靶场]
C4 --> C5[系统与权限
Linux / Windows 安全机制]
C5 --> E[实战与方向选择]
D --> D1[能力自测
查漏补缺]
D1 --> D2[系统学习 Web 安全
OWASP Top 10]
D2 --> D3[内网渗透与横向移动]
D3 --> D4[二进制与逆向
可选]
D4 --> D5[安全开发与自动化]
D5 --> E
E --> F[渗透测试 / 安全开发
二进制安全 / 运维安全]
F --> G[CTF / SRC / 护网实战]
5. 学习资源推荐
无论走哪条路径,下面这些资源都值得收藏。
- 在线课程:中国大学 MOOC 上的计算机网络、操作系统课程;B 站上也有很多高质量的网安入门视频。
- 靶场平台:DVWA、Pikachu、SQLi-Labs、WebGoat、Vulhub。
- CTF 平台:BUUCTF、攻防世界、CTFshow。
- 书籍:《白帽子讲 Web 安全》《Web 安全深度剖析》《加密与解密》(逆向方向)。
- 社区与文档:FreeBuf、先知社区、看雪论坛、OWASP 官方文档。
6. 最后几点建议
学习网安,心态和方法比天赋更重要。
- 不要急于求成:基础阶段最枯燥,但也是最值得花时间的部分。
- 动手优先:看十遍教程不如自己搭一次靶场、打一次 CTF。
- 做好笔记:把漏洞原理、工具用法、踩坑记录整理成自己的知识库。
- 保持合规意识:所有练习都要在授权环境下进行,不要触碰法律红线。
网安是一条需要长期积累的路,按顺序走,稳扎稳打,你会看到自己的成长。