使用青花瓷Charles抓取手机端的网络请求:

第一步,下载安装并打开Charles

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcHJlX2VtaW5lbnQ=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

第二步,去掉菜单【Proxy】以下的【Mac OSX Proxy】和【Mozilla Firefox Proxy】前面的"勾"

第三步,让手机和电脑处在同一个局域网(连同一个Wifi)

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcHJlX2VtaW5lbnQ=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

第四步,打开手机的设置(Setting),选择(无线局域网),点击所连的网络,滑动到最下方的【HTTP代理】,选择中间的手动,输入server的IP:【就是电脑的IP】,port:8888

假设mac电脑上en0的ip地址是192.168.1.56,而手机尽管连上了mac发出的wifi网络,但手机此时dhcp显示的ip地址是:192.168.2.34;rooter和DNS都是192.168.2.1,那么。此时http代理填入的ip地址就是192.168.2.1,例如以下图所看到的:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

第五步,回到电脑,点击Charles的【Start Recording】

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcHJlX2VtaW5lbnQ=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

第六步。手机打开app应用,或者浏览器訪问网络,就能够被抓包了,尤其是返回JSON数据

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcHJlX2VtaW5lbnQ=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">


2016-06-10补充破解补丁和HTTPS抓包

今天就来看一下Mac上怎样进行抓包,之前有一篇文章介绍了使用Fidder进行抓包

http://blog.csdn.net/jiangwei0910410003/article/details/19806999

只是可惜的是,Fidder使用C#开发的,所以就不能在Mac上使用了,只是还有另外一个抓包神器,就是Charles,它是Java开发的。所以跨平台,不仅能够在Mac上使用,Linux以及Window下都是能够使用的,当然须要安装JDK,才干执行。同一时候另一个问题就是他是收费的。

一、下载

先到它的官网http://www.charlesproxy.com/可下载到最新版本号,这个下载有点慢,我已经将它放到网盘中了:http://pan.baidu.com/s/1gdu0S4V

这个是3.9.3版本号的。下载下来,安装就不多说了,非常easy....打开界面:

二、破解

只是这个收费的,那么接下来就開始破解吧。事实上破解非常easy就是替换一个文件就能够了,能够在网上搜:Charles3.9.3破解的jar文件

这里我也是下载好了:http://pan.baidu.com/s/1i3gjEfj

下载下来之后我们就能够进行破解吧:

打开应用程序。选择Charles,选择显示包内容:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamlhbmd3ZWkwOTEwNDEwMDAz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" style="border:none">

然后点击Contents->Resources->Java:

然后将我们下载下来的charles.jar替换这里的charles.jar就能够了。然后再次打开Charles,就不会太提示30天使用期限了。破解搞定

三、抓包

以下来看一下怎样进行抓包

第一、HTTP抓包

1、打开Charles程序

2、查看Mac电脑的IP地址,系统偏好设置->网络就能够查看到了,比方我的ip地址是:192.168.1.7

3、打开iOS设置,进入当前wifi连接(Mac在一个局域网内)。设置HTTP代理Group。将server填为上一步中获得的IP。即192.168.1.7,port填8888:

4、iOS设备打开你要抓包的app进行网络操作

5、Charles弹出确认框。点击Allowbutton就可以

第二、HTTPS抓包

须要下载Charles证书http://www.charlesproxy.com/ssl.zip。解压后导入到iOS设备中,这里我也是下载好了:

http://pan.baidu.com/s/1sjJiZYt,我们在iOS设备中使用safari打开这个链接:

 
  点击打开: 
  点击安装:

再次点击安装,证书就成功安装了

然后在Charles的工具栏上点击Proxybutton。选择Proxy Settings…

切换到SSL选项卡。选中Enable SSL Proxying,别急。选完先别关掉。还有下一步

这一步跟Fiddler不同,Fiddler安装证书后就能够抓HTTPS网址的包了,Charles则麻烦一些,须要在上一步的SSL选项卡的Locations表单填写要抓包的域名和port,点击Addbutton,在弹出的表单中Host填写域名,比方填api.instagram.com,Port填443

这时候我们打开网易app:

就能够看到数据了。至此抓包工作就搞定了。

注意:当我们不抓包的时候,会将Charles关闭。这时候iOS是訪问不到网络的。由于设置了代理(就是Charles),这时候须要将iOS中的代理关闭,这个是抓包时常常犯的错。




















































最新文章

  1. 如何实现textarea中获取动态剩余字数的实现
  2. Javascript模块化编程之路——(require.js)
  3. 基于FPGA的线阵CCD图像测量系统研究——笔记
  4. JS中的嵌套作用域
  5. 《Genesis-3D开源游戏引擎--横版格斗游戏制作教程02:关键帧动画导入与切割》
  6. 跨域访问-JSONP
  7. Python 操作Redis
  8. Codility上的问题 (17) PI 2012
  9. g++优化选项
  10. BrowserSync使用
  11. XWPFRun属性详解
  12. java做成windows服务,电子秤例子,开机自动启动
  13. Function方法和属性图
  14. java中定时器的简单使用
  15. java多线程小题一瞥
  16. 1.4 Crack小实验
  17. 如何给Windows Server 2012 R2 添加“磁盘清理”选项
  18. Windows 和 Linux 平台下的端口转发工具
  19. Android 使用SQLite
  20. 从RTTI谈C++的向下转型

热门文章

  1. 【BZOJ 1486】 [HNOI2009]最小圈
  2. javascript-js常用插件集合
  3. 洛谷——P2822 组合数问题
  4. 随心所欲生成git仓库随意一段commit的专用patch应用小实践
  5. Android在程序中浏览网页
  6. JDBC连接mysql增删改查整体代码
  7. bzoj4823: [Cqoi2017]老C的方块(最小割)
  8. iOS-UITextField 全面解析
  9. 关于PageRank的总结
  10. LeetCode 1. Two Sum (c++ stl map)