抓包工具Fiddler的使用
Fiddler官网地址:http://www.telerik.com/fiddler
抓包
抓包,英文名为Sniffer,中文可以翻译为嗅探器,是一种基于被动侦听原理的网络分析方式,且极具威胁力。使用这种抓包的工具,可以监视网络的状态、数据流动情况以及网络上传输的信息。当信息以铭文的形式在网络上传输时,便可以使用网路监听的方式来金兴工具。将网络借口设置在监听模式,便可以将网上传输的源源不断的信息截获。 常用的工具有 HttpWatch、FireBug、Wireshark、Fiddler等。
抓包原理
Fiddler是以代理Web服务器的形式工作的,代理服务器是介于网络请求段与Web服务器之前的一台服务器。有了它之后,设备上的所有网络请求、响应都会有限地经过代理服务器,即Request信号会先送到代理服务器并由代理服务器进行转发,Response也会先经过代理服务器再由代理服务器回传给事件请求方。
中间搭建的代理服务器是由Fiddler完成的,所以在代理服务器上我们就能够完成一些特别的操作,如截取Http通信中的Request,修改Http通信汇总的Response,浏览请求逻辑规则。
TPIS : Fiddler使用代理地址:127.0.0.1,端口:8888。当Fiddler退出的时候它会自动注销,这样就不会影响别的程序。如果Fiddler非正常退出,这时候因为Fiddler没有自动注销会造成网页无法访问。解决的办法是重新启动下Fiddler。
如何在Android上进行抓包
首先在自己的PC上使用“ipconfig”命令查看本机的IP地址,然后在Android设备上连接相同的无线局域网络,使用设备,将代理模式设置为手动。代理服务器端口填写8888(Fiddler默认端口是8888) 最后,在Fiddler的菜单中 Tools-> Options -> Connections勾选上Allow remote computers to connect,这样我们才能使我们的Android设备进行远程连接代理生效。
完成上面步骤,我们使用Fiddler进行抓包的配置环境已经弄好了。
我们在Sessions窗口中随意选择一条Http请求,都能够在Request窗口与Response窗口总看到它的具体请求内容、请求方式与返回结果。
设置断点修改请求
Fiddler最强大的功能莫过于设置断点了,设置好断点后,你可以修改Request、Response 的任何信息包括host, cookie或者表单中的数据。
设置断点有两种方法
第一种:打开Fiddler 点击Rules-> Automatic Breakpoint ->Before Requests(这种方法会中断所有的会话)
如何消除命令呢? 点击Rules-> Automatic Breakpoint ->Disabled
第二种: 在命令行中输入命令: bpu www.baidu.com (这种方法只会中断www.baidu.com)
如何消除命令呢? 在命令行中输入命令 bpu
修改Request
首先我们在快速命令行工具中输入: bpu www.test.com ,断点拦截网址为www.test.com的请求,我们在手机浏览器的地址栏输入: www.test.com,再按下“进入”按钮。此时Android设备上的兰兰器发出的request请求已经被Fiddler拦截下来。
再Sessions窗口中选择www.test.com的请求,我们在Request窗口中就能够看到其请求的具体信息,包括:GET、Host、User-Agent、Cookie、Accept等Http协议的参数。我们修改GET请求与目标Host为www.baidu.com如下图所示。
修改完毕后,按下“Run to Completion”,恢复中断让请求继续。这个时候,浏览器的请求就已经完全地变为www.baidu.com了。手机浏览器打开的是百度页面,这就说明我们拦截修改成功了。
AutoResponder修改Response
我们通过Fiddler将百度首页的Logo替换 为我们本地的一张图片
- 在手机的浏览器中输入 www.baidu.com,并跳转到该网址。
- 在Fiddler的Sessions窗口中找到Logo图片的会话(http://m.baidu.com/static/index/plus/plus_logo.png)。
- 在其Logo图片会话中,选择其Request窗口,并将数据返回tab选择为AutoResponder。
- 选择Enable rule 和 Unmatched requests passthrough。
- 在Rule Editor下面选择Find a file… ,选择本地保存的图片,最后点击Save保存。
- 再用手机浏览器打开 www.baidu.com ,则会看到首页的Logo用的是本地的
到这里Fiddler的基本用法简单的介绍完了,至于其它用法就在小伙伴们使用的过程中慢慢摸索吧。
参考文献:
《Android安全技术揭秘与防范》