电脑端抓包一般图方便就用浏览器自带的,最近需要分析安卓一个APP的HTTP请求,尝试了wireshark(功能太强大了,然而我并不会用),tcpdump(用起来还是比较麻烦),网上搜了一下,还是使用Fiddler,Fiddler使用起来比较方便,但是只能抓http和https的包,不能抓使用socket的流量包。
一、安装与配置
从https://www.telerik.com/download/fiddler 下载最新的fiddler软件,安装后打开如图:
【tools】—>【Fiddler options】 –>【Connections】 设置如图:
8888是监听端口号,可以任意修改,然后点击OK保存
二、安卓端配置:
这里作者使用的是模拟器,使用的是3G网,进入【系统设置】—>Mobile Networks –>Access Point Names—>新增一个,配置如图:
其中 Name可以任意设置 Proxy 是模拟器默认的本机电脑的IP(不是127.0.0.1,127.0.0.1是模拟器本机IP),Port是之前设置的Fiddler监听的IP。
配置好后切换如图:
在网页浏览器中打开一个网址,如果fiddle能够探测到HTTP请求则配置正确:
三、支持HTTPS
【tools】—>【Fiddler options】 –>【Https】 设置如图:
此时电脑端会有一些证书信任的对话框,一直点击确定即可。
点击【Actions】按钮,把证书导出到桌面保存,然后把证书文件【FiddlerRoot.cer】push到模拟器的SdCard里。手机【系统设置】里【安全】,【从SDCard里导入证书】,将刚push的Fiddler证书安装到本机。
浏览器中打开一个HTTPS网址,如果Fiddler里探测到该请求则配置成功。