代码改变生活——利用路由器的“MAC地址过滤功能”限制别人的网速
来源:互联网 发布:中国的选举制度 知乎 编辑:程序博客网 时间:2024/05/12 18:36
最近遇到点小小的烦心事:通过一个无线家用路由器,两个人共用2M的宽带。网速已经很苦逼了,更苦逼的是别人一看电视,我这边的网速就接近0啊,2M网络,平均下载速度应该200KB/S左右,两个共用时,一个人分到100KB/S我也满足了啊,蛋疼的是,我这边的迅雷速度接近于零(枉费了我开迅雷会员,居然抢不过人家的上网本*_*),好一点的时候有六七十的速度,于是,作为一个程序员就开始思考程序员的解决方案了。。。。
路由的管理权限当然在我这儿,可是这款两三年前买了的TPLink家用无线路由没有那么丰富的功能,不能限制某个主机的网速。唯一有点的关系的功能就是“MAC地址过滤”,可以让指定的MAC地址的机器禁止访问Internet,(但是能连上路由)
当点击 “使所有条目生效后”,迅雷的网速像打了鸡血一样,迅速回到正常值。但是,让别人禁止访问外网,一来不厚道,二来别人也答应啊!肿么办?很简单,用个小程序,不断的去帮你点击“使所有条目生效”、"使所有条目失效",每个几秒钟来回切换一次,这样一来既不会断网,也不可能独占带宽,从而实现”平均分配“。
=======开工!=======
1.首先要早到路由器管理页面上对应的两个按钮的后台代码,发现IE自带的开发者工具还是挺好使的,三↓5÷二就找到最终的url
(1)F12调出开发者工具,点击最左边的指针按钮,然后在页面上点击需要查看的元素就能迅速定位到对应的html代码,一眼就能看出调用的js函数,doAll(),参数是EnAll(Enable All,命名还是很容易懂的)。
(2)继续跟踪这个函数.
tab页上选择脚本,在右侧的搜索框需要的函数"doAll",立刻找到doAll的实现代码,val是之前传入的EnAll,curPage不知道是啥?来个断点调试一遍,一切再无神秘!
接下来就开始写代码了。
2.这是一个工具类的小程序,功能需求就一个,运行平台windows,用C#开发最合适不过了,配合VS2012这么优秀的IDE,很快就能搞定的。
具体细节不再描述,虽然对.Net类库不熟悉,遇到问题上网百度下,也很快就能解决。
碰到的问题:
(1),登录的路由器管理的页面会有身份认证(浏览器弹出个框,输帐号),如何程序不加处理直接访问,返回401,程序抛出异常。
找到一篇博客,地址如下
访问需要HTTP Basic Authentication认证的资源的C#实现
(2),关于定时器,WPF(我的小程序用的wfp,不管是用设计器拖界面还是手写xaml,都比winform来的方便)中的定时器和winform的貌似不太一样,
有种中定时器
System.Timers.Timer 和 System.Threading.Timer都是从线程池中回调的,为了简单,应当采用System.Window.Threading.Timer,这里涉及到应当是非UI线程对界面元素的访问。
给个链接 c# wfp的三种timer
====================================
从idea的诞生到最后实现,也就一两个小时的时间,还是挺顺利的。
嗯,界面是粗糙了点,现在需要的基本功能是有了,有时间有兴趣的时候再去完善吧。
1.路由器太慢,如果访问的频率过高,路由器就不响应了,像死机一样,太悲催
2.网络访问应该改成异步的,现在发Http请求的时候界面会小卡一下,具体由路由器的响应速度决定。
3.完善功能,至少能对单独的MAC启用定时的禁止访问网络。
4。。。。
- 代码改变生活——利用路由器的“MAC地址过滤功能”限制别人的网速
- 一个路由器下,如何封了同一路由器下别人的MAC地址,不让别人上网
- 如何入侵使用MAC地址过滤的无线路由器?
- tp-link无线路由器如何限制别人网速
- TP-LINK路由器怎么限制另外电脑的网速
- 路由器如何限制网速
- iptables的MAC地址过滤
- iptables的MAC地址过滤
- h3c 出口路由器mac地址过滤
- MAC地址与路由器的问题
- 怎样限制局域网的网速
- 获取路由器的Mac地址和当前的iP地址
- MAC地址绑定:克服ISP的MAC地址绑定限制
- 过滤MAC地址的正则表达式
- 别人的生活经验
- 用路由器过滤特定MAC的主机流量
- 如何改变路由器的登录管理地址【mfxp】
- 【教你改变路由器的登录管理地址】
- 陶冶一下情操——几条养花小知识
- static 与 const
- vsftpd启动报错:vsftpd:500 OOPS: bad bool value in config file for: anonymous_enable
- linux centOS下怎么配置web服务器
- TextView使用SpannableString设置复合文本
- 代码改变生活——利用路由器的“MAC地址过滤功能”限制别人的网速
- [黑马程序员]--Java语言反射
- Android 亲测源码分享
- [黑马程序员]--Java语言注解、泛型
- DIV+CSS兼容IE6+IE7+Firefox
- 远程服务化的思路整理
- [黑马程序员]--Java语言交通灯管理系统
- Android中PopupWindow的用法(位置、动画、焦点)
- stm32 nvic的理解