如有更新及改动请参考我的博客原文

https://alvincr.com/2021/01/dns%e7%9b%b8%e5%85%b3%e7%9f%a5%e8%af%86%e4%b8%aa%e4%ba%ba%e6%95%b4%e7%90%86%ef%bc%88dns%e5%8a%ab%e6%8c%81%e5%8f%8a%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88%ef%bc%89/

1 基础知识:

1 基础常识

1.1 DNS

DNS就像是一个电话本,服务器相当于管理人员,当你要打电话给alvincr.com的时候,你需要向管理人员(服务器)要我的电话号码(IP地址),而你提供的消息是我要找alvincr.com这个人(域名),服务器将根据域名告诉你alvincr.com的IP地址

DNS(Domain Name Server,域名服务器)是进行域名(domain name)和与之相对应的IP地址 (IP address)转换的服务器。DNS中保存了一张域名(domain name)和与之相对应的IP地址 (IP address)的表,以解析消息的域名。 域名是Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。域名是由一串用点分隔的名字组成的,通常包含组织名,而且始终包括两到三个字母的后缀,以指明组织的类型或该域所在的国家或地区。

——来自百度百科

1.2 常见数据类型

DNS数据库中存储的最常见记录类型包括:授权开始(SOA),IP地址(A和AAAA),SMTP 邮件交换器(MX),名称服务器(NS),反向DNS查找(PTR)的指针,和域名别名(CNAME)。

——翻译自wiki百科

附:

SOA-:一个规范记录的开始(简称SOA记录)是一类的资源记录在域名系统包含有关区行政信息,尤其是关于(DNS)区域传送。

A地址:返回一个32位的IPv4地址,最常用于将主机名映射到主机的IP地址。

AAAA地址:返回一个128位的IPv6地址,最常用于将主机名映射到主机的IP地址。

反向PTR指针:反向DNS查找或反向DNS解析(rDNS)是域名系统(DNS)的查询技术,用于确定与IP地址关联的域名–与通常的“正向” DNS查找反向域名的IP地址,通过此方法可用于尝试识别发起者的域名以进行跟踪。(我对反向PTR指针蛮感兴趣的,下次想起来的话单独查找相关资料写篇文章)

CNAME:可以将一个域名(别名)映射到另一个(规范名称)的域名系统(DNS)资源记录,比如我想将en.alvincr.com映射到alvincr.com,那么我就可以设置CNAME转换到alvincr.com,但是CNAME记录必须始终指向另一个域名,永远不要直接指向IP地址。

1.3 域名类型

国际顶级域名iTDs(international top-level domain-names):这是使用最早也最广泛的域名。例如表示工商企业的 .com .top,表示网络提供商的.net,表示非盈利组织的.org等。

国内顶级域名nTLDs(national top-level domainnames):中国使用cn,美国使用us,日本使用jp。

个人:至于为什么两者英文都有top-level,两者缩写一个包含L一个不包含我也不明白.....,谷歌搜索iTDs和iTLDS都没有关于名称缩写的相关内容,个人就当iTDs写错了,我默认写成iTLDs。

谷歌原文也没出现这种缩写

As of 2015, IANA distinguishes the following groups of top-level domains:[13]

  • infrastructure top-level domain (ARPA): This group consists of one domain, the Address and Routing Parameter Area. It is managed by IANA on behalf of the Internet Engineering Task Force for various purposes specified in the Request for Comments publications.
  • generic top-level domains (gTLD): Top-level domains with three or more characters
  • restricted generic top-level domains (grTLD): These domains are managed under official ICANN accredited registrars.
  • sponsored top-level domains (sTLD): These domains are proposed and sponsored by private agencies or organizations that establish and enforce rules restricting the eligibility to use the TLD. Use is based on community theme concepts; these domains are managed under official ICANN accredited registrars.
  • country-code top-level domains (ccTLD): Two-letter domains established for countries or territories. With some historical exceptions, the code for any territory is the same as its two-letter ISO 3166 code.
    • internationalized country code top-level domains (IDN ccTLD): ccTLDs in non-Latin character sets (e.g., Arabic, Cyrillic, Hebrew, or Chinese).
  • test top-level domains (tTLD): These domains were installed under .test for testing purposes in the IDN development process; these domains are not present in the root zone.

1.4 解析需知

