iOS之家Swift之家

iPhone修改hosts

2022-01-27  本文已影响0人  小小土豆dev

在mac上修改 hosts 很容易,我们可以直接去修改 hosts文件(/private/etc/hosts),但是想在iPhone上修改就很麻烦了。小编 Google了一下,目前修改 iPhone手机 hosts 有两种方法:

  1. 在mac上安装Charles,然后设置Charles的Map Remote Settings;
  2. 在mac上安装dnsmasq服务,然后手机的DNS配置成你的电脑ip。

方法一:
我的mac环境:macOS Big Sur 11.6,
Charles版本:4.6.1
iPhone环境:iPhone12(iOS 15.2.1)

我尝试了下此方法是没有效果的。这种方式很简单,如遇此问题可以先去尝试一下链接

方法二:
我的mac环境:macOS Big Sur 11.6,
iPhone环境:iPhone6(iOS 12.5.5)
安装dnsmasq服务

此方法我最终是成功了,接下来介绍一下方法二(dnsmasq服务方案)的配置步骤:

一:在mac上安装dnsmasq服务

1.1 安装Homebrew,在终端输入命令(如果已安装,可跳过):

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

1.2 安装 dnsmasq服务,在终端输入安装命令:

brew install dnsmasq

二:修改配置文件

2.1 编辑配置文件

sudo vim /usr/local/etc/dnsmasq.conf

2.2 修改以下地方(去掉前面的#号注释)

no-resolv
no-poll
listen-address=127.0.0.1,192.168.0.103(后面这个ip是你自己mac的ip地址)
addn-hosts=/etc/dnsmasq.hosts
cache-size=2048

总共有5处改动

2.3 编辑hosts文件(此文件就是你想修改手机的hosts文件)

sudo vim /etc/dnsmasq.hosts

然后输入你想要的hosts信息,格式是和 mac的 hosts文件格式是一致的。

三:启动dnsmasq服务

3.1 启动命令:

sudo brew services start dnsmasq

3.2 重启命令:

sudo brew services restart dnsmasq

3.3 停止命令:

sudo brew servicesstop dnsmasq

四:iPhone配置dns服务

我先是使用的 iPhone12(iOS 15.2.1) 进行配置:设置->无线局域网->点击你连接的wifi后面的蓝色感叹号->往下滑动找到DNS,然后点击(默认是自动)->进入之后,选择手动,添加服务器,输入你的 mac ip地址(这里把默认的地址可以删掉)。


iPhone12(iOS 15.2.1).PNG

我配置完之后,是没有生效的,我又仔细的检查了一遍上面的步骤,没有出错。然后自己就很奇怪,为什么没有生效。

接下来我找了另一台设备 iPhone6(iOS 12.5.5) 进行配置,一切OK。


iPhone6(iOS 12.5.5).JPEG
五:总结
  1. 在方法一中(Charles配置方案),使用 iPhone12(iOS 15.2.1) 进行配置,是不OK的。
  2. 在方法二中(dnsmasq服务方案),使用 iPhone12(iOS 15.2.1) 进行配置,是不OK。后来使用 iPhone6(iOS 12.5.5)是OK的。
  3. 之后我又在方法一中使用 iPhone6(iOS 12.5.5)进行配置,是不OK。
方案\设备 iPhone12(iOS 15.2.1) iPhone6(iOS 12.5.5)
Charles配置方案 不OK 不OK
dnsmasq服务方案 不OK OK

希望这边文章对大家有所帮助,如遇到一些新的配置成功的场景也请评论告诉我,tks。

参考文章:

https://www.jianshu.com/p/6c56cc5c51e5

上一篇 下一篇

猜你喜欢

热点阅读