祖传引子
想低产博客学高数来着,奈何一边的爷爷总是大声外放微信上一些来源不明的消息.....我发现,他所阅读的不实消息均来自于一个叫做“战友集合”的微信小程序,怀着强烈的好奇心,我点开了这个小程序......
前方高能,监测到潜在的核聚变打击
这......我真的无话可说,UC小编您好好不在UC干活跑微信来干啥?!专门为老人放大的字体,这是典型的骗老人点击量和关注量的营销号,我曾经亲自看到爷爷郑重其事地点下了“在看”按钮......
用HTTPCanary
抓包,以及微信小程序详情页面的说明,我发现这个小程序主要使用的API的地址如下:
ydapi.heywoodsminiprogram.com moonlight.heywoodsminiprogram.com pushserver.heywoodsminiprogram.com abtest.heywoodsminiprogram.com goclick.heywoodsminiprogram.com adsystemapi.heywoodsminiprogram.com api.heywoodsminiprogram.com
怎么屏蔽向这些域名的请求?路由器部署防火墙?我家理由器配置没这么高,也没有OpenWRT固件可刷。我想起了大半年鸽掉的Bind 自建DNS博文...是时候折腾了!
部署过程实录
- 先安装Bind及其附属的软件:
yum install bind bind-utils
- 安装完成后,编辑配置文件:
vim /etc/named.conf
话说,这个软件很多配置文件都与named
有关,而不是bind
,这个好奇怪~ named.conf
配置如下:
在option
中加入或替换以下内容,其他保持不变:
listen-on port 53 { any; }; //监听53端口,允许任意设备联入 allow-query { any; }; //允许任意设备联入 forwarders{ //递归查询 8.8.8.8; }; recursion yes;
基本配置文件配置好了,我们再来自定义解析:编辑vim /etc/named.rfc1912.zones
,在最后加入:
zone "heywoodsminiprogram.com" IN { //根域名 type master; file "heywoodsminiprogram.com.zone";//自定义解析的文件存放地址 };
编辑heywoodsminiprogram.com.zone
配置文件:vim /var/named/heywoodsminiprogram.com.zone
,写入:
$TTL 604800 @ IN SOA ns1.heywoodsminiprogram.com. ns2.heywoodsminiprogram.com. ( 3 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL IN NS ns1.heywoodsminiprogram.com. IN NS ns2.heywoodsminiprogram.com. ns1.heywoodsminiprogram.com. IN A 127.0.0.1 ns2.heywoodsminiprogram.com. IN A 127.0.0.1 ydapi.heywoodsminiprogram.com. IN A 127.0.0.1 moonlight.heywoodsminiprogram.com. IN A 127.0.0.1 pushserver.heywoodsminiprogram.com. IN A 127.0.0.1 abtest.heywoodsminiprogram.com. IN A 127.0.0.1 goclick.heywoodsminiprogram.com. IN A 127.0.0.1 adsystemapi.heywoodsminiprogram.com. IN A 127.0.0.1 api.heywoodsminiprogram.com. IN A 127.0.0.1
全都给他解析到127.0.0.1,或者其他的保留地址,或被墙的地址,能访问就怪咯~
- 重启Bind:
service named restart
,在此之前可以先验证下配置文件正确性:named-checkconf
- 将Bind添加到开机启动:
systemctl enable named
大功告成!
解析结果:完全OK
用我们的刚刚搭建的服务器解析,可以看到,已经解析到127.0.0.1
,大成功!
设置好手机DNS,回到微信小程序,只能看到白屏,其他基本没有影响。
毕竟服务器在国外,解析慢怎么办?可以将路由器的DNS设置为我们自建的DNS,手机的DNS设为路由器提供的缓存,这样加载速度就基本不会受到太大影响了,最多第一次加载相对缓慢,而后面是没有影响的。