iPhone iPad等iOS 设备上配置修改 hosts 方法

前提

iOS 设备指的是 iPhone/iPod touch/iPad 等运行 iOS 操作系统的移动设备。

为了测试网页在这些移动设备上的表现,我们往往需要使用真实的设备去访问内网的开发/测试环境。在某些时候,服务器端严格绑定域名(不允许使用 IP 地址访问),而且这个域名往往是虚拟的域名(比如yoursite.dev 之类),我们就需要在移动设备上配置 hosts。

最重要的一点,你的设备最好是已经越狱的。越狱的目的不是装盗版软件,是为了获取系统的最高权限,这样才有可能修改 hosts 这样的系统级文件。(同理,在 Android 设备上修改 hosts 文件需要获取 root 权限。)

如果无法越狱(比如你手贱把系统升级到了最高版本),则可参考本文末尾的后备方案。

操作步骤

首先,我们需要安装最新版的 iTunes。因为它包含了 iOS 设备的驱动程序,装了它,Windows 才能正常识别设备。

然后,我们需要安装“同步助手”。暂不去纠结这个软件是不是盗版工具,它是目前最好用的 iOS 设备的资源管理器,我们这里只需要用到它的文件管理的功能。

tongbuzhushou

进入文件管理界面,进入 /etc 目录,可以找到 hosts 文件。

 

tongbuzhushou iPhone

把它拖到桌面,就可以为所欲为了。修改完成之后,再拖回去替换原文件即可。

在修改过程中,唯一值得一提的恐怕就是换行符的格式了吧。本质上 iOS 是一个功能完备的 UNIX 系统,它的文本文件的换行符当然使用 UNIX 格式,与我们通常使用的 DOS/Windows 格式不一样。安全起见,建议你在保存文件的时候,留意换行符的格式。(参见下图)

UNIX 格式

后备方案

这里介绍两种后备方案,也适用于无法修改 hosts 的其它移动设备。

真实域名法

即注册一个真实的域名,解析到内网的开发/测试机。这实际上是一个变通的办法,它有一些显而易见的缺点:

  • 需要花钱买域名。
  • 可能需要更新服务器端的域名白名单——前端工程师往往没有这个权限。
  • 域名解析通过外网 DNS 实现,比起 hosts 本地解析要慢一些。

代理法

在本地开发机上建一个代理服务器,让 iOS 设备通过代理服务器访问。这样域名解析这一步是在开发机完成的,只要把开发机的 hosts 配置好就可以了。

架设代理服务器并不复杂,有现成的方案,就是前端神器 Fiddler(只需要选中“允许其它机器连接”选项就可以了),顺道还可以调试移动设备的 HTTP 连接。iOS 设备端的配置也比较简单,这里就不赘述了。

原创文章,作者:老D,如若转载,请注明出处:https://laod.cn/1145.html

(7)
上一篇 2015-11-01 22:27
下一篇 2015-11-04 21:28

相关推荐

  • 常用的各平台 hosts 文件位置

    文件位置及默认内容 hosts文件在不同操作系统中的位置如下表所示: Windows:%SystemRoot%\System32\drivers\etc\hosts Android…

    hosts 2016-12-29
    62.2K250
  • Steam平台可用hosts 解决无法连接服务器 无法登入

    由于各种众所周知的原因国内玩家玩一些游戏往往需要解决各种奇怪的网络问题,目前两大流行游戏平台Steam跟Origin都有很大几率的被墙,或者下载速度很慢、龟速、无法连接服务器、无法…

    2016-08-18
    56.9K300
  • 访问YouTube提示:Google sorry… We’re sorry…

    Google Sorry… We’re sorry… … but your computer or network may be s…

    2017-06-16
    124.9K250
  • [收集贴]关于IOS系统 iPhone修改hosts无效的问题

    最近一段时间有好几个童鞋反映iPhone的IOS系统修改了最新hosts都不管用了,而用以前的却可以… [email protected] 留言写到:我似乎发现了12月5日和12月8…

    2016-12-16
    19.7K320
  • 强制 Google.com 域名使用 HTTPS(SSL)

    配合 Google Hosts 的推荐操作 最近发现好多人说谷歌学术访问不了了,而我发现他们绝大多数都使用的是http访问,而不是https(SSL加密),如 http://sch…

    2016-04-07
    38.1K690
  • 普及下电信直连、CN2(GIA)、本土运营商

    最近骨干网实在是太渣了,把我了解的一些情况介绍给大家,主要讲到中国方向,希望能解释大家的一些疑惑,如果有不准确的地方还望 指教。 先说说中国电信吧。中国电信目前有4个IPT产品,由…

    2017-10-30
    40.3K200
  • 如何访问国际英文版谷歌?Google.com

    有不少的童鞋说不喜欢HK版的Google,加入ncr (No Country Redirect) https://www.google.com/ncr 禁止国别跳转,它就用con域…

    2016-04-17
    23.9K300
  • 我国首个IPv6公共DNS正式发布

    下一代互联网国家工程中心正式宣布推出IPv6公共DNS:240c::6666。通过免费提供性能优异的公共DNS服务,为广大IPv6互联网用户打造安全、稳定、高速、智能的上网体验,助…

    2017-11-29
    138.5K470
  • Android修改hosts文件的方法介绍

    本文介绍三种Android手机修改hosts文件的方法,但修改hosts文件一定要谨慎:Android手机hosts文件的换行符必须是n而不是windows的rn,使用Notepa…

    2015-06-03
    183.2K590
  • Chrome 升级至新版本后,本地项目都无法访问

    症状# 本地开发改 hosts, chrome 不支持 xxx.app 改成 xxx.local 就正常了 chrome地址栏输入:xxx.app,回车后页面显示结果: This …

    2017-12-08
    181.0K170

