信息化工作人员必备常识10——DNS劫持【原理与案例讲解】

前言

信息化相关的工作人员,无论你是开发人员、产品经理、CIO领导,你只要是在做信息化相关的工作,有些基础知识和操作,你就必须要会,不然工作中被别人发现你不会,那真的是贻笑大方了。

就比如说:部署的系统进不去了,领导来问你,你又去电话问供应商,这时候供应商来一句用你的电脑ping一下、telnet一下,看看是不是网络问题,你愣住了不知道该怎么弄,这不是丢脸丢大了。(虽然一般来说你是甲方你不会也可以骂乙方,谁让你是金主爸爸呢~)

telnet命令&ping命令——信息化工作人员必备常识1
telnet命令——信息化工作人员必备常识2——telnet详解
信息化工作人员必备常识3——nslookup命令【用来诊断域名(DNS) 基础结构的信息以及用来查看域名和IP的对应关系】
信息化工作人员必备常识4——ping命令详解【不间断发包&自定义发包的大小&自定义发包次数】
信息化工作人员必备常识5——ipconfig命令详解【显示当前的TCP/IP配置】
信息化工作人员必备常识6——域名详解【顶级域名&一级域名&二级域名&三级域名】
信息化工作人员必备常识7——DNS【域名解析详解】
信息化工作人员必备常识8——DNS缓存【查看缓存与清理dns缓存】
信息化工作人员必备常识9——DNS缓存【hosts文件详解&hosts文件修改】

信息化人员必备常识回顾(不想看回顾的直接往下滑哦~)

ping

主要是测试网络的连通性,例如对内网和外网的测试,确认用户是不是因为网络而进不去网站的:
常用语法:

ping IP地址;
ping 域名;

telnet

Telnet命令是一种用于远程登录到另一台计算机的网络协议,telnet 用于远程管理连接主机。同时也是测试目标机器的TCP端口是否开放。
常用语法:

telnet IP 端口
telnet 域名 端口

如果端口关闭或者无法连接,则显示不能打开到主机的链接,链接失败;
端口打开的情况下,链接成功,则进入telnet页面(全黑的),证明端口可用


nslookup命令

nslookup 主要用来诊断域名系统 (DNS) 基础结构的信息
也就是查询DNS的记录,查询域名解析是否正常,在网络故障时用来诊断网络问题。或者,最常用的就是查一下这个域名的ip地址是多少。

nslookup baidu.com   //采用默认的DNS服务器查询
nslookup baidu.com 114.114.114.114   //采用指定的DNS服务器查询
  • 每个DNS服务器查询到的IP可能不相同(因为大网站在多地都有机房,一般是就近获取,所以会不一样)
  • 可能查询出来的记录会出现多个
  • 对于被污染的域名,查询的结果是不准确的

ipconfig命令

ipconfig可用于显示系统的TCP/IP网络配置值,并刷新动态主机配置协议 (DHCP) 和域名系统 (DNS) 设置。通常是用来检验人工配置的TCP/IP设置是否正确。当我们所在的局域网使用了DHCP服务器,我们就很可能经常用ipconfig查看客户端的IP地址,以及其它的一些高级功能。

ipconfig
ipconfig /all
.....

域名

以www.baidu.com为例
com为一级域名(即顶级域名);
baidu是二级域名;
www是三级域名。

每一个相同顶级域名中二级域名注册都是独一无二的不可重复的
不同顶级域名中的二级域名可以是相同的

DNS

DNS是域名系统(Domain Name System)的简称,作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP地址
域名是为了方便记忆而专门建立的一套地址转换系统,要让一台服务器访问互联网,最终还必须通过IP地址来实现,域名解析就是将域名重新转换为IP地址的过程。
一般一个域名对应一个IP地址一个IP地址可以对应多个域名
多个域名可以同时被解析到一个IP地址
域名解析需要由专门的域名解析服务器(DNS)来完成。
例如:www.taobao.com 实际解析到的ip就是——>140.205.220.96

DNS缓存查看与清理

DNS缓存可以提高查询效率,但是当域名和IP地址映射关系发生变化时,或者缓存的IP地址对应的服务器故障时,使用DNS缓存就不能正常访问网站了,因此DNS缓存默认也是有时间限制的。
在“CMD”窗口中,输入DNS缓存清理命令

ipconfig/flushdns

查看当前电脑有哪些DNS缓存

ipconfig /displaydns

DNS——本地hosts缓存文件

hosts是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,无需进行下面的解析查询过程,因此大大节省了查询时间。如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。
修改HOSTS法就是把HOSTS文件中的DNS解析对应关系进行修改,从而实现正确解析的目的。因为在本地计算机访问某域名时会首先查看本地系统中的HOSTS文件
hosts文件内语法格式:

127.0.0.1 xxx.com 
# ip地址 空格  域名

DNS劫持

日常生活中,偶尔会遇到打开百度网站却跳转到了另一个广告网站(yellow网这种情况特别多,相信大家都有这种经历~)
其实这个就是DNS劫持,也就是把目标网站域名解析到错误的IP地址上
这时可以重新把DNS地址设置成网络运营商提供的IP地址,或者设置成公共DNS服务器IP地址,使用权威的DNS地址。就像你买衣服一样的,去商场买名牌,尽量不去买质量和服务都不靠谱的地摊货。

