什么是MAC地址?
MAC地址 (介质访问控制地址) 是分配给网络接口控制器 (NIC) 的唯一48位硬件标识符,用于OSI网络模型数据链路层 (第2层) 上的设备寻址。MAC地址结构
MAC地址格式:XX:XX:XX:YY:YY:YY
00:1A:2B:3C:4D:5E
├─────┤├─────┤
OUI NIC
│ │
│ └── 网络接口控制器 (设备唯一)
│
└── 组织唯一标识符 (制造商)
格式:
- 冒号符号:00:1A:2B:3C:4D:5E
- 连字符符号:00-1A-2B-3C-4D-5E
- 思科符号:001A.2B3C.4D5E
地址组件
| 组件 | 位 | 用途 |
|---|---|---|
| OUI (前24位) | 24 | 识别制造商 |
| NIC特定 (后24位) | 24 | 设备唯一标识符 |
| I/G位 (位0) | 1 | 个人 (0) 或群组 (1) |
| U/L位 (位1) | 1 | 通用 (0) 或本地 (1) |
常见OUI示例
| OUI | 制造商 |
|---|---|
| 00:00:0C | 思科 |
| 00:50:56 | VMware |
| AC:DE:48 | Apple |
| 3C:5A:B4 | |
| 00:15:5D | Microsoft (Hyper-V) |
| 08:00:27 | Oracle VirtualBox |
MAC与IP地址
| 功能 | MAC地址 | IP地址 |
|---|---|---|
| 层 | 数据链路 (第2层) | 网络 (第3层) |
| 范围 | 本地网络段 | 全局 (可路由) |
| 分配 | 硬件 (永久) | 软件 (可配置) |
| 格式 | 48位十六进制 | 32位 (IPv4) 或128位 (IPv6) |
| 唯一性 | 全局唯一 (通常) | 网络唯一 |
用途
- 网络故障排除:识别本地网络上的设备
- 访问控制:路由器/交换机上的MAC过滤
- 设备跟踪:网络清单管理
- 制造商识别:OUI查询显示供应商
- 安全审计:检测恶意设备
查找MAC地址
# Windows
ipconfig /all
getmac
# macOS/Linux
ifconfig
ip link show
# 查看ARP表 (MAC到IP映射)
arp -a
安全考虑
| 顾虑 | 描述 |
|---|---|
| MAC欺骗 | 攻击者可以更改他们的MAC地址 |
| 跟踪风险 | MAC可以跨网络追踪设备 |
| 虚假安全 | MAC过滤容易绕过 |
| 隐私 | 移动设备现在使用随机MAC |
随机化MAC地址
现代设备使用随机MAC以保护隐私:
永久MAC:AC:DE:48:00:11:22 (真实设备)
随机MAC:4E:1B:7C:AB:CD:EF (生成,U/L位 = 1)
随机化场景:
- WiFi探针请求
- 连接到新网络
- 每个网络不同的MAC
最佳实践
1. 不要仅依赖MAC过滤:容易绕过的安全措施
2. 使用OUI查询进行清单:识别设备制造商
3. 监控欺骗:检测网络上的重复MAC
4. 考虑隐私影响:随机MAC使设备跟踪复杂化
5. 文档网络设备:维护MAC到设备映射
MAC地址作为基本硬件标识符,实现本地网络通信和设备管理。