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 ...
随机推荐
- c# 图片转流 流转文件
//----引入必要的命名空间 using System.IO; using System.Drawing.Imaging; //----代码部分----// private byte[] photo ...
- 微信小程序(2)——新建页面
在当前版本中,我们可以快速的新建并且新建页面. 在app.json文件中输入 { "pages":[ "pages/index/index" ] } 输入&qu ...
- Altera的几个常用的Synthesis attributes(转载)
各厂商综合工具,对HDL综合时都定义了一些综合属性这些属性可指定a declaration,a module item,a statement, or a port connection 不同的综合方 ...
- 使用C#和Java发送邮件(转载)
using System.Net.Mail; using System.Net; public class EmailEntity { private MailMessage mm; /// < ...
- matlab rand, randn, randi
rand 生成均匀分布的伪随机数.分布在(0~1)之间 randn 生成标准正态分布的伪随机数(均值为0,方差为1) randi 生成均匀分布的伪随机整数
- spring 自动扫描组件
在Spring2.5中,有4种类型的组件自动扫描注释类型 @Component – 指示自动扫描组件. @Repository – 表示在持久层DAO组件. @Service – 表示在业务层服务组件 ...
- 使用模块化编译缩小 apk 体积
libcocos2dlua.so编译出来有11M多,其中包含了很多不需要的模块,模块化编译,把不需要用到的模块弄成0,体积就小了. 如: 修改D:\codeide\sDiShu2formm\frame ...
- 关于SQL的几道小题详解
关于SQL的几道小题详解 当我们拿到题目的时候,并不是急于作答,那样会得不偿失的,而是分析思路,采用什么方法,达到什么目的,还要思考有没有简单的方法或者通用的方法等等,这样才会达到以一当十的效果,这样 ...
- 安装 LAMP
卸载 并安装 MYSQL rpm -qa | grep mysql rpm -e mysql-libs--.el6.x86_64 -.el6.x86_64 cd /usr/local/src/ wge ...
- PostgreSQL编译安装
PostgreSQL编译安装 安装语言包 ### PostgreSQL 初始化过程中,会读取操作系统字符编码, ### 若程序需要使用zh_CN.utf-8字符编码,需要在PostgreSQL 初始化 ...