论坛首页 开源情报交流区 阅读主题

[原创]面向 CTF / 流量分析 / 信息收集的网络基础总览

184 浏览 0 回复
#1 楼主 2026-06-01 21:09:08
哎,老师说要开会,给同学讲点什么,那就随便讲讲
本篇文章是总结梳理性的,提了很多东东,不知道的请自行了解。(懒得写那么详细了,这已经是让ai扩写过一遍然后我再改改的)


我blog上的这篇文章: 如果图加载不出来可以去我blog看


欢迎各位大佬补充指正!

0x00 前言
这篇文章试图做的,就是把这些知识串成一张图。它不追求教材式的严格穷尽,而是从 基础且必备 的部分出发,尽量覆盖到 CTF、流量分析、信息收集与现实网络环境 中最常见、最有用的知识。

0x01 做流量分析
第一步:看时间线
谁先开始通信?什么时候发生 DNS?什么时候建连?什么时候断开?
第二步:看通信双方
哪些 IP 最活跃?哪些端口最关键?哪些主机像客户端,哪些像服务端?
第三步:按层看
是 Ethernet、ARP、IPv4、IPv6,还是 WLAN?是 TCP、UDP、ICMP 还是 QUIC?应用层是 DNS、HTTP、TLS、Modbus 还是别的?
第四步:找异常
有没有 ARP 欺骗痕迹?有没有奇怪的 DNS 查询?有没有异常证书 SAN?有没有很怪的 User-Agent?有没有大量随机子域?有没有反常的指纹?
第五步:重组与提取
Follow TCP Stream导出对象看证书看 SNI / Host看 DNS 历史看是否存在文件、凭据、隧道数据或隐藏载荷

0x02 网络分层
很多人一提网络分层就想到 OSI 七层模型,然后开始背:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。背完以后,实际看包时还是一脸茫然。
真正有用的不是死背层名,而是理解:每一层都在解决一个不同的问题。
更贴近实际的思路,是用一个简化版的 TCP/IP 视角去理解:

链路层 / 二层:在当前链路上怎么把数据发出去典型协议:Ethernet、ARP、WLAN
网络层 / 三层:跨网络之后,最终要去哪里典型协议:IPv4、IPv6、ICMP
传输层 / 四层:到了主机之后,交给哪个服务,怎么保证传输典型协议:TCP、UDP
应用层:这个连接到底在干什么典型协议:DNS、HTTP、TLS、SSH、SMTP、Modbus 等


传统上四层常见的是 TCP 和 UDP;而像 QUIC 这类现代协议虽然基于 UDP 承载,但承担了更多高层连接控制能力,已经不太适合用老式分层直觉去硬套。


0x03 封装与解封装
想看懂抓包,必须先理解 封装。

当应用程序要发送一段数据时,这段数据不是直接原样发上网,而是会一层层加头部:

应用层生成内容
传输层加上 TCP/UDP 头
网络层加上 IP 头
链路层加上 Ethernet 或 WLAN 头
然后从网卡发出去

接收方收到后,再反过来一层层拆掉,这就是 解封装。

0x04 二层
1. 以太网与 Ethernet 帧
在有线局域网里,最典型的链路层协议就是 以太网。在以太网中,数据以“帧”的形式传输。一个常见的 Ethernet 帧里,最重要的字段包括:

目的 MAC
源 MAC
EtherType
负载

EtherType 用来告诉接收方:负载里装的是什么。常见值包括:

0x0800:IPv4
0x0806:ARP
0x86DD:IPv6

2. MAC 地址
MAC 地址是链路层地址,通常和网卡相关。它的主要作用不是“全球唯一标识某台机器”,而是帮助局域网中的设备完成“这一跳投递”。
交换机在转发以太网帧时,主要看的就是 MAC 地址。因此,在同一个二层网络里,真正决定帧发给谁的是目的 MAC,而不是 IP。
这就是为什么包里最先看到的是一串 MAC 地址因为数据要先走当前链路这一跳,链路层先于网络层发生作用。

Q:为什么不能直接用 MAC 作为 IP
这是一个很经典的问题。直觉上看,既然网卡有 MAC,为什么互联网不直接拿 MAC 做地址?
因为 MAC 只在当前链路这一跳有意义。一个包经过路由器后,链路层头部通常会被重写,源 MAC 和目的 MAC 都可能变化。所以 MAC 不是一个能端到端保持稳定的地址。
而 IP 是逻辑地址,能够分层、聚合、划分网段,适合大规模路由。互联网之所以能扩展,就是因为 IP 可以按前缀聚合,而不是为全球每一个终端维持一条扁平记录。


MAC 用来解决本地链路上的一跳投递,IP 用来解决跨网络的逻辑寻址。


0x05 ARP
应用程序通常知道自己要访问的目标是一个 IP 地址,但链路层发帧时需要的是 MAC。这就需要一个“翻译器”,把 IP 翻译成当前链路上的 MAC,这个协议就是 ARP。
ARP 的过程很直观:

已知目标 IP
不知道对应的 MAC
在局域网里广播问:谁是这个 IP?
目标主机回复自己的 MAC
发送方将结果缓存进 ARP 表


因为发送方还不知道目标 MAC,所以请求通常要广播;而目标主机已经知道请求者是谁,因此回复通常可以单播返回。ARP 解析的不一定是“最终目标”的 MAC,而是“下一跳”的 MAC。

ARP 欺骗与中间人
ARP 没有强认证机制,所以它天然容易被欺骗。攻击者可以伪造 ARP 应答,告诉受害者“我是网关”,再告诉网关“我是受害者”,于是双方流量都先经过攻击者,实现中间人。
这就是经典的 ARP 欺骗 / ARP 劫持。它的典型效果包括:

明文流量嗅探
局域网内中间人攻击
流量篡改
断网或劫持

对于流量分析来说,识别 ARP 异常也很重要,比如:

同一个 IP 对应多个不同 MAC
某主机频繁发送 ARP 响应
网关的 ARP 映射突然变化


0x06 WLAN、无线接入与 AP
1. WLAN 是什么
WLAN 可以理解为无线局域网,最常见的实现就是 Wi-Fi。它本质上仍然是局域网接入的一种方式,只是链路层不再通过网线和交换机,而是通过无线信道和接入点通信。
在有线网络里,你可以把线插进交换机;在无线网络里,终端通常通过 AP,也就是 Access Point,接入网络。
所以 AP 的角色可以简单理解为:无线终端和局域网/上层网络之间的桥梁。
2. 无线连接历程


发现附近无线网络
选择 SSID
认证与关联
密钥协商
获得链路接入
再通过 DHCP 获取 IP、网关、DNS


即使是无线网络,真正完成“接入互联网”也仍然离不开前面讲的那些基础:链路层接入、IP 配置、路由、DNS、TCP/UDP 等。

3. 无线网络和抓包
如果你在做无线相关分析,会遇到更复杂的二层/管理帧问题。如果有兴趣可以自行了解,这里只做提及。

无线网络有自己的一套链路层机制
AP、SSID、认证、关联这些都是无线接入中的基础概念
无线接入之后,后续 IP、DNS、HTTP 等问题和有线网络并没有本质不同


无线环境下,抓到的未必只是普通数据帧,还可能包含 Beacon、Probe、Authenticat

...(已截断)

---
来源: 看雪论坛
原文链接: https://bbs.kanxue.com/thread-290302.htm

暂无回复,快来抢沙发吧!

请登录后参与讨论

立即登录 注册账号