RouterOS DNS劫持(转)
- 什么是DNS劫持
DNS劫持就是通过技术手段,来控制用户解析域名的IP地址。举个例子,正常解析域名www.awolf.net时应该返回IP:64.64.30.60;但现在通过DNS劫持,使域名www.awolf.net解析返回IP:1.1.1.1,以达到控制www.awolf.net该域名,进而控制访问www.awolf.net所打开页面。这就是DNS劫持。
- 为什么要做DNS劫持
有了DNS劫持,我们就可以随意控制路由器下游用户的域名解析,从而达到限制、强制访问某些网站;或者在用户访问不存在的网站时给予友好的提示;或者把IIS上多个站点用主机头区分……
- 如何在Ros上做DNS劫持
在ROS上,可以通过对53端口的UDP访问进行dst-nat,to-address指向我们自己的dns服务器或如果Ros开启DNS服务,也可以指向Ros本身。
WinBox设置:
本例中使用ROS自带的DNS服务,ROS IP为192.168.27.254。
首先开启ROS的DNS服务:Winbox中选IP->DNS,在Static页面中点Settings,按下图设置,其中202.96.64.68和202.96.69.38按你所在地区和ISP的DNS填写。

确定后在Winbox中选IP->Firewall,选NAT页面,点红色加号“+”,按下图设置:
Chian=dstnat,Protocol=UDP,Dst.Port=53,Action=dst-nat,To Address=192.168.27


命令行设置:
/ip firewall nat
add action=dst-nat chain=dstnat disabled=no dst-address-type=!local dst-port=53 protocol=tcp to-addresses=192.168.0.1 to-ports=53
add action=dst-nat chain=dstnat disabled=no dst-address-type=!local dst-port=53 protocol=udp to-addresses=192.168.0.1 to-ports=53
/ip dns
set allow-remote-requests=yes cache-max-ttl=1w cache-size=4096KiB max-udp-packet-size=512 primary-dns=202.96.64.68 secondary-dns=202.96.69.38
设置成功的Firewall->Connections效果图:

可以看到去往202.96.64.68的DNS请求都被192.168.27.254回应了。
注意:如果要使用内网服务器做域名解析服务,必须在以上DNS劫持设置规则之上再添加一条允许该服务器访问外网DNS的规则,否则连内网DNS服务器的解析请求都被劫持了,就无法正常进行域名解析了。
例如内网DNS服务器IP是192.168.27.1,则需要在DNS劫持规则之上添加如下规则:
/ip firewall nat
add action=accept chain=dstnat disabled=no dst-port=53 protocol=udp src-address=192.168.27.1

方法2----------------------------------------------------------------------------------------------------------------------------------------------
DNS重定向
如果客户端没有自动获取或者设置RouterOS网关作为DNS,可以将内网向外的所有DNS请求都通过dst-nat重定向到内网,即强制所有用户向外网的dns请求都到本地网关解析。
进入ip firewall nat,在该菜单下配置dst-nat规则,添加一条chain=dstnat,protocol=udp,port=53

设置action参数为redirect,指定到本地的53端口

------------------------------------自动清理dns Cache 的脚本

