Fiddler是一个在windows下比较方便的抓包工具,http和https的包都可以抓。在测试调试的过程中,fiddler能够很方便获取网络传输的原始数据。具体如何使用,可以百度一下。官网地址:http://www.telerik.com/fiddler。
虽然fiddler也有linux和macos的版本,地址如下http://fiddler.wikidot.com/mono。上面有比较详细的文档。但是,这些版本目前还不能支持https的抓包。
为了在linux和macos上也能方便地使用fiddler,可以在上述系统中装上windows虚拟机,然后再通过一些配置来达到抓包的目的。
一、如何在macos下抓包,请看下面的博客。
http://www.cnblogs.com/TankXiao/archive/2013/04/18/3027971.html
二、如何在ubuntu下面抓包。截图不太方便,就看文字版吧。
1、安装Oracle Virtualbox虚拟机。
2、 安装windows镜像。
3、在新安装的windows系统中下载fiddler程序,并启动。
4、打开fiddler菜单项tools的子菜单fiddler options。选择https选项卡,在该页面勾选允许capture https connections;选择connections选项卡, 在该页面勾选allows remote computer to connect, 这个勾选使得其他计算机或者移动设备可以通过本机来中转抓包。我们的移动设备发送的请求,都可以通过本机作为代理,网络请求和响应数据都可以抓下来。
5、设置代理地址,这个地方比较关键。首先配置虚拟机的联网设置,在虚拟机的菜单项“设备”中选择子菜单“Network”-> “更改网络设置”。连接方式选择桥接网卡,下面勾选接入网线,这个设置就是让虚拟机直接与网卡连接。
6、将本地机器和需要抓包的移动设备都连上相同的无线wifi,然后在windows虚拟机中通过cmd打开命令行,输入ipconfig查看网络地址。看到这个网络地址后,在移动设备的WLAN设置中选择手动代理设置,输入刚才看到的ip地址,端口号在fiddler的connections中配置,默认是8888, 要修改的话可以进去看一下,connections的打开方式在4中已经说明。
7、移动设备上发送请求,在window虚拟机的fiddler客户端上就可以看到网络包的数据了,https的也没问题。