从网络基础到安全防护:网安运维小白的入门学习路线
今天的主题是给网络安全运维小白的学习建议。
事情是这样的,最近有一位想学网安(偏向网络运维)的新手小白询问我学习的方向和建议。我建议他可以从网络和Linux入手。后来他问了一个我认为非常有价值的问题:“网络部分到底是指什么?”相信大多数网安界的前辈都会同意,网络和网络安全息息相关。但如果我想走专职网安(尽管网安也有很多不同的领域),到底需要掌握哪些网络知识才算足够?难道必须先学CCNA吗?还是必须将《O’Reilly TCP/IP》全书背得滚瓜烂熟才能开始接触网安?
我觉得,网络本身就是一个可以深入研究的专业。如果要学网安,其实不一定要具备过于深厚的网络技术背景才能入门。因此,我想通过一些简洁且主观的方式,为新手推荐学习网安所需的最低限度的网络知识。
这篇文章的核心是帮助学习网安的人理解必须掌握的基础网络知识和技能。虽然会涉及一些网安的攻防技术和设备,但重点仍然是“网络”部分。因此,像是密码学、网站安全、系统安全、应用程序安全等内容会尽量避免提及。这并不是说网络不重要,只是这篇文章专注于网络方面的学习。实际上,学习网安时,网络、系统和程序的学习是相辅相成的。
从我开始学习网安起,我一直觉得,学网安就像拼拼图。一块块拼图来自不同的领域——编程语言、数据库、网络协议等,而这些都与网安有着千丝万缕的关系。每一块拼图的知识都会对整体安全理解产生影响。某些区域可能需要拼合多块拼图才能看得更清晰,有些领域是大家普遍建议从这里入手的,可能因为它们比较简单,或者是基础不牢,后续的学习可能会受到制约。基础网络知识大概就是这样的“基础拼图”。虽然我不会告诉你网安就是网络,但我确实建议想做网安的人先掌握基础网络知识,这对后续发展非常重要。
再次声明,这篇文章的目的是分享我在网安领域的学习经验,并非想给大家提供一条通向网络安全专家的明确路线。内容可能比较基础,尤其对于网络相关专业的朋友来说,可能会觉得有些啰嗦。但我写这篇文章的目的是希望跨领域学习的人能够抓住这些重要的基础概念。
第一阶段:基础网络知识
- 了解OSI七层网络模型
- 了解数据封装(Encapsulation/Decapsulation)
- 了解分段(Segmentation/Reassembly)
- 了解TCP/IP模型
- 了解网络拓扑
- 区分WAN和LAN的区别
- 了解IP地址
- 公网IP与私网IP
- 静态IP与动态IP
- 熟悉私网IP的范围及特殊IP(避免使用私网IP做远程作业,且没有提供VPN)
- 理解IPv4与IPv6的区别
- 了解子网和子网划分
- 了解为什么需要子网
- 理解子网掩码和CIDR概念
- 会计算子网(工具辅助计算即可,例:给定IP段如123.123.123.123/29,能够找出可用IP)
- 了解路由的基本概念
- 了解MAC地址及ARP工作机制
- 了解ARP欺骗(ARP Spoofing)攻击原理
- 了解常见网络设备
- 集线器、交换机、路由器等设备的基本功能和差异
- 如果不接触企业级设备,基础理解即可
- 了解内网与外网的概念
- 了解TCP与UDP的区别
- 了解TCP三次握手过程
- 了解两者的应用场景差异
- 了解IP与TCP头部格式
- 不需要熟背,但建议理解和见过一次
- 了解ICMP协议
- 了解端口与服务的概念
- 理解客户端-服务器架构(Client-Server)
- 例如HTTP使用80端口,但并不是所有HTTP都只能在80端口
- 了解DNS的工作机制
- 了解常见的企业安全防护设备
- 防火墙(Firewall)、入侵检测系统(IDS)、入侵防御系统(IPS)、WAF
- 了解Server Farm、DMZ区及其重要性
- 理解防火墙的基本技术原理
- 了解代理(Proxy)的概念
- 了解常见协议及其用途
- 如DHCP、HTTP、SSH、Telnet、FTP、SMTP、SNMP、NTP等
- 记住一些常见协议的端口号,例如SSH使用22端口
- 了解DDoS攻击
- 了解VPN技术
- 了解中间人攻击(MitM)
实操技术:
- 会进行基本的网络配置
- 能配置网卡的IP、子网掩码和网关,确保能够上网
- 能调试网络问题
- 掌握基本的网络故障排除技能:检查网卡、网络设置、Ping测试、nslookup、抓包分析
- 会使用Wireshark进行抓包并分析
- 学会用Wireshark观察DNS、TCP三次握手、DHCP等协议的工作原理
- 了解虚拟机中的网络模式
- 熟悉VM中的NAT、Bridged、Host-Only等不同网络模式
这些内容通常会在网络安全概论的课程或书籍中提到,像《鸟哥的Linux私房菜》就有详细介绍。
第二阶段:进阶网络知识
第一阶段是我觉得不论你走偏红队(攻击)或是偏蓝队(防御),都需要的基础知识和技能。 接下来其实走向不同的领域、不同位置、不同专业可能需要的知识会比较不同。 有的属于前面的进阶,有的则可能不是难易度的问题,而是职务有没有这个需求的原因居多。虽然这些知识不一定是每个人都需要,但如果你在深入某些网安领域时,可能会接触到。
- 了解VLAN
- 了解Proxy的不同类型
- 转发代理、反向代理、透明代理
- 了解Tunneling技术
- 学会使用SSH Tunnel等技术
- 更深入学习网络协议
- 理解协议的工作机制、安全问题及防御方式
- 例如Mac Spoofing、DHCP Starvation Attack、DHCP Snooping,或是设定上的安全问题像是 SNMP Public泄漏、SMTP列举等等
- 了解常见的DNS攻击
- 如DNS放大攻击、DNS劫持、DNS中毒
- 进阶:DNS Rebinding攻击
- 进一步熟悉Wireshark和tcpdump
- 理解电子邮件安全
- 了解SPF、DKIM、DMARC等安全机制
- 掌握防火墙的安全配置
- 了解WAN端网络技术
- 分析网络架构并识别安全问题
- 学会识别网络架构中的安全漏洞
- 具有「网络架构检视」的能力
第三阶段:更专业的领域
- 掌握各种网络协议的渗透测试
- 熟悉网络设备的安全配置
- 精通网络封包分析
- 理解IDS/IPS/NDR的运作
- 架设、测试、判断并编写规则
- 能够规划安全的企业级网络架构
最后,如果各位大佬有任何宝贵的补充或建议,欢迎在下方留言分享。网络安全是一个充满挑战的领域,学习过程中不可避免会遇到各种难题,但正是这些挑战成就了我们的成长。保持对技术的热情,保持好奇心,持续探索,不断提升自己的技能,才是通向成功的关键。无论遇到多少挫折,都不要轻言放弃,因为每一次的努力和积累,都是迈向更高水平的阶梯。希望大家都能在这条路上坚持走下去,享受学习与成长的过程,最终在网络安全的世界中找到属于自己的位置!
相关文章:
从网络基础到安全防护:网安运维小白的入门学习路线
今天的主题是给网络安全运维小白的学习建议。 事情是这样的,最近有一位想学网安(偏向网络运维)的新手小白询问我学习的方向和建议。我建议他可以从网络和Linux入手。后来他问了一个我认为非常有价值的问题:“网络部分到底是指什么…...
Python 进阶特性深度解析:从语法糖到内存管理的统一视角
生成式(推导式)的用法与内存效率分析 Python 的推导式不仅仅是语法糖,它们在内存管理和性能方面有着深刻的影响。理解推导式的工作原理,有助于我们写出更高效的代码。 推导式的内存模型分析 列表推导式在 CPython 解释器中的实现实际上比等价的 for 循环更为高效: # 列…...
Linux DMA Engine 基础
1 DMA基础信息查看 /sys/class/dma root:~# ls /sys/class/dma/ dma0chan0 dma1chan10 dma1chan27 dma2chan14 dma2chan30 dma2chan47 dma2chan63 dma3chan21 dma3chan38 dma3chan54 dma0chan1 dma1chan11 dma1chan28 dma2chan15 dma2chan31 dma2chan48 dma2…...
【JavaEE】SpringMVC 请求传参
目录 一、请求二、传递单个参数三、传递多个参数四、传递对象五、RequestParam注解 后端参数重命名(后端参数映射)六、传递数组七、传递集合,RequestParam八、传递JSON数据8.1 JSON字符串和Java对象互转8.1.1 Test注解8.1.2 Java对象转JSON8.…...
观察者模式说明(C语言版本)
观察者模式主要是为了实现一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。下面使用C语言实现了一个具体的应用示例,有需要的可以参考…...
LeetCode 230.二叉搜索树中第K小的元素
题目:给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你设计一个算法查找其中第 k 小的元素(从 1 开始计数)。 思路: 代码: /*** Definition for a binary tree node.* public class Tre…...
11、集合框架
一、简介 Java集合框架位于java.util包中 Collection是Set和List的父类,Collections是工具类,提供了对集合进行排序、遍历等多种算法的实现。 ArrayList: 有序(放进去顺序和拿出来顺序一致),可重复 HashSet: 无序(放进去顺序和拿出来顺序不…...
git常用指令详解
文章目录 Git 基本指令的使用Git 远程仓库Git的分支管理 Git 基本指令的使用 git init //初始化一个git仓库,在当前目录下生成.git文件夹,并且会默认生成一个master分支。git clone <url> [directory] //url为git仓库地址,directory为本地目录 gi…...
Debezium 报错:“The db history topic is missing” 的处理方法
Debezium 报错:“The db history topic is missing” 的处理方法 一、引言 在使用 Debezium 进行数据同步时,可能会遇到一个常见的错误:“The db history topic is missing”。这个错误表明 Debezium 无法找到或访问其数据库历史记录主题(db history topic),这通常是由…...
Grok 3.0 Beta 版大语言模型评测
2025年2月17日至18日,全球首富埃隆马斯克(Elon Musk)携手其人工智能公司xAI,在美国重磅发布了Grok 3.0 Beta版。这款被誉为“迄今为止世界上最智能的语言模型”的AI,不仅集成了先进的“DeepSearch”搜索功能࿰…...
AcWing 3691:有向树形态 ← 卡特兰数 + 复旦大学考研机试题
【题目来源】 https://www.acwing.com/problem/content/3694/ 【题目描述】 求 N 个相同结点能够组成的二叉树的个数。 【输入格式】 一个整数 N。 【输出格式】 输出能组成的二叉树的个数。 【数据范围】 1≤N≤20 【输入样例】 3 【输出样例】 5 【算法分析】 ● 卡特…...
便携式动平衡仪Qt应用层详细设计方案(基于Qt Widgets)
便携式动平衡仪Qt应用层详细设计方案(基于Qt Widgets) 版本:1.0 日期:2023年10月 一、系统概述 1.1 功能需求 开机流程:长按电源键启动,全屏显示商标动画(快闪3~4次)。主界面&…...
SpringBoot源码解析(十一):准备应用上下文
SpringBoot源码系列文章 SpringBoot源码解析(一):SpringApplication构造方法 SpringBoot源码解析(二):引导上下文DefaultBootstrapContext SpringBoot源码解析(三):启动开始阶段 SpringBoot源码解析(四):解析应用参数args Sp…...
CSS 使用white-space属性换行
一、white-space属性的常见值 * 原本格式: 1、white-space:normal 默认值,空格和换行符会被忽略过滤掉;宽度不够时文本会自动换行 * 宽度足够时,normal 处理后的格式 * 宽度不够时, normal 处理后的格式 2、white-spa…...
论文笔记(七十二)Reward Centering(四)
Reward Centering(四) 文章概括摘要附录A 伪代码 文章概括 引用: article{naik2024reward,title{Reward Centering},author{Naik, Abhishek and Wan, Yi and Tomar, Manan and Sutton, Richard S},journal{arXiv preprint arXiv:2405.09999…...
Matlab——图像保存导出成好看的.pdf格式文件
点击图像的右上角,点击第一个保存按钮键。...
官方文档学习TArray容器
一.TArray中的元素相等 1.重载一下 元素中的 运算符,有时需要重载排序。接下来,我们将id 作为判断结构体的标识。 定义结构体 USTRUCT() struct FXGEqualStructInfo {GENERATED_USTRUCT_BODY() public:FXGEqualStructInfo(){};FXGEqualStructInfo(in…...
unxi-进程间通信
1.进程间通信实现方式 【1】同一主机 linux下通信方式: a.传统的进程间通信方式 管道 --- 进行数据传输的"管道" 无名管道 有名管道 信号 --- b.system v 进程间通信 (posix 进程间通信) 共享内存 (进程间…...
微型分组加密算法TEA、XTEA、XXTEA
微型分组加密算法TEA、XTEA、XXTEA TEA(Tiny Encryption Algorithm)算法是一种分组加密算法,由剑桥大学计算机实验室的David Wheeler和Roger Needham于1994年发明。TEA、XTEA、XXTEA算法采用64位的明文分组和128位的密钥。它使用Feistel…...
conda 基本命令
1、查询当前所有的环境 conda env list 2、创建虚拟环境 conda create -n 环境名 [pythonpython版本号] 其中[pythonpython版本号]可以不写 conda create -n test python3.12 我们输入conda env list看到我们的环境创建成功了,但是发现他是创建在我们默认的C盘的…...
深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...
C++:std::is_convertible
C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...
从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路
进入2025年以来,尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断,但全球市场热度依然高涨,入局者持续增加。 以国内市场为例,天眼查专业版数据显示,截至5月底,我国现存在业、存续状态的机器人相关企…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...
WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成
厌倦手动写WordPress文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&am…...
大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计
随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...
算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...
Fabric V2.5 通用溯源系统——增加图片上传与下载功能
fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...
基于IDIG-GAN的小样本电机轴承故障诊断
目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) 梯度归一化(Gradient Normalization) (2) 判别器梯度间隙正则化(Discriminator Gradient Gap Regularization) (3) 自注意力机制(Self-Attention) 3. 完整损失函数 二…...
华为OD最新机试真题-数组组成的最小数字-OD统一考试(B卷)
题目描述 给定一个整型数组,请从该数组中选择3个元素 组成最小数字并输出 (如果数组长度小于3,则选择数组中所有元素来组成最小数字)。 输入描述 行用半角逗号分割的字符串记录的整型数组,0<数组长度<= 100,0<整数的取值范围<= 10000。 输出描述 由3个元素组成…...
