使用Fiddler来抓取Android应用的数据包且仅过滤来自Android代理的请求(不完全依赖http)
- 确保Fiddler配置正确:
- 打开Fiddler,并在“Tools” > “Options” > “HTTPS”中确保已经选中了“Decrypt HTTPS traffic”和“Ignore server certificate errors”两个选项。
- 在“Connections” > “Proxy Settings”中,勾选“Allow remote computers to connect”并设置端口为默认的8888(或其他你选择的端口)。
- 在Android设备上设置代理:
- 打开Android设备的Wi-Fi设置,找到当前连接的Wi-Fi网络,并长按选择“Modify network”(修改网络)。
- 在代理设置中,选择“Manual”(手动)并输入你的电脑的IP地址和Fiddler的端口号(默认为8888)。
- 使用Fiddler的Filters功能:
- Fiddler有一个强大的Filters(过滤器)功能,可以帮助你仅显示特定的请求。
- 在Fiddler的UI中,点击左下角的“Filters”选项卡。
- 在“Hosts”或“Processes”选项卡下,你可以设置过滤器来仅显示来自特定IP地址或进程ID的请求。但由于Android设备的请求不会显示具体的进程ID,你可能需要使用IP地址或其他属性来过滤。
- 如果你知道Android设备在连接到Wi-Fi网络时使用的IP地址范围,你可以设置一个基于该范围的过滤器。
- 另外,你还可以查看每个请求的“User-Agent”头信息,这通常包含了设备类型和操作系统的信息。你可以设置一个基于“User-Agent”的过滤器来仅显示来自Android设备的请求。
- 使用Fiddler的CustomRules功能:
- Fiddler允许你编写自定义规则来进一步过滤请求。
- 打开Fiddler的“CustomRules”文件(通常位于Fiddler安装目录下的“Scripts”文件夹中)。
- 使用Fiddler的脚本语言(类似于JScript)来编写自定义规则。例如,你可以编写一个规则来检查请求的“User-Agent”头信息,并据此决定是否显示该请求。
- 重启Fiddler和Android设备:
- 在进行上述更改后,重启Fiddler和Android设备以确保所有设置都已生效