Wireless Freedom
Openwrt
是一个运行在MIPS, ARM, X86等各类嵌入式设备上的Linux系统。它的文件系统是可写的,意味着修改系统不需要重新编译整个系统。
开发者可以交叉编译软件到Openwrt,也可以使用它自带的opkg
包管理系统安装软件/库。
|
|
没错,这就是一个liunx!
只是性能有所不足而已: 典型CPU
MT7620:
580MHZ
,MIPS
,Single-Core
AR71xx:
MIPS
,Single-Core
,<800MHZ
典型RAM/FLASH
FLASH: 4M, 8M, 16M
RAM: 16M(天坑), 32M(主流), 64M(主流), 128M, 256M
硬件支持列表:
Openwork Wiki, 好像除了tplink新出的坑爹货,其他基本都可以刷openwork的系统。
路由器
路由器无论搭载什么系统, 首要要求就是稳定性, 稳定性好的, 才能讨论五花八门的高级功能。Openwrt作为一个老牌的开源路由器系统,它的稳定性比起那些MT762x
之流的智能路由器(极路由1s
, 360智能路由
, 小米路由mini
, 联想newwifi mini
)高的不是一条街。和那些TP-LINK早期用料足的路由器在一个水平段(如WR841N v5
)。
如何选择一个稳定的路由器:
- TP-LINK远古时期的路由器, 确定能刷Openwrt, 缺点是很多都是二手。
一些智能路由器,用的都是类似的方案(ODM), soc性能也过得去,刷了Openwrt也没用什么问题。
基本用途
整理一下思路,从连上网之前到连上网之后,到高级用途。
联网前: 认证
高校大量的openwrt路由器,基本都是为了绕过那些校园网的认证而刷的,
神州数码
,DrCOM
,iNode
之流,不仅客户短写的好像上世纪80年代的风格,尤其是图标,XP下都嫌难看,而且还限制wifi分享软件。所以刷openwrt跑认证就成了一种刚需。
开源的客户端:DrCOM: DrCOM-generic
神州数码: zdclient
联网后
- 翻墙: 前有PPTP,OpenVPN被GFW处理的服服帖帖,现在主流出墙基本都是shadowsocks。在路由器上配置ss, 并且使用PAC判断网站是否在墙外,并且自动代理,是目前最好的出墙方案。
- 多播: 如果测试本地运营商没有限制宽带多播的话,可以尝试虚拟WAN口多播叠加带宽。(移动好像一直都不可以)
- NAS, 离线下载: Openwork极少有带STAT或者USB3.0接口,部分带USB2.0接口的路由器IO性能不佳,加上孱弱的SOC性能,基本上只能处理百兆网口的下载流量,由于USB口性能的限制,很多时候还达不到10MB/s(参考Raspberry 1代的usb和有限网口)。所以做NAS就一鸡肋,聊胜于无。但是离线下载一些720P的视频还是不错的。 配置transmission
- 去广告:…..
Python
如果要在Openwrt
上写C
程序,还是比较麻烦的。还要找一个linux
的机器交叉编译,光配置和下载依赖包,可能就要一个晚上的时间,加上编译系统的3 4个小时,是一件费时费力的过程。况且C
程序编程还十分繁琐。所以能运行Python
就好了。
大致会消耗2.7MB的空间,对于8M Flash
的路由器来说应该没有太多的压力。之后就可以使用socket模块愉快的抓包了。
Scut python版Drcom认证:
Scapy
毕竟在包分析方面,用Raw socket写的程序还是比不上成熟的网络分析工具Scapy,所以安装一个scapy对包分析还是很有帮助的。安装过程:
|
|
抓一波包压压惊。
HttP Server
不知道能不能跑得动…