常见抓包工具
HTTP抓包工具:Fiddler、Charles、Firebug、开发者工具等等。。。
Chrome开发者工具简单演示
打开Chrome 浏览器,按下F12快捷打开Chrome开发者工具
点击Network 标签
-
勾选 Preserve log选项,确保页面刷新不会把已抓到的请求清空
打开网站首页,输入登录名和密码,点击登录
-
查看开发者工具,可以找到如下图Login的请求接口
-
查看Login 请求的详细信息
请求方法:POST
请求的URL:http://test.logwing.com/Home/Login
请求参数格式:Content-Type: application/x-www-form-urlencoded
请求参数:UserName=XXX&Password=XXXX&CheckCode=&Remember=false&LoginCheckCode=7119
请求结果类型:Content-Type: application/json; charset=utf-8
请求结果:
更多关于Chrome开发者工具帮助中文帮助文档可以参考:https://github.com/CN-Chrome-DevTools/CN-Chrome-DevTools
Fiddler
Chrome开发者工具依赖于Chrome浏览器,也只能抓取Chrome浏览器发起的请求,如果我们想获取所有程序发起的请求,我们就可以通过Fiddler来抓取。
简介
Fiddler(中文名称:小提琴)是一个HTTP的调试代理,以代理服务器的方式,监听系统的Http网络数据流动,Fiddler可以也可以让你检查所有的HTTP通讯,设置断点,以及Fiddle所有的“进出”的数据(我一般用来抓包),Fiddler还包含一个简单却功能强大的基于JScript .NET事件脚本子系统,它可以支持众多的HTTP调试任务。
工作原理
Fiddler是以代理WEB服务器的形式工作的,浏览器与服务器之间通过建立TCP连接以HTTP协议进行通信,浏览器默认通过自己发送HTTP请求到服务器,它使用代理地址:127.0.0.1, 端口:8888. 当Fiddler开启会自动设置代理, 退出的时候它会自动注销代理,这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler。
简介和原理摘录自:作者:daoyidao的文章https://www.jianshu.com/p/99b6b4cd273c
简单演示
抓取http请求
- 启动Fiddler。
-
点击Fiddler主界面右下角的监听程序,选择ie浏览器则该系统上所有的浏览器发起的http请求都将被抓取。
- 打开chrome浏览器 ,打开官网首页,输入用户名密码登录。
- 查看Fiddler主面板,可以查看到Login请求。
-
查看Login请求的信息
可以查看到跟Chrome插件查看到类似的信息。
抓取https协议
- 打开Tools --> fiddler options...
-
点击HTTPS标签,做如下配置,期间会让你安装证书全部点击确定便可。
- 使用同http
拦截请求
Fiddler除了能抓包外,还能拦截请求。 拦截请求是非常实用的一个操作,你可以把请求拦截,然后修改请求内容。
-
设置拦截方式,请求发送前或者请求发送后。
1)before response。发送请求之后,但是Fiddler代理中转之前,这时可以修改请求的数据,可以简单理解为修改请求内容。
2)after response。服务器相应之后,但是在Fiddler将响应中转给客户端之前。这时可以修改响应的结果,可以简单理解为修改返回内容。
3)Disabled 未取消拦截
-
拦截请求
2.1设置before response拦截方式,发起请求,这时会看到请求被拦截,修改请求参数点击 Run to Completion 则按修改后的请求发送
2.2 设置after response拦截方式。 发起请求,这时会fiddler会看到接口返回的数据,修改返回的数据点击 Run to Completion 会看到接口返回的数据为你修改后的数据。
更多帮助
官方帮助文档:http://docs.telerik.com/fiddler/configure-fiddler/tasks/configurefiddler