A: 这是一个网络调试工具,可以查看和修改设备的网络请求信息,简单说,它是一个应用层(如HTTP)抓包软件。
A:在首页开启抓包开关,然后打开你想要调试的应用,或浏览器访问你想调试地址,之后再回到此应用,在首页最新的任务列表里有网络请求信息,你可以查看请求Header、响应内容等所有关于网络请求的细节。
注意,因为HTTPS的请求是加密的,如果要查看HTTPS的请求细节,首次使用需要配置相关证书,具体细节请点击应用【设置】中的【HTTPS配置】来查看。证书仅用于解密流量,可以随时删除它。
A:不,此软件使用了网络扩展的API,通过VPN捕获流量,并不提供任何VPN服务
A:解密HTTPS流量需要使用根证书生成自签名的证书,当在手机中安装了根证书之后根证书生成的证书才能被信任
A:不,所有的数据都存储在本地
A:一些网站采用了公钥绑定技术(HPKP),只信任指定证书,所以无法解密流量。默认配置中已经忽略了部分网站,您可以通过添加规则忽略其他的此类网站。
A:如上所述,少部分软件采用了公钥绑定或双向认证,拒绝与中间人通信,主动关闭连接导致网络请求失败。
A:请检查网络情况,关闭抓包功能
A:请检查网络情况,确认当前应用商店登录的AppleID与购买时的AppleID一致
A:手机发出网络请求前,可以根据放行策略决定是否允许请求、解密SSL流量等行为。默认放行策略是没有匹配到任何策略时采取的策略。
A:Domain Map用于将请求的域名映射的一个指定的地址,可以是另一个域名或IP地址。
重写规则分为重写请求和重写响应规则。
重写规则几乎可以修改所有的请求和响应信息,包括:
修改请求URI有三种方式,如原有的URI为 /query?key=name,分别使用三种方式示例:
直接输入:使用你输入的内容作为新的URI
查找替换:查找输入的字符串并替换,如输入查找字符串为key,目标字符串为newKey,则最终URI为/query?newKey=name
Query参数:仅修改Query参数,不存在则新建,如输入:
key=type&age=10,则最终URI为/query?key=type&age=10。
可以将请求方法修改为GET/POST/DELETE/HEAD等方法。
新增Header,存在则替换。你可以打开【清除旧Header】开关,这样会清除所有旧的Header,只剩下你填写的Header。
修改Body同样有三种方式,我们以下方Body内容为例,通过修改响应Body,看三种方式如何使用:
<!doctype html>
<html dir="ltr" lang="zh">
<head>
<meta charset="utf-8">
<title>Google translate</title>
</head>
<body>
<h1>Google translate</h1>
<script type="module" src="new_tab_page.js"></script>
<link rel="stylesheet" href="chrome://resources/css/text_defaults_md.css">
</body>
</html>
直接输入
使用你的输入内容作为请求/响应的内容,如输入:
<h1>I'm new content</h1>则在请求浏览器显示:
查找替换
查找字符串并替换,如输入查找字符串为Google,目标字符串为Bing,则会查找所有的Google并替换为Bing,最终结果为:
<!doctype html>
<html dir="ltr" lang="zh">
<head>
<meta charset="utf-8">
<title>Bing translate</title>
</head>
<body>
<h1>Bing translate</h1>
<script type="module" src="new_tab_page.js"></script>
<link rel="stylesheet" href="chrome://resources/css/text_defaults_md.css">
</body>
</html>JS脚本
提供JS变量bodyStr表示Body的内容,变量类型为字符串,你可以对它进行操作(如查找替换、Base64)返回新的值。
以下脚本对Body进行替换:
var nBody = bodyStr.replace('Google', 'Bing');
nBody;最终的结果与上一步查找替换的内容相同。
注意,JS脚本在独立的基础环境中执行,并不是所有的JS函数都可以使用,如
atob属于window对象,但环境中没有window对象,所以无法使用此函数;你可以使用添加自定义函数并使用。