好贷网好贷款

dns 问题

发布时间:2016-12-5 12:40:48 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"dns 问题",主要涉及到dns 问题方面的内容,对于dns 问题感兴趣的同学可以参考一下。

------------------------- 什么是 DNS ?  ------------------------- DNS是域名查询系统 访问一个网站时, 网页瀏览器首先查询一下这个域名对应的IP是什么, DNS返回一个IP后,瀏览器才向那个IP发出请求。 根服务器 全球有386台根服务器,被编号为A到M共13个标号。中国北京有两台编号为F的根服务器镜像,编号为I、J、L的各一,共5台镜像,在香港有A、F、I、J、L五台根服务器镜像,全部借由任播(Anycast)技术,所有编号相同的根服务器都是同一个IP,386台根服务器总共只使用了13个IP. ------------------------- DNS 域名解析? ------------------------ 权威应答 whois信息里指定的DNS服务器是权威服务器,返回的值就是“权威应答”。 非权威应答(Non-authoritative answer) 如果我们的上一级DNS服务器里缓存了DNS查询结果,DNS服务器就会马上返回一个IP,这时得到的应答就是非权威应答, 域名解析四步: 第一步 先是找到最近的根域名,           返回 . xxxx IN NS h.root-servers.net. 这样的结果 第二步 根域名返回gTLD地址(通用顶级域), 返回  com. xxxx IN NS f.gtld-servers.net. 这样的结果 第三步 gTLD返回NS地址(name server地址)和IP,   返回 baidu.com. xxxx IN NS ns2.baidu.com. 这样的结果 第四步 name server返回域名的真实IP,   返回 baidu.com. xxx IN A 220.181.111.85 这样的结果 1. 首先根据输入的网址,提取出域名 2. 查询Hosts文件 -如果在系统中配置了Hosts 文件,先查询 Hosts里面有无对应的记录。 --如果有,直接就可以拿到该记录中的IP地址,域名解析的过程就结束了。 --如果 Hosts 里面没有这个别名,那么电脑会看你有没有设置域名服务器(DNS服务器)。 3. 查询DNS服务器 -如果你的系统没有设置域名服务器,那电脑就没辙了,浏览器直接会报错,说网站的域名无法解析。过程就结束了。 -如果你设置过“域名服务器”,那么电脑会向这个域名服务器发送一个域名查询(DNS query)的请求,然后等候域名服务器的回应。 --如果域名服务器始终没有回应(比如域名服务器挂了,或域名服务器的IP填错了,或请求被 GFW 拦截了),那么电脑还是没辙(浏览器会报错)。 --如果域名服务器回应了,那么你的电脑就可以根据域名服务器的应答信息,得到该域名的 IP地址。之后浏览器就会向这个IP地址对应的Web端口发送HTTP请求。 ★ 域名的缓存 域名服务器,技术术语叫“递归域名服务器”。   “递归服务器”的内部通常会有一个 DNS记录 的缓存——这个缓存是为了提高查询效率的。   当某台电脑向递归服务器发起域名查询时,递归服务器首先看自己的缓存中有没有该域名的记录,如果有,直接就回复该记录给查询的电脑。       万一对方想要查询的域名没找到,咋办捏?  这时候就要进行缓存的同步。      ★ 缓存的同步 1. 对方查询某个域名,“递归服务器”发现自己的缓存中没有 2. “递归服务器”会先去找“根域名服务器”帮忙,“根服务器”会告诉“递归服务器”说: 这个域名属于 com 这个分支之下,你去找 com 这个域名的“权威服务器”,这个权威服务器的 IP地址 是 xxx。 3. 然后“递归服务器”根据拿到的这个 xxx地址,又去找“com 域名的权威服务器”。“com 域名的权威服务器”告诉它: 你应该去找“blogspot.com 域名的权威服务器”,这个权威服务器的 IP地址 是 yyy 4. 然后“递归服务器”又屁颠屁颠地去找“blogspot.com 域名的权威服务器”。这时候“blogspot.com 域名的权威服务器”才会告诉它,这个域名的 IP地址 到底是多少。 ★啥是“域名劫持”?    域名服务器上都会保存一大堆的域名记录(每条记录包含“域名”和“IP地址”)。当收到域名查询的时候,域名服务器会从这堆记录中找到对方想要的,然后回应给对方。    如果域名服务器上的某条记录被【人为修改】了(改成错的),那么一旦要查询这条记录,得到的就是错误的结果。这种情况称之为“域名劫持”。 解决: 把域名解析服务器更换为国外的来解决问题 Google 提供的两个域名服务器,IP地址 分别是 8.8.8.8 和 8.8.4.4  ★啥是“域名污染”? cache poisoning (封锁一些域名)    “域名污染”的原理,简单说来是这样滴:当你的电脑向域名服务器发送了“域名查询”的请求,然后域名服务器把回应发送给你的电脑,这之间是有一个时间差的。    如果某个攻击者能够在域名服务器的“DNS应答”还没有到达你的电脑之前,先伪造一个错误的“DNS应答”发给你电脑。    那么你的电脑收到的就是错误的信息,并得到一个错误的 IP地址。 -------------------------- DNS查询工具 -------------------------- nslookup  nslookup是一个能够查询互联网域名服务器信息的程序。 【nslookup的两种模式】 在“交互模式”下,用户可以向域名服务器查询各类主机、域名的信息,或者输出域名中的主机列表。 在“非交互模式”下,用户可以针对一个主机或域名仅仅获取特定的名称或所需信息。 【如何进入交互模式?】 直接输入nslookup命令,不加任何参数,则直接进入交互模式,此时nslookup会连接到默认的域名服务器(即/etc/resolv.conf的第一个dns地址)。 【如何进入非交互模式?】 直接在nslookup命令后加上所要查询的IP或主机名,那么就进入了非交互模式。 dig 基本命理格式 dig @dnsserver name querytype 当直接使用dig命令,不加任何参数和选项时,dig会向默认的上连DNS服务器查询“.”(根域)的NS记录。 如果你设置的dnsserver是一个域名,那么dig会首先通过默认的上连DNS服务器去查询对应的IP地址,然后再以设置的dnsserver为上连DNS服务器。 [email protected][email protected]DNS服务器。 【dig特有的查询选项(query option)】 dig非常著名的一个查询选项就是+trace,当使用这个查询选项后,dig会从根域查询一直跟踪直到查询到最终结果,并将整个过程信息输出出来。 QUESTION SECTION:查询的内容 ANSWER SECTION:相应的内容,一般会得到至少一条A记录,否则就还没定义 AUTHORITY SECTION:授权信息 ADDITIONAL SECTION:每个授权服务器的IP地址 SERVER:查询的dns服务器,可能会被缓存 nslookup  set q=ptr 查询 PTR 记录(反向 DNS查询,根据 IP查域名)  输入server 192.5.5.241  (h.root-servers.net 的 ip)     确认自己是否处在DNS劫持的环境中 ?       nslookup 查找一个不存在或不稳定的域名进行一下网络诊断: DNS服务器应该告诉我们这个域名不存在: server can't find www.xxxxxxxxxxx.com: NXDOMAIN 确认自己是否处在DNS污染的环境中 ? nslookup www.xxx.com 123.123.123.123 DNS劫持是由国内的域名服务器完成的,所以我们把域名服务器换成国外的就可以解决问题; DNS污染是由系统完成的,所以即使更换了域名服务器,系统仍旧可以发送伪造的域名解析结果替换正确的解析结果。 通过使用一个不存在的国外IP作为我们的域名服务器进行诊断究竟是DNS劫持还是DNS污染。 IP封锁 服务器防火墙IP过滤和服务器宕机

上一篇:【PHP开源产品】Ecshop的商品筛选功能实现分析之一(主要对category.php进行分析)
下一篇:

相关文章

关键词: dns 问题

相关评论