一、域名系统 DNS(domain name system)
域名系统以分布式数据库的形式将将域名和IP地址相互映射,DNS属于应用层,是互联网中一个非常重要的协议。DNS是用来解析域名的,有了DNS,我们就不用记住一串IP地址,有相对好记的域名就可以对服务器进行访问,即使服务器更换了IP地址,我们依旧可以通过域名访问该服务器,这样能够使我们更方便地访问互联网。
二、DNS工作原理
关于DNS工作原理的具体内容,可参与下面链接:
http://blog.csdn.net/yipiankongbai/article/details/25031461
要注意的是域名解析过程有分两种,一种是递归查询,一种是迭代查询。
递归查询:如果主机所询问的本地域名服务器不知道被查询的域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其他根域名服务器继续发出查询请求报文,而不是让主机自己进行下一步查询。
迭代查询:当根域名服务器接到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地服务器,下一步应该向哪一个域名服务器进行查询。
三、DNS欺骗
DNS欺骗是一种中间人攻击形式,它是攻击者冒充域名服务器的一种欺骗行为,主要用于向主机提供错误DNS信息。当用户尝试浏览网页时,例如IP地址为xxx.xx.xx.xx,网址为www.abc.com,而实际上登录的却是IP地址为yyy.yy.yy.yy上的www.xyz.com,用户上网就只能看到攻击者的主页,而不是用户想要取得的网站的主页了。DNS欺骗其实并不是真的黑掉了对方的网站,而是冒名顶替、招摇撞骗罢了。
四、ettercap 安装
由于我是在另一台电脑上安装的,就没有一步步截图下来,直接文字描述。
下载ettercap: http://ettercap.github.io/ettercap/downloads.html
解压后进入该文件夹的bundled_deps,里面包含了四个ettercap的依赖包。分别进入check、libnet、curl、luajit文件夹进行解压,然后分别安装。check、libnet、curl的安装步骤是./configure-make-sudo make install-sudo make clean,luajit则解压后直接进行make-sudo makeinstall-sudo make clean。
安装ettercap的步骤
cd ettercap-0.8.8
mkdir build
cd build
cmake ../
接下来会碰到几个问题,依次如下解决:
1. could not find Curses/ sudo apt-get install libncurses5-dev
2. could not find GTK2/ sudo apt-get install gnome-core-devel
3. could not find BISON/ sudo apt-get install bison
4. could not find FLEX/ sudo apt-get install flex
cmake成功之后进行如下操作:
make
make install
验证是否安装成功:ettercap --help
五、DNS欺骗实战