一、背景
DNS域名是依赖DNS域名服务器,特别是内部域名,最后寻址到后端服务地址。
当我们无法修改客户端的域名,而想让其指向到我们期望地址时,可以采用charles的DNS spoofing。
何谓DNS 欺骗:将自己的主机名指定给远程地址映射,借此来欺骗DNS查找。
当请求通过charles时,自己的主机映射将优先。
举例来说,你访问百度,主机名是baidu.com。
当你设置了DNS spoofing,并把baidu.com指向192.168.80.226。
当请求http://baidu.com:9039/api/v1/work/workId/1/detail,实际访问地址则变成了http://192.168.80.226:9039/api/v1/work/workId/1/detail。
二、示例一
1、设置DNS spoofing
2、compose
访问地址是http://baidu.com:9039/api/v1/work/workId/1/detail
3、执行结果
验证DNS域名伪装的结果。
三、示例二
把localhost域名映射到192.168.10.19
1、设置DNS spoofing
2、compose
3、执行结果
四、总结
本文通过对baidu.com和localhost两个域名的伪装,讲述了charles的DNS spoofing的配置及使用实践。
附录
Charles抓包工具系列文章(一)-- Compose 拼接http请求
Charles抓包工具系列文章(二)-- Repeat 回放http请求
Charles抓包工具系列文章(三)-- 接口映射工具(Map Remote和Map Local)
Charles抓包工具系列文章(四)-- Rewrite 重写工具
Charles抓包工具系列文章(五)-- DNS spoofing (DNS域名伪装)
Charles抓包工具系列文章(六)-- Block List 和 Allow List (黑白名单)