手机通过MAC热点绑定HOST访问指定IP的方法

这几天测试一个App应用,该App应用已经使用我们的CDN,但我希望每次访问到指定IP的节点上,并在客户端进行抓包分析。网上查了一下,大致有两种,一是直接修改手机的HOSTS文件(Android需要ROOT,iOS需要越狱),另外一种方法,就是在电脑上开启热点,并搭建DNS服务器,把访问域名指定为要访问的IP。

使用第二种方法,参考了一些网上教程,折腾了半天才搞好,有一些细节记录下来。


环境准备:PC为MAC,移动端为iPAD

1.MAC上安装DNS服务器

sudo brew install dnsmasq

2.修改dnsmasq的配置文件,最后先备份一下。

vi /usr/local/etc/dnsmasq.conf

打开文件后,在末尾添加如下内容():

#--------- added by Edward.Wu---------
# DNSno-resolv,配置默认的DNS,
resolv-file=/etc/resolv.conf


# resolv.conf内的DNS寻址严格按照从上到下顺序执行,直到成功为止
strict-order


# DNS解析hosts时对应的hosts文件
addn-hosts=/etc/hosts
cache-size=1024 


# DNS侦听的IP,127.0.0.1确保本机访问,192.168.2.1是wifi热点分配给MAC的IP,多个之间使用逗号进行分隔
listen-address=192.168.2.1,127.0.0.1


# 指定要解析的域名和对应的IP
address=/hello.me/192.168.2.1

#-------end-------

3.修改/etc/resolv.conf文件,增加本机的解析地址

nameserver 192.168.2.1
nameserver 127.0.0.1


4.启动wifi热点,在系统偏好->共享中,启动wifi热点,我使用的USBEthernet作为输入(网上买的网口转USB的连接线),wifi作为输出。


手机通过MAC热点绑定HOST访问指定IP的方法_第1张图片

5.启动dnsmasq

sudo brew start dnsmasq


6.清空一下DNS的缓存

sudo killall -HUP mDNSResponder


7.在MAC启动抓包工具wireshark,抓取wifi连接的数据包。

8.在iPAD上,连接到MAC的共享热点上,在网页上访问http://hello.me。

9.分析wireshark中的数据包,可以看到DNS的请求hello.me,MAC返回了192.168.2.1的IP地址。



你可能感兴趣的:(手机通过MAC热点绑定HOST访问指定IP的方法)