Mac本Charles设置只抓app包

mac本charles设置只抓取指定app的网络请求,需要进行一些配置。这并非一个简单的开关操作,需要对charles的规则设置有一定的理解。

Mac本Charles设置只抓app包

直接在Charles的“Proxy”->“Recording Settings”里设置全局代理抓包是无法实现只抓取特定App请求的。 我曾经尝试过这种方法,结果抓取了系统所有App的网络请求,数据量巨大,分析起来非常费时费力,效率极低。 后来才明白,需要利用Charles的规则功能。

正确的做法是利用Charles的“Map Local”功能,或者更精确的“Rewrite”功能。 先说“Map Local”: 假设你想要抓取名为“ExampleApp”的App的请求,你需要找到这个App的网络请求。 这可以通过在Charles界面中,点击“Clear”按钮清空之前的请求记录,然后运行ExampleApp,进行一些网络操作,例如登录或刷新数据。 Charles会记录下ExampleApp发出的请求。

找到ExampleApp的请求后,选择其中一个请求,右键点击,选择“Map Local”。 这时会弹出一个窗口,让你指定一个本地的文件或文件夹来替换服务器的响应。 这里我们并不需要替换响应,所以选择一个空文件夹即可。 关键在于,Charles会根据你选择的请求的域名或URL,建立一个映射规则。 只有匹配到这个规则的请求才会被Charles拦截和显示。 这意味着,其他App的请求将不会被Charles记录。

然而,”Map Local”有时会不够精准,特别是当App使用了复杂的域名或多个域名时。这时,“Rewrite”功能就派上用场了。 “Rewrite”允许你更精细地控制哪些请求被拦截。 你可以设置匹配规则,例如匹配特定URL路径或请求参数。 这需要你对目标App的网络请求有一定的了解,例如知道它使用的API接口地址。 我曾经调试一个使用了多个子域名的App,”Map Local”无法精确抓取,最后只能用”Rewrite”,逐个添加匹配规则才成功。 这个过程需要耐心和细致,需要仔细观察App的网络请求,才能编写出正确的规则。

记住,在使用Charles之前,你需要确保你的手机或模拟器已经正确地配置了Charles的代理。 这通常涉及到在手机或模拟器上设置代理服务器地址和端口号,这些信息可以在Charles的“Proxy”->“Proxy Settings”中找到。 如果你的设备无法连接到Charles,请检查网络设置和防火墙设置。

总而言之,成功抓取特定App的网络请求需要结合Charles的“Map Local”和“Rewrite”功能,并需要对目标App的网络请求有一定的了解。 这是一个需要实践和经验积累的过程,但掌握了这些技巧,就能高效地进行App调试和性能分析。

路由网(www.lu-you.com)您可以查阅其它相关文章!

未经允许不得转载:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权!路由网 » Mac本Charles设置只抓app包