Fiddler/Charles如何抓包和调试XML上传的HTTPS请求

8次阅读

fiddler和Charles均可抓包调试客户端上传xmlhttpS请求:需先配置并信任各自根证书以解密https,再捕获POST请求并查看/编辑XML内容。

Fiddler/Charles如何抓包和调试XML上传的HTTPS请求

如果您需要对客户端上传XML数据的HTTPS请求进行抓包与调试,Fiddler和Charles均能实现该目标。以下是具体操作步骤:

一、配置Fiddler信任根证书

Fiddler需安装并信任其自签名根证书,才能解密HTTPS流量。未完成此步骤将无法查看XML明文内容。

1、启动Fiddler,点击菜单栏ToolsOptions

2、切换到HTTPS选项卡,勾选Capture HTTPS ConnectsDecrypt HTTPS traffic

3、点击Actions按钮,选择Trust Root Certificate,按提示完成windows证书安装。

4、关闭Options窗口,重启Fiddler使设置生效。

二、在Fiddler中捕获XML上传请求

Fiddler默认捕获所有HTTP/HTTPS流量,但需确保客户端使用系统代理(Fiddler默认监听127.0.0.1:8888),且上传请求实际发出。

1、确认Fiddler左上角的Capture Traffic按钮为亮起状态。

2、在客户端执行XML上传操作(如调用POST接口并提交XML body)。

3、在Fiddler会话列表中查找Content-Type: application/xmltext/xml的POST请求。

4、双击该会话,在InspectorsRequestTextViewXML选项卡中查看原始XML内容。

三、配置Charles信任ssl代理证书

Charles通过中间人方式解密HTTPS,必须在设备或系统中手动安装并信任其SSL proxying证书,否则仅显示加密的TLS隧道。

1、启动Charles,点击菜单ProxySSL Proxying Settings

2、勾选Enable SSL Proxying,点击Add添加目标域名或使用通配符*匹配全部。

3、点击菜单HelpSSL ProxyingInstall Charles Root Certificate,按向导完成系统级证书安装。

4、若调试移动端,需在设备Wi-Fi设置中配置代理指向运行Charles的电脑IP及端口(默认8888),并在设备浏览器访问chls.pro/ssl下载并安装证书。

四、在Charles中定位并查看XML上传体

Charles可直接解析结构化XML请求体,但需确保请求未被压缩(如无Content-Encoding: gzip),否则需先解压

1、执行XML上传操作,确保Charles处于录制状态(左下角显示“Recording”)。

2、在结构树中筛选出POST方法且响应状态码为2002xx的会话。

3、右键该会话 → copyCopy Requestas curl,验证是否含完整XML body。

4、选中会话,在Request标签页下拉至Request Body区域,选择XML视图,即可高亮显示层级结构及节点值。

五、修改XML后重发请求(调试用)

为验证服务端对特定XML字段的响应逻辑,可在抓包工具中编辑并重放请求,无需修改客户端代码。

1、在Fiddler中右键目标会话 → ReplayReplay in composer

2、在Composer的Request Body区域,将原有XML中的某字段值改为test_value_modified

3、点击Execute发送修改后的请求,观察响应结果是否符合预期。

4、在Charles中,右键会话 → Execute Again → 在弹出窗口中编辑Request Body,将original替换为debugged,点击Execute

text=ZqhQzanResources