完成一次解析之后解析的记录会自动存在你的计算机中,下次再进行访问的时候将不再请求域名服务器,因此会出现你在一台设备能够访问网站,而在另一台没有访问过该站点的设备上却无法访问的情况,出现这种情况的原因有很多,比如本文的DNS劫持。

也可以直接修改host文件,找到“C:\Windows\System32\drivers\etc\hosts”,格式:

IP地址   主机或者域名   [主机的别名] [主机的别名]....

例如昨天我的网站被劫持了,但是可以通过添加 103.79.78.40 alvincr.com 解析到我的网站,但是如果我更换IP地址的话,这样设置会使解析出现问题。例如我更换为111.111.111.111,但是你设置默认解析alvincr.com为103.79.78.40,你再次访问的时候会连接到103.79.78.40这个服务器,导致无法访问我的网站。

2 个人快速解决方法:

对于站点而言:使用CDN加速服务,通过代理的方式绕过DNS劫持

对于个人而言:使用代理服务绕过被劫持的IP段。

3 其它解决方法:

DNS这个环节可以被太多因素影响,所以不少利益相关者都会在这里面做手脚。例如,DNS劫持就是非常常见的广告投放手段,你打开百度或者输入你正确的目标域名网址,整个网页却被强制跳转到XX娱乐城,这就是典型的DNS劫持。

在整个上网的流程中,DNS这环节无疑是脆弱而且不受用户控制的。DNS劫持由于通常发生在为大家提供上网的网络运营商的公共DNS服务器,因此普通用户很难进行处理也无法进行有效预防,因此就造成当访问的目标网站被劫持的时候会跳转到其他地址的情况。

要对付运营商的DNS劫持,设置一个可靠的DNS服务器往往就可以解决问题。然而,很多朋友在设置了可靠的DNS服务器后,仍然不能解析到正确的IP地址,例如某个网站的IP地址明明是可以Ping通的,但就是无法访问。

这部分网站无法访问的原因是网站域名解析错误,而这就存在这几种可能:一是黑客攻击国外根服务器造成国内服务器域名解析遭到污染;二是由于数据传输过程中网络节点较多,节点也可能成为攻击目标;三是黑客在攻击单个网站的时候,因为节点较多,导致节点污染从而影响了全网。而上述这种情况,通常是DNS污染所导致的。

针对DNS劫持,目前唯一比较有效的办法就是加速运营商DNS缓存记录获取刷新的时间及数据,保障获取结果的准确性。

如果是APP应用被劫持了,还可以选择启用HTTPDNS,将域名解析的协议由DNS协议换成了HTTP协议,获取域名解析结果,绕过运营商的Local DNS,用户解析域名的请求通过Http协议直接透传到了HTTPDNS服务器IP上,更精准地判断客户端的地区和运营商,得到更精准的解析结果,用户在客户端的域名解析请求将不会遭受到域名解析被劫持的困扰,避免域名劫持。HTTPDNS对外提供完善的API接口,移动的APP可直接调用该接口解析域名,也支持在服务端调用的场景

(传统递归DNS解析与HTTPDNS解析)

现在DNS的机制显然在设计之初没有充分考虑到安全性,导致别有用心者频频利用这一环节影响用户的正常网络访问。DNS频频被劫持的现状无法绝对杜绝,但却可以改善,从DNS服务商的强大节点资源和DNS解析技术完善,给用户更好的上网体验。

摘录原文:https://www.dns.com/supports/675.html