DNS劫持原理

①DNS的解析决定的是我们的域名将解析到哪一个IP地址的记录,是基于UDP协议的一种应用层协议。这种攻击的前提是攻击者掌控了你的本地DNS服务器

②如果攻击者劫持了你的DNS服务器,通过某些手段取得某域名的解析记录控制权,进而修改此域名的解析结果,导致用户对该域名地址进行访问的时候,由原来的IP地址转入到修改后的IP地址。结果就是让正确的网址不能解析或者是被解析到另一个网址的IP,实现获取用户资料或者破坏原有网址正常服务的目的。
在这里插入图片描述
由于DNS劫持是在DNS服务器上,将请求的域名正确的对应IP给换成错误的IP地址,然后再返回给你,所以实际只能影响访问的那个域名,不会影响其他的域名。而且如果你直接访问正确的IP地址,不用域名访问,也是能正常进入的。
在这里插入图片描述

注意,不是说DNS劫持都是坏蛋干的,因为一般而言,用户上网的DNS服务器都是运营商分配的,所以在这个节点上,运营商可以做一些事情,比如,你去访问www.a.com,正常DNS应该返回10.0.0.1,而运营商劫持后,会返回一个运营商的中间服务器IP,访问该服务器会一致性的返回302(暂时重定向),让用户浏览器跳转到预处理好的带广告的网页,在该网页中再通过iframe打开用户原先访问的地址。——万恶的资本主义!!

DNS解析域名的知识在实际工作中的应用

案例一【hosts缓存导致网页访问指向错误】

例如,公司里某用户报告自己在浏览器上打开访问公司某内网系统页面显示的为旧版的页面,经过运维人员检查有以下情况:


1.从浏览器上输入域名www.abc.com的地址,访问的页面确实是旧页面,清除浏览器缓存情况依旧。


2.使用nslookup命令查询,结果解析得到的地址为新版页面的IP地址:1.1.1.1

nslookup www.abc.com

3.使用ping命令查询,结果ping得到的地址为旧版页面的IP地址:2.2.2.2

ping www.abc.com

根据上述情况,我们能分析得出:

  • www.abc.com这个网址,正确的版本对应的ip地址是 1.1.1.1
  • 实际用户访问www.abc.com这个网址,进入的则是2.2.2.2

所以,很可能是电脑本地的缓存有问题(因为ping会优先取本地缓存的DNS对应关系)

最终,运维人员在检查该同事的系统本地host文件后,发现HOST文件有一条记录
www.abc.com 2.2.2.2,
因为hosts中配置的域名ip对应关系优先级高,所以访问时直接就使用了这个对应关系,导致一直访问的是旧网页。
删除此条目后通过浏览器访问正常。

准确来说,这个案例一,并不算是DNS劫持,因为DNS劫持是通过修改DNS服务器中的DNS记录进而返回错误的ip地址。而不是修改本地DNS缓存。这里只是作为案例来展示相关知识的应用。DNS缓存相关的问题应该归类为【DNS污染】,相关博客后续也会发布~


案例二——【DNS服务器地址错误】

某用户报告自己在工位的浏览器上打开访问公司某内网系统页面无法打开,经过运维人员检查有以下情况:


1.从浏览器上输入域名www.abc.com的地址,显示无法访问,清除浏览器缓存情况依旧。


2.使用ping命令查询,结果解析得到的地址为一个公网地址的IP地址:1.1.1.1

ping www.abc.com

3.使用nslookup命令查询,结果解析得到的地址也为:1.1.1.1

nslookup www.abc.com

4.询问系统管理员得知,此系统内网地址为2.2.2.2外网地址为1.1.1.1且该网站页面只在内网能够打开


根据上述情况,我们能分析得出:

  • www.abc.com这个网址,只有使用公司内网才能成功进入,外网无法进入
  • 用户电脑解析得到的ip地址是外网的

所以,很可能是DNS解析的时候关联错误

运维人员在检查用户电脑的网卡配置发现,用户电脑的DNS服务器被手动指定为外网DNS服务器地址。只能解析得到外网地址1.1.1.1,而无法解析得到内网系统的2.2.2.2,所以自然就打不开了。
运维人员修改其DNS服务器为内网DNS后,页面即可正常打开。

查看DNS服务器配置的操作步骤

在这里插入图片描述
在这里插入图片描述


推销一下自己~:

博主 DTcode7 带您 溺亖在知识的海洋里,嘿嘿嘿.~
🐒 个人主页—— DTcode7 的博客 🐒
《微信小程序相关博客》
《Vue相关博客》
《前端开发习惯与小技巧相关博客》
《AIGC相关博客》
《photoshop相关博客》
😚 吾辈才疏学浅,摹写之作,恐有瑕疵。望诸君海涵赐教。望轻喷,嘤嘤嘤 🙈
🕍 愿斯文对汝有所裨益,纵其简陋未及渊博,亦足以略尽绵薄之力。倘若尚存阙漏,敬请不吝斧正,俾便精进!


  • 29
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DTcode7

客官,赏个铜板吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值