移动客户端项目有时需要针对手机app进行抓包,这时一般有两种办法:一是直接下个手机抓包工具的app,在手机上抓;二是pc机上装上抓包工具,pc和手机连接同一个无线,在pc机上抓。第一种比较简单,但抓包工具自然也不如后一种强大。这里只讲pc端抓包。
pc端抓包目前感觉还是Fiddler方便好用。直接去官网【https://www.telerik.com/download/fiddler】上填完信息后下载安装包。
下完后点击运行,很快就安装完。接下来比较关键,配置Fiddler:
1、配置Fiddler监听https:界面菜单栏上点击Tools -> Opptions -> HTTPS -> 勾选 Decrypt https traffic 和 Ignore server certificate errors 这两项,用于解密https、忽略服务端证书错误。第一次会提示是否信任Fiddler证书,选“是”;
注意,在这一步,我们可以选择只查看某个终端的请求:
...from all processes :抓所有的请求
...from browsers only :只抓浏览器的请求
...from non-browsers only :只抓非浏览器的请求
...from remote clients only:只抓远程客户端请求
2、配置Fiddler网络连接:还是在Opptions里 -> 点击Connections -> 选中 Allow remote computers to connect -> 默认监听端口填 8888(手机Wifi代理需要跟这个端口号保持一致);
3、pc上打开代理,地址栏输入:http=127.0.0.1:8888;https=127.0.0.1:8888
4、无线网络ip地址获取:两种方式:
1)打开命令行界面,敲ipconfig看;
2)把鼠标放在Fiddler窗口右上角的Online图标这里,显示出来是啥ip就是你要代理的ip:
5、配置手机无线网代理:打开手机无线网络WLAN -> 连上pc机所连接的wifi -> 点开该无线网,在“代理”这里选择“手动”,输入无线网ip(ip地址获取见下图)和端口号(上面配置的8888):
这时你用手机玩app,Fiddler就能抓到包了。左边窗口是所有监听到的请求和响应结果码,可以点击右上角“Filters”按钮 -> 勾选Use Filters -> 下面一个下拉框里选择 ...Show only the following Hosts,填入你想要的域名或ip,过滤你想看的请求:
点击左边窗口的请求,右边Inspectors里会出现详细信息,上面是请求,下面是响应。上下都有许多不同的按钮可以显示更细致的信息:Headers出现消息头信息,TextView是消息体,还可以查看JSON、XML格式化消息体等等:
对于web抓包来说,Fiddler可以说已经做到极致了。