DNS劫持及网页跳转到莫名站点时应该怎么办?(DNS劫持和HTTP劫持及解决方法)相关推荐

  1. PHP请求一次网页前端浏览一次后端会出现两次请求次数的原因和解决方法。

    本篇文章:主要讲解thinkphp.php原生系统.require.js使用过程中出现的一次请求网页出现多次后台接受记录的bug原因和解决方法. 适用范围:php相关的web网页系统 关于一次请求会出 ...

  2. 运行uniapp跳转微信开发工具后一直卡在微信开发工具首页的解决方法

    运行uniapp跳转微信开发工具后一直卡在这 先检查一下uni-app端的微信小程序的AppID与微信开发者工具的是否是一致的,不一致就会出现图片上面的情况. 解决方法:打开微信公众平台开发管理 复制 ...

  3. PyInstaller天坑终极攻略(PyInstaller莫名报错?面对错误信息无从下手?全网找不到解决方法?面对PyInstaller中的那些莫名天坑不如和我一起手动打包python解释器和项目)

    PyInstaller天坑终极攻略 PyInstaller莫名报错?面对错误信息无从下手?翻遍全网找不到解决方法?面对PyInstaller中的那些莫名天坑不如和我一起手动打包python解释器和项目 ...

  4. php 405跳转,php采用curl访问域名返回405 method not allowed提示的解决方法

    /** * http测试 * 注:PHP版本5.2以上才支持CURL_IPRESOLVE_V4 * @param $url 网站域名 * @param $type 网站访问协议 * @param $i ...

  5. 安卓模拟器网页游戏连不上服务器,关于夜神模拟器游戏无法联网的原因和解决方法,请逐一排查...

    对于经常用电脑玩手游的玩家们来说,对夜神模拟器这款手游模拟器应该都不会感觉到陌生,因为它能支持游戏玩家一次性体验多种游戏.但是,在使用的过程中,有些用户反映夜神模拟器内游戏无法联网.出现夜神模拟器内游 ...

  6. flask加载网页时css美化效果加载不出来的解决方法

    文章目录 前言 步骤 参考文章 前言 问题: 直接打开网页就有css的美化效果,运行flask出来后就没有,网上找了半天之后找到了解决方案,在此记录一下,方便以后查找. 环境: vscode.pyth ...

  7. 微信PC端打开小程序(腾讯文档)、网页都显示空白和QQ/TIM的群文件无法显示等问题的解决方法

    问题描述: 1. 微信PC端无法打开腾讯文档的小程序,并且发现内置的浏览器网页均无法显示 卸载重装后,打开腾讯文档又显示该信息,问题现象有变化,但根本问题未解决 2. QQ/TIM的群文件和群公告均无 ...

  8. 网页按钮跳转位置_阻止safari从网页跳转至app

    最近在用safari浏览网页的时候,老是跳转到其他App,很是烦人.而苹果并没有给一个设置. 我整理了以下的方法,可以阻止safari从网页跳转至app.以贴吧为例. 一.一劳永逸的方法 复制贴吧的网 ...

  9. jsp对弹出jsp传值 和刷新网页后js仍然没有刷新的解决方法

    jsp对弹出jsp传值 和刷新网页后js仍然没有刷新的解决方法 现在 从A.jsp弹出B.jsp,B.jsp包含B.js: 要从B.js访问到A.jsp中的变量的值: 弹出JSP的代码为: $('#m ...

最新文章

  1. android 崩溃搜索 AndroidRuntime
  2. Java String 到底是引用传递还是值传递?
  3. java add offer_图解Java中的5大队列!(干货收藏)
  4. python学习手册中文版免费下载-Python学习手册
  5. asp.net开源工作流CCFlow的下载与安装
  6. Outlook另类小技巧 批量处理图片大小
  7. java 中的fork join框架
  8. idea 查看jsp是否被引用_IntelliJ IDEA解析JSP中的Web路径
  9. The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar
  10. 【ios】开发者笔记-编写第一个app
  11. 模板题——贪心(2)
  12. 管理感悟:电费每月几万,主管的责任重于权力
  13. 服务器2008系统驱动安装,三招搞定Server 2008驱动程序问题
  14. 第十四周博客作业西北师范大学|李晓婷
  15. 批量解析域名为IP地址的shell脚本和python脚本
  16. 微信如何实现小程序实时视频直播点播?有哪些难点?
  17. 小程序开发平台有哪些?第三方小程序电商开发平台一览
  18. StringUtils 工具
  19. 【渝粤教育】广东开放大学 土木工程测量 形成性考核 (45)
  20. JMeter与其它工具对比

热门文章

  1. vs code 离线安装 CodeLLDB 包
  2. 区块链资产投资指南及技巧
  3. 洛谷P2455 [SDOI2006]线性方程组
  4. 低于90分的成绩 java_查询平均成绩低于60分的学生学号、姓名及成绩。
  5. 10种基于MATLAB的方程组求解方法
  6. 2022年6月国产数据库大事记-墨天轮
  7. MySQL数据库多表查询练习题
  8. #19ACM第一次招新补题赛de题解呐#
  9. 超级全的PCB LAYOUT高速信号走线指南
  10. ros ubuntu 卸载_ROS安装与卸载