|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
×
之前看了bobwalker的帖子,这个功能是非常实用的,无论是企业、学校、出租屋网络中,配合客户端软件,能做出非常强大的功能,简单来说:一个学校的电脑机房,老师在上课用屏幕广播,底下的学生都关闭屏幕广播软件偷偷上网,而这时配合客户端软件,如果检测到客户机电脑上面的屏幕广播软件没运行,就禁止上网,强制弹出通告页面,这个功能是非常实用的
[radius] 使用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 [/system clock get date];
- :global Time [/system clock get 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 [/ip fire man find comment="Client"] 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
复制代码 做了一个简单的发包程序,有钱的下来玩下吧
客户端软件.rar
(89 KB, 下载次数: 244, 售价: 2 铜板)
|
评分
-
查看全部评分
|