把hosts塞进路由器实现那啥的。
路由器型号TP-Link TL-WR841ND v7
,刷的DD-WRT v24-sp2 (06/14/11) std
(SVN revision 17201)
固件。原来是为了学校上网认证的,现在宿舍换了个路由器这个就留在家里用了。正好ddwrt的操作自由度也比较高方便做这件事。
0x01
思路是把hosts文件放到路由器的jffs上,然后修改dnsmasq的配置文件从Hosts中解析。 首先还是应该去找一份hosts列表,这个一抓一大把没什么问题。
0x02
第二步该把hosts文件传到路由器了,首先用的SFTP试着上传,不过路由器似乎没有开启SFTP的功能,到官方wiki上查了一下,确实是没有sftp,wiki表示应该用scp。使用scp传到/jffs
,然而提示read only system
。于是又去查wiki,原来现在用的这个固件把jffs给去掉了。。想要用jffs只能写其他固件。
0x03
不过很快又有新的思路了,开机的时候从树莓派中获取hosts,然后再来进行操作。于是添加开机命令
wget -P /tmp/root http://192.168.1.104/hosts.txt
从树莓派中获取hosts.txt放到/tmp/root
中再进行下一步操作,这样就避免了jffs不能使用的问题,而且更新hosts的时候只要更新树莓派上的文件即可。
0x04
在web管理页面中添加dnsmasq设置选项
addn-hosts=/tmp/root/hosts.txt
这样就能从/tmp/root/hosts.txt
进行解析了
0x05
重启后进行测试,nslookup后发现返回的ip仍然是被污染过的 查了好久才发现,原来是hosts.txt的编码问题,修改完后再次nslookup查看已经没有问题了 再打开twitter,已经可以直接打开啦(>_<)