Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

github.com遇到DNS劫持的办法

确认是否遭到劫持

  • 利用工具进入交互模式

    nslookup
    
  • 输入github.com,看最后一行的返回

    • 如果是127.0.0.1,代表被劫持

查询网站真实的ip地址

  • 查询github.com官网ip

    https://ipaddress.com/website/github.com
    
    • 得到 ip address 为 140.82.112.4
  • 查询assets-cdn.github.com静态资源的ip

    https://ipaddress.com/website/assets-cdn.github.com
    
    • 得到 ip address 为 185.199.108.153
  • 查询github.global.ssl.fastly.net域名的ip

    https://ipaddress.com/website/github.global.ssl.fastly.net
    
    • 得到 ip address 为 199.232.69.194
  • 查询raw.githubusercontent.com

    https://ipaddress.com/website/raw.githubusercontent.com
    
    • 得到 ip address 为 185.199.108.133
  • 查询ssh.github.com

    https://ipaddress.com/website/github.com
    
    • 得到 ip address 为 140.82.113.36

写入hosts文件中

  • 对于mac
    sudo vim /etc/hosts
    
    • 最后添加如下两行内容
      140.82.112.4 github.com
      185.199.108.153 assets-cdn.github.com
      199.232.69.194 github.global.ssl.fastly.net
      185.199.108.133 raw.githubusercontent.com
      140.82.113.36 ssh.github.com
      

检查是否可以

ping github.com

出现的原因

网站被封了,但是用PAC白名单模式并没有更新这个消息,导致一致都是直接连接,如果纯粹走代理,或者hosts文件直接指定ip,就不会出现这个问题

但如果是终端的话,没办法纯粹走代理,还是设置hosts比较好