ROS强制安装客户端(另类应用:配合PPPOE拨号器达到封二级路由效果)
之前看了bobwalker的帖子,这个功能是非常实用的,无论是企业、学校、出租屋网络中,配合客户端软件,能做出非常强大的功能,简单来说:一个学校的电脑机房,老师在上课用屏幕广播,底下的学生都关闭屏幕广播软件偷偷上网,而这时配合客户端软件,如果检测到客户机电脑上面的屏幕广播软件没运行,就禁止上网,强制弹出通告页面,这个功能是非常实用的使用routeros强制用户安装网管客户端,不安装不能上网。(类似于wayos强制安装客户端)
原理bobwalker说得很清楚了,主要是特征码的问题,比较容易破解,所以我改了一下,用时间进行特征码识别,每小时刷新一次(通过ROS脚本里面的字符串转换,时间代码可以转换成任何的字符,假如说小时是16的话,就转换成ef,18转换成ah,这样子就增强了安全性),这样子就算抓包了,也会一段时间后失效,除非能发现特征码里面的规律
已经写了一个PPPOE拨号客户端了,测试正常,不用客户端拨号,上不了网且弹出公告
没使用专用的客户端进行拨号的效果图
ROS
使用专用的客户端进行拨号后的效果图
在防火墙的Address lists里面,已经把拨号后的IP加入到白名单里面
我的通告页面是使用ROS原有的HTTP页面来做的,这样的好处是留有一个页面给3天到期提醒
识别特征码并加入到address list,端口填不填都无所谓,源地址是内网网段,目标地址是全局广播地址,设置5分钟
然后加入一条规则,把非address list里面的IP地址访问80端口转跳到ROS的8888端口上面,这样是弹出公告页面
最后在防火墙里面加入2条规则,允许访问80端口,非白名单用户全部drop掉
脚本,设置定时执行#脚本开始#
:global Date ;
:global Time ;
:global Year ([:pick $Date 7 11]-1);
:global Month ([:find jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec [:pick $Date 0 3]]);
:global Day [:pick $Date 4 6];:if ([:pick $Date 4 5] = 0) do={:set Day [:pick $Date 5 6]};:set Day ($Day-1);
:global Hour ([:pick $Time 0 2]);
:log error ("时间代码:".$Year+1 . $Month+1 . $Day+1 . $Hour);
:log error ("特征代码:"."MikrotikRos" . $Year+1 ."-" . $Month+1 ."-". $Day+1 . ":".$Hour);
;/ip fire man set content=("MikrotikRos" . $Year+1 ."-" . $Month+1 ."-". $Day+1 . ":".$Hour);
#脚本结束#把10.10.10.2-10.10.11.254的网段改为自己网络的网段/ip firewall mangle
add action=add-src-to-address-list address-list=TMZList address-list-timeout=\
5m chain=prerouting comment=Client content=MikrotikRos2011-12-31:16 \
disabled=no dst-address=255.255.255.255 protocol=udp src-address=\
10.10.10.2-10.10.11.254:lol 做了一个简单的发包程序,有钱的下来玩下吧
支持 收藏。。。 客户端和ROS时间不同步怎办?
NTP,可以在客户端软件上面远程获取NTP服务器上面的时间,然后设置windows的系统时间,这样子就可以避免时间差值过大,另外address list里面的timeout时间可以设置长点,比如1小时,这样效果更好
想要特征码周期性变化,我只想到用时间实现,不知道还没有其它的方法 没钱哦…… 金山提示有毒,其它安全软件没试。 本帖最后由 kzyfl 于 2012-1-8 10:15 编辑
很好,想问一下,可不可以单独对某个IP或者某个IP段用专用PPPOE拔号器,其它的不加以限制,因为网内用路由必竟是少数.如果发现谁用路由只要把他的账号对应的IP限制到强制安装客户端里面就行了,没必要全部强制安装. 本帖最后由 newmean 于 2012-1-8 11:20 编辑
twinsandme3 发表于 2012-1-5 21:33 static/image/common/back.gif
客户端和ROS时间不同步怎办?
NTP,可以在客户端软件上面远程获取NTP服务器上面的时间,然后设置windows的 ...
楼主建议不要用时间来做验证 本帖最后由 twinsandme3 于 2012-1-8 18:13 编辑
twtysse 发表于 2012-1-8 09:53 static/image/common/back.gif
金山提示有毒,其它安全软件没试。
有毒那是因为打开程序时候会释放DLL并注册,一些垃圾的杀软会误杀
http://r.virscan.org/report/c10dbe9694c64706b1154ecfa0b839a3.html
kzyfl 发表于 2012-1-8 09:59 static/image/common/back.gif
很好,想问一下,可不可以单独对某个IP或者某个IP段用专用PPPOE拔号器,其它的不加以限制,因为网内用路由必竟是 ...
可以,全部就在防火墙里面设置,也就是那几条规则,注意源地址IP就可以了 newmean 发表于 2012-1-8 11:08 static/image/common/back.gif
楼主建议不要用时间来做验证
因为是考虑到时间是周期性变化的,我最小取了小时为值,特征码周期性变化就是为了提高特征码的安全性
除了这个,不知道还有没有其它的替代方法 本帖最后由 twinsandme3 于 2012-3-21 12:18 编辑
:lol :lol :lol :lol 谢谢分享!!!! 好帖,谢谢! 为什么下载的客户端软件打开失败了呢 没钱玩,围观下。