Charles抓包说明

1.下载charles抓包工具

2.确保手机、电脑(装charles)连接同一wifi, 开启charles反向代理,如下图。

注意 :手机wifi HTTP代理设置为“关闭”

  • 选择工具栏 Proxy–Reverse Proxies

  • 勾选 Enable Reverse Proxies 选项

3.点击add,生成charles 本地服务端口

  • 弹出的对话框 端口默认即可,点击 ok 按钮

4.madp2.0有资源服务和交易服务的host

1)如果想抓资源服务的报文就把register.json中central_url的host和port配在第3步截图的remote host和 remote port里(这里的remote host表示manager后管服务或web服务器存放dat文件资源所在的电脑IP))。然后register.json中central_url的host和port改为电脑本机host(装charles电脑ip)和第3条截图的charles服务的local port。

2)如果想抓交易服务器的报文就把central.json中配置交易服务地址(地址在hosts标签对应的map标签里)的host和port配在第3步截图的remote host和 remote port(http端口默认80,https默认端口443)里。然后central.json中交易服务地址的host和port改为电脑本机host(装charles电脑ip)和第3条截图的charles服务的local port。

疑问:central.json中如果原先是https协议,是否需要改为http协议?

都试试

如果想两个服务一起抓,可以根据第3步添加两个。 原理:手机访问电脑本地Charles的服务,Charles服务访问真实地址。 例如:

registry.json修改资源服务地址:

central.json修改交易服务器地址:

5.关于正反代理

正向代理代理的是客户端。反向代理代理的是服务器。 正向代理就是大家最常用的抓包,设置手机wifi代理手动配置电脑ip就可以了(正向代理Charles Mac配置参考)。 上面提到的抓包方式为配置反向代理;

  • 若要使用正向代理抓包,需要sdk的初始化方法中配置代理服务地址。如下:

httpProxy配置为本机ip(装charles电脑ip),例如:http://10.20.4.102:8888

ios:

android: