linux应对域名劫持

今天我的报时脚本不能用了,打开www.neospeech.com发现不能访问,而开启ssh -d一切正常,看来neospeech被国内的防火墙域名劫持了。



dig www.neospeech.com

A记录里一片空白,trace一下,看下什么情况

dig +trace www.neospeech.com

到ns43.domaincontrol.com.后显示connection timed out; no servers could be reached,看来是neospeech.com的域名服务商的dns服务器被墙了。
现在怎么办呢?如果你有代理服务器,有vpn,有ssh,那么把它打开,问题解决。如果没有就继续往下看,教你怎么改hosts。
首先我们要找到www.neospeech.com正确的ip地址。找一台能访问的国外的dns服务器,比如谷歌8.8.8.8,通过它找到你要的网站地址:

dig @8.8.8.8 www.neospeech.com

got it!得到结果

;; ANSWER SECTION:
www.neospeech.com. 1833 IN CNAME neospeech.com.
neospeech.com. 1833 IN A 208.109.168.116

我们看到www.neospeech.com是一条别名指向neospeech.com,而neospeech.com的A记录是208.109.168.116,这就是我们要的ip
现在我们开始修改hosts,一般来说为了安全hosts是只读的,所以先给它添加写入权限

sudo chmod +w /etc/hosts

之后用你喜欢的编辑器打开,比如我用vim

sudo vim /etc/hosts

在里面加上

208.109.168.116 neospeech.com
208.109.168.116 www.neospeech.com

保存退出,现在我们就可以访问www.neospeech.com了,以后遇到域名劫持就可以这样做了哦!

Comments

Popular posts from this blog

socket close shutdown函数区别

批量在文件头插入

hash表取模技巧