Skip to content

遭遇DNS劫持

cheyiliu edited this page Apr 11, 2016 · 8 revisions

遭遇DNS劫持

  • 前段时间,遭遇DNS劫持,导致客户端不能连接到公司服务器,损失大大的……

什么是DNS劫持

  • 以下内容来自百度百科,DNS劫持又称域名劫持,是指在劫持的网络范围内拦截域名解析的请求,分析请求的域名,把审查范围以外的请求放行,否则返回假的IP地址或者什么都不做使请求失去响应,其效果就是对特定的网络不能反应或访问的是假网址。 DNS(域名系统)的作用是把网络地址(域名,以一个字符串的形式)对应到真实的计算机能够识别的网络地址(IP地址),以便计算机能够进一步通信,传递网址和内容等。由于域名劫持往往只能在特定的被劫持的网络范围内进行,所以在此范围外的域名服务器(DNS)能够返回正常的IP地址,高级用户可以在网络设置把DNS指向这些正常的域名服务器以实现对网址的正常访问。所以域名劫持通常相伴的措施——封锁正常DNS的IP。如果知道该域名的真实IP地址,则可以直接用此IP代替域名后进行访问。比如访问百度域名,可以把访问改为202.108.22.5,从而绕开域名劫持 。
  • 图示 dns_jiechi_baike

解决思路

  1. IP直连,httpdns的原理非常简单,主要有两步:A、客户端直接访问HttpDNS接口(直接用ip地址访问),获取业务在域名配置管理系统上配置的访问延迟最优的IP。(基于容灾考虑,还是保留次选使用运营商LocalDNS解析域名的方式)B、客户端向获取到的IP后就向直接往此IP发送业务协议请求。以Http请求为例,通过在header中指定host字段,向HttpDNS返回的IP发送标准的Http请求即可。httpdns
  2. https,注意https是解决链路劫持的方案,并无法解决DNS劫持的问题。https安全但性能稍差。
  3. 其他……

推荐阅读

Clone this wiki locally