交换机工作原理
- 当交换机收到数据帧后,先查看源 MAC 地址。
- 如果 MAC表中没有该源 MAC,就将“源 MAC ”和“接收该数据的物理口”建立映射关系。
- 然后查看目标 MAC 地址是否存在于 MAC 地址表中。
- 如果目标 MAC 不存在,交换机会进行广播转发,除接收端口外,向其他所有端口发送该数据。
- 如果目标 MAC 存在,交换机会通过对应端口进行单播转发。
可以把交换机的转发过程理解为“先学习自己从哪里来,再判断你要到哪里去”。
路由器工作原理
- 当路由器收到数据包后,先检查目标 IP 地址。
- 路由器会根据路由表查找目标 IP 对应的转发路径。
- 如果路由表中没有目标IP的记录,则丢弃该数据包,并向发送方返回不可达信息。
- 如果存在对应路由,路由器会将数据从相应接口转发出去。
- 在转发时,会把源 MAC 改为本接口的 MAC 地址,把目标 MAC 改为下一跳设备的 MAC 地址。
可以把路由器的转发过程理解为“先看你要去哪里,再决定该从哪里转发出去”。
重点总结
- 交换机用于连接同一网络中的设备,依据 MAC 地址表转发数据
- 路由器用于连接不同网络,依据路由表和目标 IP 转发数据
- AP 用于无线接入
- AC 用于统一管理多个 AP
- 局域网范围小,广域网范围大
对比记忆
| 设备 | 主要作用 | 依据 | 典型场景 |
|---|---|---|---|
| 交换机 | 连接同一网络设备 | MAC 地址表 | 局域网内部通信 |
| 路由器 | 连接不同网络 | 路由表、目标 IP | 跨网段通信、上网 |
| AP | 提供无线接入 | 无线接入配置 | 无线热点覆盖 |
| AC | 统一管理 AP | 集中控制策略 | 中大型无线网络 |
OSI 七层模型
OSI 将网络通信划分为七层,自下而上分别为:
- 物理层
- 数据链路层
- 网络层
- 传输层
- 会话层
- 表示层
- 应用层
| 层次 | 名称 | 主要作用 | 典型内容 |
|---|---|---|---|
| 第 7 层 | 应用层 | 为用户或应用程序提供网络服务 | HTTP、FTP、DNS、SMTP |
| 第 6 层 | 表示层 | 负责数据格式处理 | 编码、解码、加密、解密、压缩、解压缩 |
| 第 5 层 | 会话层 | 建立、维持、终止通信会话 | 会话建立与管理 |
| 第 4 层 | 传输层 | 提供端到端传输 | TCP、UDP、端口号 |
| 第 3 层 | 网络层 | 负责逻辑寻址和路由选择 | IP 地址、路由 |
| 第 2 层 | 数据链路层 | 负责物理寻址和差错检测 | MAC 地址、帧 |
| 第 1 层 | 物理层 | 负责比特流与物理信号转换 | 电信号、光信号、网线、光纤 |
记忆方法
OSI 七层从下到上:
物理层-> 数据链路层 -> 网络层-> 传输层 -> 会话层 -> 表示层-> 应用层
可以重点记住三组核心信息:
- 传输层:端口、TCP、UDP
- 网络层:IP、路由
- 数据链路层:MAC
捕获过滤器规则
Host
- host
- net 表示网段 net 192.168.1.0/24
Port(端口)
- port
- portrange 限制端口范围
- 案例:portrange 1000-2000 限制端口 在 1000-2000
协议
- arp,ip.icmp,udp,tcp
方向
- src,dst
MAC地址
- ether
逻辑运算符
- and:与,并且
- or:或
- not:不是
- !:非
显示过滤器规则
基于IP地址
- ip.addr
基于IP地址和方向
- ip.src,ip.dst
基于协议
- arp,ip,icmp.dhcp,ssh,mysql,udp,tcp,tls等
基于协议和端口
- tcp.port,udp.port
基于协议,方向,端口
- tcp.srcport
- tcp.dstport
- udp.srcport,
- udp.dstport
基于MAC地址
- eth.addr
基于MAC地址方向
- eth.src、eth.dst
关系运算符
==:等于!=:不等于>:大于<:小于
逻辑运算符
- and:与,并且
- or:或
- not:不是
- !:非
ARP 的作用
核心理解:
- IP 负责逻辑寻址
- MAC 负责局域网内的二层投递
- ARP 负责把 IP 和 MAC 关联起来
ARP 的几个重要结论
同网段通信
如果目标主机和自己在同一网段,主机需要解析的是:
目标主机的 MAC
跨网段通信
如果目标主机和自己不在同一网段,主机需要解析的不是远端主机 MAC,而是:
默认网关的 MAC
ARP 的范围
ARP 只在 同一广播域 / 同一局域网 内有效。
原因是:
- ARP 请求依赖二层广播
- 路由器通常不会转发 ARP 广播
ARP 不能跨路由器工作
常用命令
arp /a// 查看ARP缓存arp /d// 清除ARP缓存
ARP 常见考点
为什么必须要有 ARP
因为 IP 负责逻辑寻址,而以太网二层通信依赖 MAC 地址,所以发送数据前必须先完成 IP 到 MAC 的解析。
为什么 ARP 只能在局域网使用
因为 ARP 请求依赖广播,而路由器默认不会转发二层广播。
为什么跨网段时找的是网关 MAC
因为跨网段时,主机不能直接把二层帧交给远端主机,只能先把帧交给默认网关。
ARP攻击
- 攻击主机伪造ARP响应,将伪造的ARP响应数据包发送给靶机,靶机收到数据包后,更新ARP缓存表,将目标IP对应MAC更改外伪造的MAC地址,导致后续发往指定IP的数据都会发往伪造的MAC地址对应设备;
- 针对网关:攻击主机伪造ARP响应,将伪造的ARP响应数据包发送给靶机,靶机收到数据包后,更新ARP缓存表,将
默认网关IP对应MAC更改外伪造的MAC地址,导致后续发往外网的数据都会发往伪造的MAC地址对应设备;
研判思路
方法一:抓包分析
重点关注:
- 短时间内出现大量 ARP
响应 没有请求却主动出现ARP响应- 网关 IP 对应的 MAC 频繁变化
方法二:查看 ARP 缓存
重点看是否存在异常映射,例如:
- 同一个 MAC 反复对应多个 IP
- 网关 IP 对应的 MAC 突然变化
可以先清缓存,再重新学习并观察:
防护思路
1. 绑定静态 ARP
对关键设备,如网关、服务器,可以手工绑定固定的 IP 与 MAC 映射。
netsh interface ip add neighbors "网卡名称" 目标IP 目标MAC //AF-FD.......
删除静态项:
netsh interface ip delete neighbors "网卡名称" 目标IP 目标MAC
2. 使用交换机安全能力
在接入交换机上部署安全机制,从网络设备层面防御 ARP 欺骗,常用方案:
-
端口安全策略
- 给交换机端口设最大 MAC 地址数
- 端口绑定合法 MAC 地址
- 对违规设备自动执行丢弃、告警或关闭端口处理
目前 大多数 网络设备 自带 arp 防护功能
3. 使用安全软件或准入控制
适合企业网络统一管理场景。
火绒 arp 防护
速记总结
ARP:已知 IP,找 MAC
同网段:找目标主机 MAC
跨网段:找默认网关 MAC 先查 ARP 缓存,没有再广播请求ARP 只能在同一网段使用
ARP 没有认证机制 //存在 响应被 伪造 的 可能