DNS方面的问题

本文介绍了判断DNS是否被挟持的方法,即通过在cmd中输入nslookup命令对比结果。着重解释了DNS劫持和DNS污染,包括其定义、症状,并举例说明,还阐述了两者区别及相应解决方法,如DNS劫持可换Google DNS,DNS污染可用DNSCrypt。

dns服务器被挟持了,那么将无法正常解析网站,说白了就是翻译器,dns等于是翻译器,如果听不懂你的话,那么将会翻译错误。那么如何自己的网络有没有被dns挟持呢?

接着在白框这里输入cmd点击确定,进入cmd后在里面输入nslookup的命令,看到得出了当前的dns地址,其中默认服务器是就是dns的名称,address就是dns的地址。

默认服务器:  public1.114dns.com
Address:  114.114.114.114

命令在后面加入4个8并且回车,回车后同样看到一个非权威的address,跟上面没有加入的4个8的命令对比,如果非权威地址一样,说明自己的dns没有被挟持,反之不一样,说明dns被挟持了。

劫持了修改然后

DNS 是 Domain Name Server 的意思,也就是域名解析服务的意思,本文着重解释下 DNS 污染与 DNS 劫持以及两者的区别。在这里小编还向大家推荐一个可以监控dns劫持和dns污染的工具,iis7网站监控工具,它可以全天24小时监控你的网站,一点网站出现异常会马上发送邮件通知你,及时避免损失。

1、DNS劫持:DNS Hijacking。就是通过劫持了DNS服务器,通过某些手段取得某域名的解析记录控制权,进而修改此域名的解析结果,导致对该域名的访问由原IP地址转入到修改后的指定IP,其结果就是对特定的网址不能访问或访问的是假网址,从而实现窃取资料或者破坏原有正常服务的目的。DNS劫持通过篡改DNS服务器上的数据返回给用户一个错误的查询结果来实现的。

2、DNS劫持症状:在某些地区的用户在成功连接宽带后,首次打开任何页面都指向ISP提供的“电信互联星空”、“网通黄页广告”等内容页面。还有就是曾经出现过用户访问Google域名的时候出现了百度的网站。这些都属于DNS劫持。

3、 举个例子易于理解:说到劫持,我们可能联想到一个坏蛋劫持了DNS服务器,拿着刀架在脖子上。这时候你问DNS服务器,博主帅吗?(发出请求)。DNS服务器听到了,他心里的答案是,好帅哦(返回正确ip地址)。由于坏蛋控制了他,并且对他做了修改。所以DNS只好不情愿的说,你真丑(错误的ip地址)。这个过程中,你和DNS服务器之间,一来一回,流程上没有任何问题,唯一的问题就是,DNS服务器告诉了你错误的ip地址。DNS也不想啊,但是有人控制了他的权限,或者修改了他的记录值等等。我们称为DNS劫持。类似我们使用网络的时候,明明访问的是普通网站,却突然跳到什么电信什么宣传页面一样。

1、DNS污染,又称为域名服务器缓存污染(DNS cache pollution)或者域名服务器快照侵害(DNS cache poisoning)。 DNS污染是指一些刻意制造或无意中制造出来的域名服务器分组,把域名指往不正确的IP地址。它是一种让一般用户由于得到虚假目标主机IP而不能与其通信的方法,是一种DNS缓存投毒攻击(DNS cache poisoning)。其工作方式是:由于通常的DNS查询没有任何认证机制,而且DNS查询通常基于的UDP是无连接不可靠的协议,因此DNS的查询非常容易被篡改,通过对UDP端口53上的DNS查询进行入侵检测,一经发现与关键词相匹配的请求则立即伪装成目标域名的解析服务器(NS,Name Server)给查询者返回虚假结果。DNS污染是发生在用户请求的第一步上,直接从协议上对用户的DNS请求进行干扰。

2、DNS污染症状:目前一些被禁止访问的网站很多就是通过DNS污染来实现的,例如YouTube、Facebook等网站。

