最烦你们这些打劫的,一点技术含量都没有! ---黎叔
DNS也会被打劫,但是一点技术含量都没有。
今简单回顾一下,DNS劫持概念,它一般都是被人在网络层监听到了你的DNS请求,因为DNS的请求是一个UDP53端口的明文信息,只要可以监听到网络数据就可以劫持DNS请求,然后用一台非法的DNS服务器给你一个误导的解析结果。这种情况一般都是接入网络运营商可以做。他们的做法就是简单粗暴的修改DNS服务器解析记录。如果稍微有点技术含量,则是去监听网络DNS请求,然后抢先应答,这个监听与抢先应答有点技术活。
俺在某网站博客看到下面短文
个人觉得这种劫持比较流氓,一点技术含量都没有,但是这个要百度和ISP内外勾结才能做到,至于为啥,这里我们可以做个实验验证一下。
如果百度不配合不勾结,这个DNS劫持即便是将谷歌的域名解析到百度的服务器IP,百度服务器是会拒绝这个请求的,因为请求的hostname是错误的,不是百度的,而是谷歌的域名。
从curl和wget的结果看,百度是拒绝了这个头信息的请求,百度要干劫持的事情,就得配合修改接受的头信息,即接收谷歌的域名。
顺便补充DNS几个点, 常见DNS类型数据和关键参数
A:主机记录,直接是一个IP地址。
CNAME:主机别名,是另外一个域名,一般是CDN使用。
MX:邮件交换地址,指向邮件服务器。
NS:名称服务器记录,用于说明这个区域有哪些DNS服务器负责解析。
SOA:起始授权机构记录,说明负责解析的DNS服务器中哪一个是主服务器。
TXT:TXT 记录,一般指为某个主机名或域名设置的说明,在有些安全厂家的产品中,会要求做一个摘要设置,以便确认这个域名归属权。
TTL时间:Time To Live,即“生存时间”,简单的说它表示DNS记录在DNS服务器上缓存时间。CDN的别名缓存时间一般比较短,方便快速调度。
领取专属 10元无门槛券
私享最新 技术干货