在很多高校(比如笔者所在的学校)中,校园网采用基于 MAC 地址的接入控制机制。用户在首次登录 Portal 网页并成功认证后,系统会将其设备的 MAC 地址记录下来,后续访问网络时不再重复认证,直接放行。这一机制的初衷是简化登录流程,实现无感认证,提升用户体验,但安全性不咋高。
MAC 地址理论上应是全球唯一,但它是可以被伪造的,可通过以下步骤实现“偷网”:
获取目标设备的 MAC 地址:在同一局域网中,可以通过 ARP 协议监听或者主动发送 ARP 请求,获取已登录用户的 MAC 地址。
伪造 MAC 地址登录网络:攻击者将自己设备的 MAC 地址模拟为目标用户的地址。
冒用认证信息上网:一旦 MAC 伪造成功,系统就无法区分攻击者和真实用户。攻击者即可在无需登录的情况下成功访问校园网,冒用他人的认证状态。
先来复习一下计网:
ARP(Address Resolution Protocol,地址解析协议)是一个通过解析网络层地址来找寻数据链路层地址的网络传输协议,在 IPv4 中极其重要(在 IPv6 中使用 NDP 替代了 ARP ,且现在国内大部分高校的校园网对于 IPv6 连接基本不限制,一般无需登录认证,所以下文不考虑 IPv6 的情况),该协议在局域网通信中非常关键,它的作用很简单:
已知目标 IP 地址,获取目标设备的 MAC 地址
因为:
网络通信是基于 IP 地址来路由的;
但局域网内数据最终是通过 MAC 地址来实际传输的。
所以在一台设备要向另一台设备发送数据前,它必须先知道对方的 MAC 地址。
知道这些就够了,现在就可以偷其他用户的 MAC 了。
方法一:监听 ARP 通信(被动抓取)
ARP 请求和响应是明文广播,同一局域网内的设备都能看到。
只需使用 Wireshark、tcpdump 等抓包工具,监听网络中来往的 ARP 报文,就能看到如下内容:
ARP Request: Who has 172.20.30.45? Tell 172.20.30.1
ARP Reply: 172.20.30.45 is at AA:BB:CC:DD:EE:FF
这样你就知道:
目标设备的 IP 是:172.20.30.45
MAC 地址是:AA:BB:CC:DD:EE:FF
只要目标设备和你在同一个子网(例如同一层宿舍或者同一实验室的 WiFi),就能轻松抓到。
方法二:主动触发 ARP 请求
如果你已经知道对方 IP(比如通过扫描),可以直接 ping
它。操作系统会自动发起 ARP 请求,这样你就能抓到目标回应,进而获得 MAC。
你甚至可以写脚本,对整个局域网段(例如 172.20.30.0/24
)进行 Ping 扫描,一口气扫出所有设备的 MAC 地址。
偷到 MAC 之后,偷别人流量上网就很容易了。前提是学校的认证系统只验证 MAC 地址(如 Drcom 这类 portal 系统),一旦认证通过,这个 MAC 地址就可以通网。
首先你的设备需要先连接到校园网,获得通过 DHCP 分配到的 IP,然后只需把你自己设备的网卡 MAC 地址模拟成和对方一样的,例如:
# Linux 或 macOS
sudo ifconfig wlan0 hw ether AA:BB:CC:DD:EE:FF
sudo ifconfig wlan0 up
sudo ifconfig wlan0 down
# Windows 可通过设备管理器或者命令行工具 netsh 设置
由于我校的系统只看 MAC 不看 IP,所以无论当前 IP 是什么,只要 MAC 是认证过的,且对方设备不在线,就直接可以通网,实现无感认证上网。
当然,如果受害人的那台设备还在线,就可能存在冲突(IP 冲突、ARP 冲突),具体表现为两台设备互相把对方挤下去,网络连接断来断去。应对这种情况也好说,比如 ARP 泛洪攻击,把对方设备彻底挤掉。具体不再赘述,建议自行学习。
本文肯定不是教大家怎么偷别人校园网流量玩的,但是笔者跟学校网信中心反映过这个问题,网信中心老师表示你说的这堆玩意儿太难了反正大家都不懂就没事。那我只好科普给更多人了。
言而总之,有必要引入更安全、更稳定的认证机制来替代现有的 Portal + MAC 验证体系,常见的替代方案包括:
1. 使用 802.1X 协议:让认证发生在“网口级别”
802.1X 是一种网络接入控制协议,基于 “端口级” 认证机制。
工作流程(简化版):
设备接入网络后,首先被交换机阻断;
交换机通过 EAP 协议发起认证请求;
用户输入账号密码或提供证书;
后端 RADIUS 服务器校验通过后才开放网络端口。
这种方法优势在于,它在设备接入网络之前就进行认证,杜绝了绕过认证直接上网的可能;并且即便攻击者伪造了 MAC 地址,也会因缺乏有效凭据而无法接入;此外,它在链路层完成身份校验,无论 IP 地址是动态还是静态,都不会影响认证过程的可靠性。
目前大部分企业网络、部分重点高校已经在无线/有线网络中启用 802.1X,用于替代原始的 Portal 登录流程。
2. 下发设备证书:设备级别的身份认证
配合 802.1X,还可以为每台合法设备下发数字证书,形成“一机一证”,实现设备身份的强认证。
工作方式:
每台设备安装一个由校方签发的 X.509 证书;
接入时使用证书完成身份验证,无需手动输入账号密码;
即使 MAC 被伪造,没有证书也无法接入网络。
优势很明显,通过为设备下发证书,可实现真正的设备级身份认证。一方面,用户只需连接网络即可自动完成认证,实现无感认证;另一方面,证书具有唯一性和安全性,可防止盗用或伪造设备。一旦设备丢失或出现问题,还可以随时吊销或更新证书,安全性更好。并且这种方式还会大大简化传统 SSO 登录过程,一举多得。
3. PSK(预共享密钥)+ MAC 绑定:面向简易设备
对于不支持 802.1X 的设备(如某些 IoT、打印机、老旧设备),可以考虑采用:
WPA2-Enterprise + PSK(预共享密钥)方式;
管理后台绑定特定设备的 MAC + PSK;
虽然 PSK 本身不是特别安全,但配合 MAC 白名单,可以确保只有特定设备+特定密钥组合才能接入,有效缓解认证漏洞。
4. Portal 改进 + 多因子认证
对于一些暂时无法部署 802.1X 的网络场景,也可以保留 Portal 网页认证机制,但做出改进:
在后端通过行为识别、设备指纹、接入位置、登录频率等做补充认证;
引入双因子认证(如手机号/短信验证、软令牌);
绑定设备 ID(如 TPM 芯片、序列号)进行准入控制;
设计更加稳定友好的 Portal 页面,避免半天登不上去。