发表回复

登录后才能评论

评论列表(26条)

  • 一个人的世界
    一个人的世界 2018-11-06 20:26

    推荐surge的本地dns映射

  • hhk
    hhk 2017-10-03 01:17

    你好,请问一下在Linux平台(如Centos)如何搭建一个代理服务器。
    我用了各种工具之后,iPad仍然无法通过代理服务器访问。但是本地电脑上执行curl命令获取www.baidu.com是有输出的。

  • 加气块设备
    加气块设备 2017-06-03 08:51

    谢了

  • yining267
    yining267 2017-05-30 19:41

    老D你好,
    按文章上述步骤做了,在文件选项下面找不到ETC文件路径,怎么办真心求解,系统是ios10.3.1,

  • kid
    kid 2017-05-19 19:44

    iphone直接拖进去替换了 忘记备份 (有时候会卡我想替换用)有什么方法还原? :arrow:

  • 锋子
    锋子 2017-03-18 13:48

    老d,我一直用360路由器的hosts功能,ios和电脑和安卓的浏览器都可以访问被k的网站,但是客户端不行,比如说google的环聊。

    • 老D
      老D 2017-03-18 14:45

      @锋子因为客户端使用的端口协议不一样

  • swordjason
    swordjason 2015-12-22 11:26

    我觉得后备方案中应该还有一个办法,就是在路由器上或者DNS服务器上添加一条域名记录,就可以解决这个问题.

  • crazy4u
    crazy4u 2015-12-17 08:56

    用微信转了10元,小小意思

  • 雅芙
    雅芙 2015-12-02 18:05

    好多啊,哈哈,谢谢您

  • frankiejun
    frankiejun 2015-11-18 14:41

    其实后备方案不用搞什么 DNS,只要一台能访问 google 的机器,共享 wifi 出来(有个局限,就是你这台机器是用网线上网的),用手机再连接就可以

  • jun
    jun 2015-11-07 12:24

    无意中安装了chorme,发现上不了应用商店,然后找到了老D这个网站,感觉以后能默默装逼做一名技术宅[哈哈]

  • 马云
    马云 2015-11-06 22:49

    这招早就会了,我也是直接把ipad越狱后hosts文件拷贝到win7桌面进行修改的,当然有效的hosts地址用的本站提供的那些![嘻嘻]谷歌推特脸书无压力

    • 老D
      老D 2015-11-06 23:20

      @马云ID莫名喜感

    • 马云
      马云 2015-11-07 17:59

      @老D站长是否有youtube视频雪花有帧预览却无法播放的解决方法?[给力]

    • 老D
      老D 2015-11-08 00:08

      @马云1.用第三方下载
      [email protected]
      3.移民

    • 马云
      马云 2015-11-11 19:29

      @老D已找到有效解决方案了!

    • 欣蕾911
      欣蕾911 2015-11-15 20:01

      @马云ipad还不会弄~~

  • 苏梓兴
    苏梓兴 2015-11-05 19:07

    不错,虽然我不用iphone

  • 小冷
    小冷 2015-11-03 22:18

    博客主题不错,很喜欢。请问共享吗

    • 老D
      老D 2015-11-03 22:23

      @小冷这个是买别人的收费主题,域名加密验证,所以无法分享,sorry.

    • 提莫顶塔
      提莫顶塔 2015-11-12 07:30

      @老D怪不得这么眼熟

    • 哈哈
      哈哈 2017-08-04 09:18

      @老D你们说的unix是怎么回事能谁清楚点吗?

    • 老D
      老D 2017-08-04 10:14

      @哈哈苹果的系统就是unix