3、 还是举个例子易于理解:这招是GFW常用的。你访问google.com 因为人家服务器在国外,你的DNS过去解析,肯定要走国际带宽的出口,然后就被GFW逮住了。因为DNS 走的是UDP协议,且UDP又没有什么校验机制,只管发送。所以这时候,GFW就假装成DNS服务器回应你了,而此时真正的请求可能正在被真正的DNS服务器处理,假的已经返回给你了,浏览器就选择了最快返回的那个地址去解析了。当然是一个不可用的地址啦。因为DNS 走的UDP协议,并且是53端口,所以这有多好发现也就不言而喻了。如果你强行让DNS走TCP协议,GFW 有办法让你连接重置,虽然污染不了你的DNS,但是你还是无法获得ip。也就是为什么有一种FQ方式就叫修改host 文件,修改后,域名不需要去DNS服务器请求了,直接在你的操作系统里就已经解析出了ip 地址。但是,GFW还是会定期封杀这些网站的ip地址,你的host就没用了。

区别:

1、DNS劫持——就是指用户访问一个被标记的地址时,DNS服务器故意将此地址指向一个错误的IP地址的行为。范例,网通、电信、铁通的某些用户有时候会发现自己打算访问一个地址,却被转向了各种推送广告等网站,这就是DNS劫持。你去解析一个不存在的域名的时候,DNS 本来应该告诉我们这个域名不存在,但是被劫持后 DNS 就会给我们解析出一个 IP。常见的情况就是电信 114 搜索。解决方法就是换成 Google DNS 就可以了解决了。

2、DNS污染——指的是用户访问一个地址,国内的服务器(非DNS)监控到用户访问的已经被标记地址时,服务器伪装成DNS服务器向用户发回错误的地址的行为。范例,访问Youtube、Facebook之类网站等出现的状况。你使用一个不存在的 IP (肯定不是 DNS )作为 DNS 去解析某个域名的时候,理应没有任何返回,但是却能返回一个错误 IP。为了证明是污染不是劫持,你再用这个不存在的 IP 去解析不存在的域名,这个时候你会发现没有任何返回,这就说明这个不存在的域名没有被污染。解决方法就是 DNSCrypt 什么的了。

 

### 排查和修复DNS无响应问题的方法 在遇到DNS服务器无响应的问题时,可以按照以下方法逐步排查并解决问题: #### 验证网络连接状态 在网络连接异常的情况下,应优先验证当前设备的网络连接情况。这可以通过检查网卡的状态以及尝试重新插拔网线或重启无线网络适配器来完成[^2]。 #### 修改DNS服务器地址 如果系统重启后仍然无法正常访问互联网,则建议手动更改DNS服务器地址为可靠的第三方DNS服务提供商,例如114.114.114.114或其他公共DNS服务器(如8.8.8.8)。具体操作步骤如下: ```plaintext 1. 打开控制面板 -> 网络和共享中心 -> 更改适配器设置; 2. 右键点击正在使用的网络连接,选择属性; 3. 选中“Internet 协议版本 4 (TCP/IPv4)”并点击属性; 4. 将首选DNS服务器更改为114.114.114.114,备用DNS服务器可设为8.8.8.8。 ``` #### 清除DNS缓存 清除本地计算机中的DNS缓存有助于解决因缓存过期或损坏而导致的DNS解析失败问题。可以在命令提示符下运行以下命令实现此目的: ```cmd ipconfig /flushdns ``` 该命令会清空Windows系统的DNS缓存记录[^1]。 #### 检查华为云环境下的特殊配置 对于使用华为云ECS实例的情况,需确认是否启用了内网DNS解析功能。默认情况下,这些实例会自动配置华为云提供的内网DNS服务器用于加速域名解析过程。然而,在某些特定场景下可能需要调整到外部DNS服务商以满足业务需求[^4]。 #### 路由器层面的诊断 当上述措施均未能有效改善状况时,还应当考虑是否存在来自家庭或企业级路由器方面的干扰因素。比如查看是否有指定主次DNS地址冲突现象发生;或者因为运营商线路质量不佳引起的数据包丢失率过高从而间接影响到了整个局域网内的所有终端设备正常使用互联网资源的能力等问题存在[^5]。 ```python import socket def test_dns_resolution(domain="www.google.com", nameserver="114.114.114.114"): resolver = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) query = b"\x00\x00\x01\x00\x00\x01\x00\x00\x00\x00\x03www\x06google\x03com\x00\x00\x01\x00\x01" try: resolver.sendto(query, (nameserver, 53)) response, _ = resolver.recvfrom(512) return True if response else False except Exception as e: print(f"Error occurred while testing DNS resolution: {e}") return False finally: resolver.close() test_result = test_dns_resolution() print("DNS Resolution Test Passed:", test_result) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值