<一> 所需工具
1: Kali-linux-2017
2: ettercap 0.8.2
3: web 服务器, 这里以 node 为例
<二> 原理
1: DNS劫持又称域名劫持,是指在劫持的网络范围内拦截域名解析的请求
2: 局域网劫持, 攻击者通过伪装成网关, 劫持受害者的网络请求, 将网络请求拦截到指定的服务器
<三> 步骤
01: 修改 errercap 的配置文件 => vim /etc/ettercap/etter.dns ( A和PTR 指向的地址一般相同 )
02: 用 node.js 书写自己的服务器并启动, 这里支持任何可以在局域网内访问的服务器
const http = require("http");
let server = http.createServer(function (req, res) {
res.end("<h1>HELLO</h1>");
}).listen("80", "192.168.3.36");
03: 启动 ettercap 图像化界面 => ettercap -G
04: 如果没有成功, 可以打开 ettercap的配置文件 => vim /etc/ettercap/etter.conf
06: 目前主流的浏览器都对 https 做了验证, 所以对于 https 协议的网站, 都会弹出警告界面
07: 即使用户勾选不在拦截, 继续访问, 在地址栏也会出现错误地址的警告
08: 解决以上问题, 攻击者也需要准备 https 协议的网站