跳到主要内容两年转行网络安全:真实经验总结与学习路径建议 | 极客日志编程语言java算法
两年转行网络安全:真实经验总结与学习路径建议
文章基于作者两年网络安全转行经验,分析了行业现状与人才需求,指出低端饱和但中高级紧缺。强调了计算机基础与编程语言的重要性,提供了涵盖操作系统、网络协议、渗透测试、加密技术及安全工具的详细学习路线。建议初学者通过实战与系统学习避免误区,明确职业发展方向。
我目前转行网络安全两年,没啥天分,全靠努力,基本能够得上中级的水平了。看到大家对转行网络安全挺感兴趣,也有挺多争议,想把我的建议和经验告诉大家。
有很多人觉得网络安全已经饱和了,现在选择这个工作,以后没有好发展。但其实大家所说的'饱和''过剩',都是指低端人才的过多饱和。
并且你会发现很多行业都是这样,最简单的工作最低端的工作竞争是最大的,因为大部分人都喜欢走容易走的路、都喜欢做简单的事情。所以,数量积累到一定程度之后,需求并没有跟得上数量的增加,就会造成拥挤,然后就会出现很多人认为找不到工作、或者认为这个行业已经饱和的现象。
一些初级网络安全工程师的工作内容可能就是 ctrl+c、ctrl+v,最了解的软件就是 Word、Excel。自己手上没有漏洞,也挖不出漏洞。网络安全行业虽然是近十年才慢慢发展起来的,但我们需要的人才不能一直都停留在初级阶段,而是越来越需要中高级人才。
为什么计算机基础很重要?为什么至少要精通一门编程语言?
因为基础的内容能够让你走得更远。有很多人能够通过一些方法找到工作,但是他们通常工作之后并不会有太大的提升。因为他们的基础薄弱,很难在工作中举一反三学到知识,也很难在工作之外自律地学习。
其实毫不避讳的说,大部分人都不会在一个行业里面特别久,因为一个人选择转行时非常正常的事情。这个社会上任何行业的大部分人都不会从年轻到老一直在一个行业待着,这是必然的。
有很多人选择网络安全,学习网络安全,并不是因为他们对网络安全有多热爱,对技术有多高的追求,而是因为在目前这个阶段来说,选择网络安全的工作是他们的'最优解'。很多人不知道自己未来的路在哪里,也不知道自己愿意干什么、想要干什么,而网络安全的工作岗位多、薪资待遇相对来说也高很多,最基本的安全服务的岗位薪资都在 8-10K,所以有很多人会选择来学习网络安全。
但不可否认,这只是暂时的。一些对网络安全没兴趣、对技术没感觉的人迟早也会选择做其他事情。
因为人的一生会遇到很多人、会有很多选择的机会,或许他们在网络安全行业里面干了三五年遇到了更好的机会、更适合自己、赚的钱更多、自己也更喜欢,那么选择转行是必然。所以,如果你选择了某一行业,不要想着一定要在这个行业里面干一辈子,千万不要自己把自己给限制了,转行是一个大概率事件。
目前来看,很多人在自己的行业都是干不长久的,或许因为没兴趣、或许因为不适合,几年之后迟早会有转行的想法。
而且对于一些人来说,目前的选择网络安全只是'过渡'而已,就更不用过去担心以后的事情了。现在能做的就是认真把网络安全的知识学好,学扎实,努力培养自己对网络安全的兴趣。
目前国内的情况是很多人愿意从事网络安全工作,因为初级的工作确实比较简单,再加上薪资待遇比很多其他行业要高得多。
所以从普通打工人的角度来看,选择网络安全确实是高薪行业,性价比很高,于是大家自然愿意往网络安全行业挤,即使知道目前行业的人也很多。
我们这个行业就是时代向数字化、智能化、科技化不断深度发展的、是不可逆的。
虽然目前国际形势不稳定、就业经济环境都不好,但这只是时代发展遇到的小阻力。如果我们把时间轴拉长来看,任何国家任何个人都不能阻止时代继续向着数字化、智能化发展的脚步。
那么现在网络安全向各个行业领域渗透也只是刚刚开始,医疗、教育、金融、交通、旅游、工业等等,技术只会越来越先进,这是必然,所以未来各行各业对网络安全人才的需求完全是不可估量的。
技术发展越深,就越需要高级技术人才,所以技术真的是可以做一辈子的工作。
总结一下,如果你是短期的'最优解',那么你完全不需要考虑今后的事情,因为你可能不会在这个行业长久的做下去,反正现在也找不到更好的事情做,那就学好网络安全技术先干着再说。如果你是以后想要长期在网络安全行业发展的,那你就把底子基础打好,以后向中高级发展,中高级肯定是非常缺人的,根本没什么竞争。
而中高级人才都是从初级过来的,不断有初级的退场,也不断有初级的进阶中高级,这是人才的流动过程。所以说网络安全人才饱和不饱和根本没有任何现实意义,因为任何行业都需要不断有人进来、不断有人退出。有的人找到了自己非常喜欢的事做,有的人一辈子没有找到自己喜欢的事情做,这个就看自己的造化了。
所以,不要再想饱和不饱和的问题了。如果说饱和,那么现在没有任何一个行业是不饱和的。想要减少竞争,那就往高处走。
我是大专,自考本科学历,在学校学了旅游。临近毕业的时候选了网络安全,虽然导游能够到处旅游,但是又累又不讨好。作为 90 后的我,还是更喜欢办公室的工作,有空调吹,也能多赚一点钱更好。
下面分享一下我的转行经验,希望你们学习的时候不至于走那么多弯路。
刚开始学习的时候,通常都会遇到一个问题难以解决,解决这个问题的时候,又会发现出现了另一个问题,等到所有问题都解决了,五六个小时都过去了。
更难受的是,有时候一天的时间根本找不出一个问题,这种花费时间、精力还得不到回报的状态,随时随地都会让你心态爆炸。学习期间,你会觉得自己不行、觉得自己笨,会疯狂否定自己,对自己产生严重的怀疑。
我当时的解决方案是通过同学的各种关系找到已经在这行工作的同学,有什么问题就去问他,基本上五分钟之内都可以解决,但是学习效率也没有得到很大的提升。因为他也有自己的工作,空闲时间看到消息就会回我,忙的时候我也有可能会等很久。不过总的来说,比自己一个人学效率高多了。
如果你是自学,前期学习的时候一定要找个人带一下,否则进入误区、钻了牛角尖,那么你就很难坚持下去了。
最好的方法其实是找个线下的培训班,如果我不是因为经济原因,我一定会选择培训。毕竟培训是新手入门最快的一条路。不过也不能随便选择,要选小班面授的,学习周期在三个月左右的。如果能有自主研发的靶场平台,能够提供真实网站授权作为渗透测试支撑的就更好了。
下面是我当年学习时总结的学习路线,年代久远,很多内容已经记不清了,如果你在学习网络安全,那么可以进行参考。
1. 计算机基础知识
了解计算机体系结构、操作系统、计算机网络等基础知识。这部分是地基,决定了你能走多远。
- 操作系统:重点掌握 Linux 常用命令(如
ls, cd, grep, awk, sed),理解进程管理、内存管理和文件系统权限。Windows 下也要熟悉注册表、服务管理和 PowerShell 基础。
- 计算机网络:深入理解 TCP/IP 协议族,包括各层协议、数据包格式、传输流程等。必须搞懂三次握手、四次挥手、HTTP/HTTPS 请求响应过程、DNS 解析流程以及常见的端口含义。
2. 编程语言
掌握一门编程语言,例如 Python、Java 等。安全工具的开发和脚本编写离不开编程能力。
- Python:推荐首选。拥有大量现成的安全库,如
requests 用于 HTTP 交互,scapy 用于数据包构造,socket 用于底层通信。学会写简单的扫描器或自动化脚本能极大提高效率。
- Java:在企业级应用安全审计中非常重要,特别是反编译和代码审计环节。
3. 渗透测试
学习渗透测试方法,包括信息收集、漏洞扫描、渗透攻击、漏洞利用等。
- 信息收集:子域名枚举、端口扫描、目录爆破、指纹识别。
- 漏洞扫描:使用 Nessus、AWVS 等工具进行初步检测,但需人工验证误报。
- 渗透攻击:SQL 注入、XSS、CSRF、文件上传、RCE 等常见 Web 漏洞的原理与复现。
- 漏洞利用:熟练使用 Metasploit Framework (MSF),理解 Payload 生成与免杀原理。
4. 加密技术
掌握常见的加密算法、加密协议,了解数字证书、SSL/TLS 协议等。
- 对称加密:AES, DES, RC4。
- 非对称加密:RSA, ECC。
- 哈希算法:MD5, SHA1, SHA256。
- 应用场景:理解 HTTPS 握手过程中的密钥交换机制,能够分析流量中的加密特征。
5. 安全工具
掌握各种网络安全工具的使用,例如 nmap、Wireshark、Metasploit 等。
- Nmap:网络探测神器,掌握
-sS, -sV, -O, -p 等参数用法。
- Wireshark:流量分析必备,学会过滤表达式(如
tcp.port == 80),分析 TCP 流。
- Burp Suite:Web 渗透核心工具,熟练使用 Proxy, Repeater, Intruder 模块。
6. 网络安全架构
学习网络安全架构设计原则、防御策略、安全事件响应等。
- 纵深防御:理解防火墙、WAF、IDS/IPS 的协同工作。
- 应急响应:掌握日志分析、溯源追踪、恶意样本隔离的基本流程。
7. 恶意代码分析
- 静态分析:使用 IDA Pro, Ghidra 查看二进制结构,脱壳处理。
- 动态分析:使用 OD, x64dbg 进行调试,监控 API 调用,分析内存行为。
8. 漏洞研究
了解漏洞研究方法和工具,学习如何发现漏洞并进行利用。
- CVE 跟踪:关注官方漏洞库,阅读 PoC 代码。
- Fuzzing:学习模糊测试的基本概念,尝试对特定程序进行压力测试。
9. 社会工程学
了解社会工程学的基础知识,包括人类心理、欺骗、社交工程等。
- 钓鱼邮件:识别伪造发件人、恶意附件、诱导链接。
- 物理安全:理解尾随进入、设备丢失等物理层面的风险。
以上是一个初步的学习路线图,具体学习内容和深度还需根据你的个人兴趣和学习目标来确定。
另外,学习网络安全一定要关注网络安全领域最新的技术和漏洞,一定要多进行实战,多找靶场练习!保持学习的热情和动力!
黑客学习资源推荐
最后给大家分享一份全套的网络安全学习资料,给那些想学习网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
1️⃣零基础入门
① 学习路线
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
② 路线对应学习视频
2️⃣视频配套工具&国内外网安书籍、文档
① 工具
- ** Kali Linux**:预装了大量安全工具的操作系统。
- ** Burp Suite**:Web 安全测试平台。
- ** Wireshark**:网络协议分析器。
② 视频
推荐观看官方文档、GitHub 上的开源教程以及各大安全厂商的技术分享视频。
③ 书籍
- 《白帽子讲 Web 安全》
- 《内网安全攻防:渗透测试实战指南》
- 《Python 黑帽子:黑客与渗透测试编程之道》
资源较为敏感,未展示全面,需要的可以通过官方渠道获取。
3️⃣Python 面试集锦
① 面试资料
准备常见的 Python 基础题、网络编程题以及安全相关的脚本编写题。
② 简历模板
突出项目经验、技能栈以及 CTF 比赛经历或漏洞提交记录。
因篇幅有限,资料较为敏感仅展示部分资料,建议添加上方即可获取👆
------ 🙇♂️ 本文转自网络,如有侵权,请联系删除 🙇♂️ ------
相关免费在线工具
- 加密/解密文本
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
- Keycode 信息
查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online
- Escape 与 Native 编解码
JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online
- JavaScript / HTML 格式化
使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online
- JavaScript 压缩与混淆
Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online
- Base64 字符串编码/解码
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online