HTTP的劫持分两种第一种是DNS劫持,第二种是内容劫持,后者是基于前者的基础上发展出来,是比较高级的劫持手段,目前无解
- DNS劫持
- 效果就是对特定的网络不能访问或访问的是假网址。其实本质就是对DNS解析服务器做手脚,或者是使用伪造的DNS解析服务器
- 解决:DNS的劫持过程是通过攻击运营商的解析服务器来达到目的。可以使用自己的解析服务器或者是提前在自己的App中将解析好的域名以IP的形式发出去就可以绕过运营商DNS解析,这样一来也避免了DNS劫持的问题。
- 内容劫持
- 内容劫持是运营商为了加快用户的访问速度同时减少自己的流量损耗而做的一个缓存机制,运营商会把用户的请求转移到这个缓存池中,如果缓存中有就直接返回,没有的话再去像服务器请求然后拦截并缓存服务端给用户的回调数据,可以极大的降低运营商像服务器请求的次数,也能加快用户的访问
- 非法的商家对缓存池内部做一次些处理就是直接对返回的内容进行修改,这样一来我们就会接受到错误的数据
- DNS解析:
- 查找浏览器缓存
- 查找本地hosts文件
- 把这个域名发送给这里设置的LocalDNS(本地区的域名服务器)
- 到Root Server域名服务器请求解析
- 根域名服务器返回给本地域名服务器一个所查询的域的主域名服务器(gTLD Server)地址。gTLD是国际顶级域名服务器,如.com,.cn、.org等。全球只有13台左右。
- (Local DNS Server)再向上一步返回的gTLD服务器发送请求。
- gTLD服务器查找并返回此域名对应的Name Server域名服务器的地址
- Name Server域名服务器会查询存储的域名和IP的映射关系表,连同一个TTL值返回给DNS Server域名服务器
- 返回该域名对应的IP和TTL值,Local DNS Server会缓存这个域名和IP的对应关系,缓存的时间由TTL值控制。
- 把解析的结果返回给用户,用户根据TTL值缓存在本地系统缓存中,域名解析过程结束。
网友评论