今天给大家介绍Linux网络技术中最核心的部分–TCP/IP协议栈 。
我们先看一下抽象的网络协议栈模型
TCP/IP四层(参考)模型
再按分层思想看Linux内核协议栈实现框架
自顶向下
Socket/ L4 TCP layer
1. socket layer
**socket对象层次结构
**
socket框架
- socket系统调用(socket,bind,listen,accept,send,recv等)
- BSD socket API
- 协议栈sock抽象适配层
- tcp/udp/icmp/raw/packet/netlink/… socket管理
- socket选项
2. tcp/udp layer
- TCP报文收发
- TCP Socket连接管理
- TCP协议状态机,定时器处理
- TCP滑动窗口,拥塞控制框架
L3 IP layer
1. IP handle
- 报文分片和重组
- IP协议字段处理,IP选项,Qos,TTL,校验等*处理*
- 报文接收(*解封装*)和发送(*IP协议封装*,提供给上层接口)
- 组播,ICMP协议处理等
2. netlfilter框架
5个HOOK点:
PREROUTING:数据包进入路由表之前
INPUT:通过路由表后目的地为本机
FORWARD:通过路由表后,目的地不为本机
OUTPUT:由本机产生,向外发送
POSTROUTIONG:发送到网卡接口之前。
每个HOOK点都会执行一些函数,大致分为下面几个表:
NAT表: 用于实现nat功能,端口映射,地址映射等
mangle表: 用来修改报文,例如更改IP标头的TOS / DSCP / ECN位
filter表:用来过滤报文
raw表:用来提前标记报文不走一些流程(比如不需要建会话)
conntrack表:连接跟踪表,跟踪连接会话,用来实现状态防火墙,NAT功能的基础,可扩展更多功能。
核心处理流程
主要功能
- 无状态数据包过滤(IPv4和IPv6)
- 有状态的数据包过滤(IPv4和IPv6)
- 各种网络地址和端口转换,例如NAT / NAPT(IPv4和IPv6)
- 灵活可扩展的基础架构
- 第三方扩展的API
3. 路由系统
协议栈处理位置
路由子系统架构
- FIB(The Forwarding Information Base )
- 策略路由 Policies
- 路由匹配HASH,LC-tries等
主要功能
- 三层路由转发
4. 邻居系统
- ARP协议(IPV4),NDP协议(IPV6)
- *邻居表新建,更新,老化机制,状态转化等*
- *API接口*
主要功能
- 获取mac地址
L2 link layer(driver)
1. Link layer
Bridge
- FDB(macforwarding database)管理
- port,bridge对象管理和报文接收,转发
- STP,vlan协议相关处理
主要功能
- 实现二层mac转发
链路协议
- IEEE 802协议族(STP,VLAN,以太网,无线*wifi*,令牌环等)
Packt Type
- Protocol handler
- Packet_type list
主要功能
- 链路层报文协议分发
Traffic control
- qdisc :通过队列将数据包缓存起来,用来控制网络收发的速度
- class :用来表示控制策略
- filter :用来将数据包划分到具体的控制策略
主要功能
- 提供的流量限速、整形和策略控制机制(Qos)
2. hardware driver layer
-
网络设备管理
-
RPS,RFS,XPS,GRO,GSO,TSO等优化特性
-
网卡软中断收发,NAPI,DMA
-
支持各种网卡驱动实现
协议栈文件系统
Proc FileSystem
-
/proc/net
-
/proc/sys/net
ipv4
core
Sys FileSystem
- /sys/class/net/ethx
主要功能
- 提供协议栈相关配置查询和设置
最后
整体架构图
黑客/网络安全学习路线
今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。
网络安全学习资源分享:
下面给大家分享一份2025最新版的网络安全学习路线资料,帮助新人小白更系统、更快速的学习黑客技术!
一、2025最新网络安全学习路线
一个明确的学习路线可以帮助新人了解从哪里开始,按照什么顺序学习,以及需要掌握哪些知识点。
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
读者福利 |
优快云大礼包:《网络安全入门&进阶学习资源包》免费分享 (安全链接,放心点击)
我们把学习路线分成L1到L4四个阶段,一步步带你从入门到进阶,从理论到实战。
L1级别:网络安全的基础入门
L1阶段:我们会去了解计算机网络的基础知识,以及网络安全在行业的应用和分析;学习理解安全基础的核心原理,关键技术,以及PHP编程基础;通过证书考试,可以获得NISP/CISP。可就业安全运维工程师、等保测评工程师。
L2级别:网络安全的技术进阶
L2阶段我们会去学习渗透测试:包括情报收集、弱口令与口令爆破以及各大类型漏洞,还有漏洞挖掘和安全检查项目,可参加CISP-PTE证书考试。
L3级别:网络安全的高阶提升
L3阶段:我们会去学习反序列漏洞、RCE漏洞,也会学习到内网渗透实战、靶场实战和技术提取技术,系统学习Python编程和实战。参加CISP-PTE考试。
L4级别:网络安全的项目实战
L4阶段:我们会更加深入进行实战训练,包括代码审计、应急响应、红蓝对抗以及SRC的挖掘技术。并学习CTF夺旗赛的要点和刷题
整个网络安全学习路线L1主要是对计算机网络安全的理论基础的一个学习掌握;而L3 L4更多的是通过项目实战来掌握核心技术,针对以上网安的学习路线我们也整理了对应的学习视频教程,和配套的学习资料。
二、技术文档和经典PDF书籍
书籍和学习文档资料是学习网络安全过程中必不可少的,我自己整理技术文档,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,(书籍含电子版PDF)
三、网络安全视频教程
对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的网安视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识。
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。
四、网络安全护网行动/CTF比赛
学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。
五、网络安全工具包、面试题和源码
“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。
面试不仅是技术的较量,更需要充分的准备。
在你已经掌握了技术之后,就需要开始准备面试,我们将提供精心整理的网安面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。
如果你是要找网安方面的工作,它们绝对能帮你大忙。
这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。
参考解析:深信服官网、奇安信官网、Freebuf、csdn等
内容特点:条理清晰,含图像化表示更加易懂。
内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…
**读者福利 |**
优快云大礼包:《网络安全入门&进阶学习资源包》免费分享 (安全链接,放心点击)