使用maradns搭建简易dns服务器(本地实现dns劫持)
需求描述
本地搭建服务器,并且使用啦一个本地域名 test.loc 通过host解析到本地服务器,开发一个网页后想让手机直接访问test.loc来打开电脑上的网站,想实现这样的功能首先得让手机访问这个地址解析出来的地址要指定自己电脑的ip。这肯定得用dns解析。于是解决方法就有啦,在本地搭建一个dns服务器,把手机的dns设置成本机ip,前提是手机和电脑在同一个局域网
搭建dns服务器
dns服务器如果直接在win2008等服务器系统上肯定就方便啦,本来就有这个功能直接安装就行啦,但是如果本地系统是win7或win10的话就为啦调试用而装一个dns服务就有些大材小用啦,在这里可以使用maradns这个小软件来实现简易的dns功能
下载地址 https://maradns.samiam.org/download.html
maradns配置
下载完成后解压到一个目录里,先执行下 mkSecretTxt.exe 会在目录里生成一个 mararc 文件,打开这个文件输入下面的内容
# "10.1.2.3,10.1.2.4,127.0.0.1",多个地址分隔 # ipv4_bind_addresses = "192.168.11.131,127.0.0.1" ipv4_bind_addresses = "192.168.0.166" hide_disclaimer = "YES" timestamp_type = 2 random_seed_file = "secret.txt" csv2 = {} csv2["dbg."] = "dbg.txt" csv2["loc."] = "loc.txt" upstream_servers = {} upstream_servers["."] = "114.114.114.114, 8.8.8.8"
注意上面第一行是本机的ip地址,不能只写成 127.0.0.1 一直到 csv2 = {} 之前的代码应该是自动生成的,后面的添加自己要解析的域名 csv2["dbg."] 代表把 dbg 后缀的域名使用dbg.txt中的规则来解析到对应的ip,dbg.txt是区域域名文件配置,具体的使用方法可以查看文档 http://maradns.samiam.org/tutorial/man.csv2.html
批量解析
dbg.txt直接在当前目录创建一个文件就可以啦,在里面输入下面规则,配置文件中%代表区域域名,也就是上面maradns中设置的 csv3["dbg."]中的dbg这个名字
*.% 192.168.0.166 ~
代表把所有的dbg结尾的域名都解析到192.168.0.166这个ip,注意格式不要填错啦,也可以指定域名解析到对应的ip,如下解析dev.dbg这个域名到192.168.0.167
dev.% 192.168.0.167 ~
解析(劫持)单个域名
test.dev 192.168.0.167 ~
最后面upstream_servers是配置dns递归,对于找不到的域名,如 www.baidu.com 直接使用这里的dns服务器也解析,当然这个也可以不设置,因为软件里有默认的,设置好之后运行目录里的 run_maradns.bat 会出现一个命令行窗口,不要关闭!
设置手机dns
最后打开手机wifi设置->ip设置->静态,把dns设置成192.168.0.166,之后打开手机浏览器打开设置的本机域名就可以访问啦,