由于我们是使用的盗版,ROS在这块有个BUG可是防盗版的原因吧,ROS缓存数过多就会溢出所以我们要做个自动清理的脚本。
RouterOS DNS劫持(转)的更多相关文章
- RouterOS DNS劫持 -- A记录
通常我们使用RouterOS的DNS主要是用于实现DNS缓存功能,即由RouterOS实现DNS服务器解析功能,除了这个功能,RouterOS可以实现对内网域名解析劫持,即实现路由网关的A记录查询. ...
- openwrt-智能路由器hack技术(1)---"DNS劫持"
openwrt-智能路由器hack技术(1)---"DNS劫持" 1 导读 PS:之前写的一个文章,现在发现结构内容排版不是太好,导致阅读体验太差,影响传播和SEO,所以现在整 ...
- DNS劫持解决方法
刚在家上网,发自己的浏览器竟然还会弹出页面广告(我浏览器装了屏蔽广告的浏览器应用,理论上就不会出现什么弹出来的广告). 于是自己仔细研究了下,发现在易迅的页面竟然嵌套了一个iframe,首先易迅肯定不 ...
- DNS劫持和DNS污染的区别
我们知道,某些网络运营商为了某些目的,对DNS进行了某些操作,导致使用ISP的正常上网设置无法通过域名取得正确的IP地址.常用的手段有:DNS劫持和DNS污染. 什么是DNS劫持 DNS劫持就是通过劫 ...
- DNS劫持
忽然发现我最喜欢的chrome 一直有广告,好些论坛都有大量的广告,原以为是重了什么插件了,找了也没发现,有可能是DNS劫持. 打开路由器,找到 dns 设置里面把里面的全部去掉.然后把 192.16 ...
- 【HTTP劫持和DNS劫持】腾讯的实际业务分析
简单介绍一下HTTP劫持和DNS劫持的概念,也就是运营商通过某些方式篡改了用户正常访问的网页,插入广告或者其他一些杂七杂八的东西. 首先对运营商的劫持行为做一些分析,他们的目的无非 ...
- 无线安全: 通过伪AP进行DHCP+DNS劫持的钓鱼攻击
有了之前学习802.11的数据帧格式.芯片硬件参数学习的基础后,我们接下来继续学习无线安全中黑客是怎样进行流量劫持攻击的 相关学习资料 http://www.freebuf.com/articles/ ...
- 通过开源程序同时解决DNS劫持和DNS污染的问题
我们知道,某些网络运营商为了某些目的,对DNS进行了某些操作,导致使用ISP的正常上网设置无法通过域名取得正确的IP地址.常用的手段有:DNS劫持和DNS污染.关于DNS劫持和DNS污染的区别,请查找 ...
- 关于全站https必要性http流量劫持、dns劫持等相关技术
关于全站https必要性http流量劫持.dns劫持等相关技术 微信已经要求微信支付,申请退款功能必须12月7号之前必须使用https证书了(其他目前为建议使用https),IOS也是2017年1月1 ...
随机推荐
- 用firefox获取html页面元素的Xpath
Xpath在分析网页尤其是采集固定格式数据时,非常有用,且比正则表达式和首尾截取式更加简便.准确! 工具/原料 FireFox FireBug XpathChecker UserAgentSwit ...
- 《selenium2 python 自动化测试实战》(3)——操作测试对象
上一节我们说了如何定位元素,定位到元素以后就涉及到对元素的操作了,webdriver中常用的操作元素的方法有: clear ——用于清除输入框的默认内容 send_keys ——用于在一个输入框里 ...
- java 线程池--ExecutorService
一 Java通过Executors提供四种线程池,分别为: newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程. new ...
- maven docker plugin 常见问题解决
1. maven 项目必须使用小写,不然会一直有500 的错误 500: HTTP 500InternalServerError 2. docker server 连接数超了 Fail ...
- filter添加水印
1filter写法 先定义自己的responseWrapper chain.doFilter(request,responseWrapper); responseWrapper来输出 package ...
- ecmall2.3.0 前后台样式等无效,导致前台页面显示不正常问题解决
问题一:按照安装手册安装及数据初始化后,前后台中文均出现乱码 解决方法:在upload/index.php 和 upload/admin/index.php 头上加上header("Cont ...
- MyEclipse自动生成Ant Build.xm
关于MyEclipse 自动生成 Ant Build.xml 配置文件,生成的方法很隐蔽,是自己无意中找到的.选择你要生成Build.xml文件的项目,右键. Export-> General ...
- ubuntu64,ndk-r9 编译 ffmpeg 2.1.1的config文件
#!/bin/bash NDK_ROOT=/home/wjh/fox/android-ndk-r9c/ PREBUILT=${NDK_ROOT}toolchains/arm-linux-android ...
- struts2学习(7)值栈简介与OGNL引入
一.值栈简介: 二.OGNL引入: com.cy.action.HelloAction.java: package com.cy.action; import java.util.Map; impor ...
- scrapy_redis 实现多进程配置部分代码
# 启用Redis调度存储请求队列SCHEDULER = "scrapy_redis.scheduler.Scheduler"# 确保所有的爬虫通过Redis去重DUPEFILTE ...