hosts 文件,相当于一个网址-ip 列表,大概相当于本机 DNS。修改苹果电脑上的 hosts 文件,就可以访问部分被和谐的网站,或者拦截某些站点(比如软件商的正版验证),或者强制从某个 ip 下载文件,等等等等。下面介绍苹果电脑 Mac OS X 系统下修改 hosts 文件的方法,非常简单,而且不用安装第三方软件。
方法一:(注意,该方法最基础,但相对麻烦。不想了解原理的用户可以直接跳到下方看更方便直接的方法二)
Hosts 文件位于苹果电脑的 /private/etc/hosts 路径下,不过你在 Finder 里直接找是看不到的……那是个隐藏文件夹。可以点击 Finder,在顶部菜单栏选择“前往”-“前往文件夹”,粘入 “/private/etc/” 这个路径(不带引号)
这时就能看到文件夹里的文件了,找到 “hosts” 文件,复制一份到桌面。用 Mac OS X 系统自带的文本编辑器就能编辑 hosts 文件。添加好你要访问(或者拦截)的网站相关 hosts 信息后保存,拖回 Finder 里的 /private/etc/ 文件夹下即可。拖回去的时候,Mac 会弹出报警说无法移动项目。点击“认证”按钮然后输入电脑密码即可。
方法二:
打开终端(找不到的,点击 Mac 屏幕右上角的放大镜按钮,Spotlight 搜索终端两个字),贴入下面这段命令行,就可以直接用文本编辑器打开 hosts 文件,修改后直接保存即可。
sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit /etc/hosts
怎么让 iPhone 实现类似于 Host 的域名映射 ip?
我在自己电脑上用xampp搭了个内网服务器,现在我需要用iPhone访问一个域名调试页面,例如xx.baidu.com,
实际上是访问的127.0.0.1这样,类似于在电脑上的Host文件 127.0.0.1 xx.baidu.com 这样
首先,我的计算机(局域网 IP 为 192.168.199.180 )和我的手机( 局域网 IP 为 192.168.199.190 )处于同一路由器的 Wi-Fi 信号下,然后我在路由器中添加了自定义的 hosts ,“192.168.199.180 xx.baidu.com”,然后我的手机就能够访问计算机里的 localhost (127.0.0.1)了,只需要在手机的浏览器中访问 xx.baidu.com 即可。
BTW,如果 Android 愿意 root (iPhone 愿意越狱)的话,那么可以直接在手机中修改 hosts 文件,添加 “192.168.199.180 xx.baidu.com” 这一行就可以了。当然,这里的 IP 地址需要改成你自己的计算机的局域网 IP。
方案一:买一个可以直接修改 hosts 的路由器,比如极路由(和磊科 Q3 价格差不多),直接修改 hosts。
方案二:iPhone 越狱,然后修改 hosts。
方案三:磊科 Q3 刷 OpenWRT,然后参考 /t/140728 或者自行搜索 dnsmasq 配置。
方案四:如果你有域名,可以使用自己的域名(或子域名),指向本地计算机的 IP。
方案五: 自行搜索 Fiddler (感谢6楼 @qgy18 )(综合了一下,推荐这个方案)
参考: https://github.com/cssmagic/blog/issues/28