校园网“反”防代理技术原理解析
本文最后更新于33 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com

在我之前的文章中已经罗列了部分校园网的防代理检测技术,我们了解了校园网是如何知道我们存在共享上网行为的。那么接下来就探讨一下如何做到“反”防代理了。

上文文章链接:http://lovemq.com/index.php/2025/04/13/%e6%a0%a1%e5%9b%ad%e7%bd%91%e9%98%b2%e4%bb%a3%e7%90%86%e6%8a%80%e6%9c%af-%e6%a0%a1%e5%9b%ad%e7%bd%91%e6%98%af%e6%80%8e%e4%b9%88%e7%9f%a5%e9%81%93%e5%85%b1%e4%ba%ab%e4%b8%8a%e7%bd%91%e7%9a%84/

而对于防检测,绝大部分校园网使用的是UA检测法、TTL检测法,少数会增加IP-id、时间戳等检测法,极少数会使用DPI抓包检测法。所以我们准备的推理解决方案是:

1.将多台设备发送的UA,修改为统一的值

2.重排IPv4数据包包头内的Identication(IP-id)字段

3.统一时间戳和TTL等

那么,该如何修改以上的信息,做到反防代理检测呢?

对于修改UA:

当前使用最广泛的修改UA方案是“UA to F”自编写插件,它是一个可以安装在OpenWrt的用户程序,能从防火墙中拿取流量,并进行识别和修改。因此,UA to F能够在修改所有端口的目标流量时,有较高的准确率和性能。缺点:UA toF依赖于netfilter或iptables,进行流量的重新定向,因此,与Clash等代理工具存在冲突,如果要使用Clash等工具,就要采用二级路由的形式。

更高阶的有 “UA to 3F”,它是一个依赖于Clash,它是一个依赖于Clash,自身作为socks5代理,对本机提供UA修改服务的方案。通过Clash,捕获全部的入站流量,再向3F转发潜在的HTTP流量,来进行UA的修改。因此,UA to 3F不仅能以Clash共存,还能修改全部的HTTP流量。同时,因为UA to 3F对外是一个定制的socks5代理,而在与Clash部署到同一路由设备时,就相当于将远程的代理服务器,转移到本地,来进行流量转发。所以,UA to 3F虽然依赖于Clash,但并不需要外部的远程代理服务器来进行加密代理转发。而且还有一个优点,就是它有一个基于Luci的Web界面,能自定义修改UA的内容。

对于IP-id检测法:

只修改UA是不够的,针对IPv4数据包包头内的Identication(IP-id)字段重排,则使用rkp-IPid模块,来修改IPv4数据包包头内的IP-id。这个模块可以通过数据包中的“mark值”,来判断要修改哪些信息。在用有IPid模块的OpenWrt上进行一些设置,就可以修改路由器发出的数据包,使校园网认为这些都是同一台设备发出的。之后就开始利用OpenWrt上强大的内置模块来进行“反“-防代理检测

对于时间戳检测法:

他们使用OpenWrt内置的NTP服务器,来给下游设备授时,尽可能做到时钟偏移统一。

对于TTL检测法:

使用OpenWrt上的一个防火墙组件「kmod-iptables-iport」,简单的配置-下,来修改发送出去的TTL。

对于FlashCookie检测法:

使用OpenWrt上的一个防火墙组件,用一句参数拒绝针对Flash的主动检测。

对于绑定认证的Mac地址检测法:

只需修改路由器上的Mac地址为验证上网的那台设备的(MAC地址)就可以了。

对于DPI检测法:

对于抓包应用层流量的DPI检测法,通过一些代理软件对“全局”流量进行加密,使进行检测的设备无法识别到任何特征。将多台设备的网络请求交给「代理服务器」,它会以“自己”的“身份”(IP)将网络请求对外发送:以隐藏来自多个IP地址的请求。(实际上起到路由的“三层”作用)使用代理服务器的「加密」功能对普通的Http报文进行加密,以应对User Agent检测法。同时还可以使用代理服务器的各种「「代理规则」来对“特殊流量”(如Q0、微信等一台设备只能存在一个的特征应用的流量)进行处理来绕过或防止DPI检测。所以这种方法几乎能防御任何“(用于)防代理(的)检测

实际解决方案–基于OpenWRT的反防范代理检测的方案:

在OpenWRT中,安装UA to F或UA to 3F来修改UA,安装rkp-IPid来修改IPid,用防火墙组件kmod-iptables-iport来修改TTL,用防火墙组件来拒绝Flash被检测到,用内置的NTP服务器来给下游设备授时,统一时间戳。值得注意的是,安装UA to F插件需要在编译OpenWrt时,更改内核设置,比较麻烦,故可以使用云端编译。

b站视频参考链接:https://www.bilibili.com/video/BV1yr4meeENt

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