把hosts塞进路由器

把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,已经可以直接打开啦(>_<)

Show Comments