本文目录
- 我们的目标是解决校内两设备之间无法互相通信的臭毛病
- 核心思想,自己重新设置路由规则
- 让我用简单的方式解释AP隔离破解的原理:
- 破解工作原理
- 具体方法:linux 系统
- 具体方法:windows 系统:
- 脚本代码
- 将powershell脚本编译成exe文件的方法
我们的目标是解决校内两设备之间无法互相通信的臭毛病
核心思想,自己重新设置路由规则
举个例子
- AP隔离就像"教室规定学生不能直接传纸条"
- 但学生都可以和老师(网关)通信
- 修改路由相当于"所有纸条都先交给老师转交"
- 这样就绕过了"学生之间不能直接传纸条"的限制
让我用简单的方式解释AP隔离破解的原理:
- 正常情况(有AP隔离)
- AP隔离阻止了同一AP下设备之间的直接通信
- 但所有设备都能和网关通信
设备A ←→ AP ←→ 设备B❌
设备A ←→ 设备B
- 修改路由后:
- 删除直连路由,强制所有通信都经过网关
- 网关成为"中转站",帮助转发数据包
设备A → 网关 → 设备B
设备B → 网关 → 设备A
- 具体原理:
- 默认路由表让设备尝试在同一网段内直接通信
- AP隔离阻止了这种直接通信
- 修改路由后,即使是同网段通信也会发送到网关
- 网关没有AP隔离限制,可以转发到目标设备
就像:
- AP隔离就像"教室规定学生不能直接传纸条"
- 但学生都可以和老师(网关)通信
- 修改路由相当于"所有纸条都先交给老师转交"
- 这样就绕过了"学生之间不能直接传纸条"的限制
破解工作原理
设备A ─→ 检测网关 ─→ 修改路由 ─┐├─→ 可以互相访问
设备B ─→ 检测网关 ─→ 修改路由 ─┘
具体方法:linux 系统
这里直接引用别人的方法
AP隔离的设备互相访问 - 王冰冰 - 博客园
具体方法:windows 系统:
管理员权限的powershell中执行
查看当前路由表:route print
删除直连路由:route delete 10.21.64.0 mask 255.255.192.0
添加通过网关的路由:route add 10.21.64.0 mask 255.255.192.0 10.21.64.1
如果想要路由在重启后依然生效,使用:route -p add 10.21.64.0 mask 255.255.192.0 10.21.64.1
脚本代码
完整的powershell脚本程序已上传github,详细代码见github
https://github.com/czc6666/AP-Isolation-Bypass
编译好的程序在文章开头
将powershell脚本编译成exe文件的方法
- 以管理员身份打开 PowerShell
- 运行: Install-Module ps2exe -Force
- 运行: Invoke-ps2exe “route_config.ps1” “路由配置工具.exe”
欢迎提出改进意见,欢迎各位骂我