Socks Over Rdp绕过校园网流量协议限制
最近学校又开始不当人了,校园网屏蔽了RDP协议的流量,这样我就没办法直接连远程桌面了。一开始我以为学校只是屏蔽了3389端口的流量,于是我把Windows Server的rdp端口从3389改成了22端口(假装自己是一台Linux哈哈)。但是发现行不通,看来学校是屏蔽了RDP协议的流量,经过一番折腾总算绕过才有了这篇文章。
直接用mstsc连接的时候就会提示这个,一开始我想着要不换个网络或者手机开个热点算了。但想着自己好歹也是搞安全的,什么防火墙,waf没绕过?怎么能被学校这种辣鸡网络给限制了!
我最先想到流量封装,就是什么icmp,ssh隧道什么的,只要是放行的协议就行。但是想着我又不是为了传输payload,何必整的这么麻烦呢。直接用socks协议转发流量不就好了?
因为rdp是应用层协议,而socks是在会话层的,理论上是可以封装的。经过一番谷歌后发现确实可以实现。这里用到了SocksCap这款代理工具。
sockscap64是一款免费的64位SOCKS代理软件,它可以使Windows网络应用程序通过SOCKS代理服务器来完美访问外部网络,从而达到隐藏真实身份(ip地址)和加速网络的目的,目前只支持Socks4/5代理协议。它可以使Windows应用程序通过SOCKS代理服务器来访问网络而不需要对这些应用程序做任何修改, 即使某些本身不支持SOCKS代理的应用程序通过SocksCap64之后都可以完美的实现代理访问。
这款工具大家就直接在网上搜索下载即可,下载安装之后先添加我们需要代理的程序。
这里我们就选择mstsc添加。
这里其实是要给绝对路径的,直接输mstsc是不行的。可以直接在cmd中where查看命令对应的可执行文件的路径。
接下来就是添加代理地址了,虽然SocksCap本身是一个代理工具,但我们依旧可以使用一个前置代理做额外的工作。比如这里我经常使用V2rayN作为客户端的科学上网工具,因为支持多种协议非常方便。我们将V2rayN作为前置socks代理监听在本地的1080端口。
这里我用了三种不同的协议如图来分别测试,然后运行代理后的mstsc。至于分别怎么搭建的,我就不在这里详述了,大家可以自行了解。
接下来添加本地的socks代理,也就是V2rayN。
然后运行即可。
这个在启动的时候会稍微慢一些,经过测试之后发现,直接说结论了。
vmess和shadowsocks协议都可以绕过防火墙的限制,原生的socks协议还是被拦截了。
其实原因很简单,因为前两者流量都是经过加密的,虽然里面是封装的RDP的流量,但防火墙根本没办法识别,就只能放行了。而socks是直接转发的,防火墙可以检测到rdp的报头,所以还是拦截了。
一番折腾之后又可以愉快地远程桌面了,不愧是我哈哈!
总结:对于校园网检测协议流量的这种情况,对流量进行加密封装转发就是最好不过的方式了,其实这里不仅限于RDP协议,所以应用层的协议都可以这样实现。想想当初shadowsocks的设计理念不就是这样的吗,通过加密流量对抗封锁,以及冰蝎的加密流量都是这样的。果然很多思想都是相通的!
赞赏微信赞赏支付宝赞赏
6条评论