charles 抓取不到数据如何抓取手机的数据

下面是整个链接。
http://www.winshy.com/2013/08/something_about_charlesproxy/?utm_source=rss
Charles:移动端抓包工具安装使用和经验小结
从事移动互联网一年多的时间,等到去年才慢慢和开发打交道,由于创业公司人手不足,没有专门测试人员,很多时候产品人员QA质量验收的时候,就会面临黑盒测试测试不全面,通讯请求盲人摸象的局面.通过一段时间的摸索,找到了Charles这款适合移动端抓包工具,的确比之前方便了很多,主要体现在:
1.可以查看具体的请求链接,查看有没有多余对服务器的请求,能否更好的优化和服务器之间的通讯.
2.可以直接查看竞品或者其他优秀app的通讯使用的数据结构,精简自己的数据结构,方便节省流量和提升效率
3.可以直接查看统计请求,方便调试有没有入库,或当发生加载异常等情况时,可以第一时间发现问题而无需等开发人员进行真机调试才能判断是服务器还是客户端的问题.
鉴于以上优点,如果路过围观的小伙伴们对这些优点感兴趣又和我有一样的苦恼,不妨继续往下看,以下是安装过程和在使用中的一些经验.
1.下载并安装Charles.
mac版和window版都有,下载可以去Charles官网(),下载下来的是试用版(截止最新版本是3.7),虽然只是试用版有一定限制,比如开机delay10s,每隔5分钟提示你转为试用版,30分钟后强行关闭,但鉴于他强大的功能,30分钟其实已经足够.目前3.6在百度上有破解版,自行百度之.
2.配置Charles.
1)打开charles后,在proxy标签项关闭自身代理,此选项开启会抓取电脑的网络请求,影响我们测试。实际上我们在测试手机app并不需要,故关闭。
2)设置pc端代理。如下图选择proxy setting.如下图所示:
Proxies一项设置如下,默认端口为8888,用于手机连上代理的端口.
接下来SSL一项如下设置:
即允许ssl代理,下方的*.*是要通过add按钮添加进去的。在按”add”按钮之后两个输入框均输入”*”,”*”即可.
3) 设置允许代理的ip地址范围。打开proxy-&access control setting,如下:
将你允许的ip地址段填写进去。如下图:
确定自己要填的ip地址段,window使用cmd命令行
输入ipconfig回车 即可看到自己目前所在的ip,如192.168.0.108(首先这个ip地址最好是无线路由分配的),即可以设置为192.168.0.0/24.如此设置之后192.168.0.0~192.168.0.255的地址均可以访问你的电脑,通过你的电脑进行代理上网。如下图:
3.设置手机端的相关参数.
不同手机设置方法可能有所不同,以安卓手机(谷歌原生4.0以上系统)为例,进入系统设置-》网络,长按目前和pc端连接一样的路由名称,弹出修改网络,选择修改网络,如下:
按照以上截图选择显示高级选项。配置刚刚pc的ip地址,和端口即可。
然后关闭pc端的防火墙,测试是否连接电脑成功。(此步骤很重要)
测试方法:点击随便一个应用(笔者启动的是今日头条),看charles的Structure栏中有没有出现一些文件夹,类似下图,如果有则成功;
**********charles常用的一些功能介绍:
1) 忽略请求功能。由于某些时候我们只需要关注某一个应用的请求,所以过滤掉其他不需要显示的请求可以让我们集中精力在该应用.点击某行右键选择ignore(如下图),可以将此链接忽视,将干扰的网络请求屏蔽,防止影响我们测试:
2) 复制原链接。此功能可以复制请求的原链接,只要你使用Chrome浏览器安装了son viewer的插件,黏贴上去回车即可看到返回的数据结构。同时也方便于发给服务器的开发人员调试用。如下:
3) 清空捕获的网络请求,正常状态下在structure栏里按ctrl+a,然后按delete键,就可以清除所有捕获的网络请求,
4) 查看请求的相关数据。如下图,overview可以方便的看出请求的时间长短,请求的大小和返回数据的大小,即数据请求的大概情况;
Request用于查看请求的参数是否携带正确。如下图:
而response可以查看返回的数据结构是不是我们想要的,如下图,可以明确的看到拿到的封面数据是否正确。
当请求的是一张图片时,还可以直接用response-》image查看图片的尺寸和图片,方便我们确认是否下载正确,如下图:
注:使用代理无法访问一些安全验证网站如新浪微博绑定页面,目前android版使用代理直接访问在某些机器上会直接闪退关掉该页面,故需要绑定时请关闭代理之后再连接上代理验证。
*************Charles目前尚有问题的地方:
1.同样设置在一些机器可以捕获到Google Analytics的请求,但有些不行,暂时还找不到原因.
2.暂时无法捕捉到微信等请求,可能因为使用的协议不同所以无法捕获,这也是其局限性之一.
3.在一些机器开启charles捕获链接时使用新浪微博登录时会出现崩溃现象,原因也暂时不明.
如果小伙伴们有找到关于以上问题的答案也欢迎和我们分享下.
浏览 31115
浏览: 1087598 次
来自: 开封
macd2666 写道录制出来的语音声音好轻啊。你好,这个编译 ...
macd2666 写道录制出来的语音声音好轻啊。
linker command failed with exit ...
http://www.codertopic.com/?page ...
录制出来的语音声音好轻啊。
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
本地idea项目已经启动起来,接口的地址是localhost:9090/api/v2/user
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
问题已经解决了,是因为我没有调login接口的原因,调这个接口登录 下就ok了,原因就是因为我抓包之前没登录。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
不是很理解你的需求
例如你抓取的原始 API 是 xx.xx.com/api
想把 APP 请求 xx.xx.com/api 转发到 127.0.0.1/apiA:
同步到新浪微博
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。没有更多推荐了,
不良信息举报
举报内容:
为什么用charles抓取手机APP,配置正确,但是却抓不到数据
举报原因:
原文地址:
原因补充:
最多只允许输入30个字
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!如何使用Charles抓包并分析Http报文
从Web安全的攻击防御方面来说,最多接触的应该就是Http协议了,当我们作为中间人(man-in-the-middle)查看到所有浏览器到web服务器的http报文的时候,一切就都有意思起来。
比如,分析某电商在交易支付的时候请求了哪些东西,分析某网站的登录流程都请求了哪些数据,分析某社交软件有没有偷偷的上传隐私数据等等,甚至可以拿到Https加密过的请求哦!
如果我是黑客,分析过后也许就会通过工具篡改伪造请求报文,欺骗服务器,从而实现某些恶意行为,比如撞库、刷单、撸羊毛、爬取数据等等。
那么,如何快速有效的抓取http数据包并进行分析呢,这里推荐一个跨平台抓包神器—Charles。
charles是一个图形界面可视化的代理形式(HTTP,SOCKS,SSL/HTTPS)的抓包工具,它提供对HTTP,SSL/HTTPS协议下通过同一个路由器下的设备的数据交流分析,包括各种HTTP请求和响应信息,charles目前只支持抓到部分socket的数据。
● 下载安装
http://www.charlesproxy.com/download/
charles需求java环境,并且为收费工具,试用版每30分钟将会关闭。
● socks/http代理配置
charles提供透明代理功能,当安装配置对象为网关服务器时,菜单处proxy-&proxy setting勾选HTTP代理,勾选enabletransparent HTTP proxying选项即可。
检测为第一次安装使用时charles会提供部分浏览器和应用的自动代理设置:
Windows / Internet Explorer proxy settings – used automatically by mostWindows applications
Mac OS X proxy settings – used automatically by most Mac OS Xapplications
Mozilla Firefox proxy settings (all platforms)
Mozilla Firefox可在设置ADD-ONs处添加自动配置插件:
其他应用/浏览器:
当于charles菜单proxy处设置好了设置以后,可以查询各个浏览器,应用的代理设置方式,在设备(包括手机)处于同一网络(同一路由)下时,填写charles所处设备的ip地址和charles设置的代理端口(默认8888),即可通过charles代理。
● SSL https代理配置
charles菜单help-&SSL proxy-&安装certificates后
菜单proxy-&SSLproxy setting-&添加代理目标地址(可于另外两个选项添加client和root的certificates)。
在手机端浏览器输入“http://www.charlesproxy.com/getssl“ 下载证书,并将格式转换为crt安装在手机上即可。
通过代理client ip段设置:
于菜单proxy-&AccessControl处可设置通过代理的clientIP段
charles可再通过代理传输数据,可在proxy-&external proxy处设置代理,使charles再通过其他代理。
charles的图形界面提供格式话的抓包数据的分析和各种处理方式。
当配置完毕以后数据会在当前session数据界面(Structure树状和Sequence队列两种方式)显示抓到的各个请求和相应信息,树状抓到的数据会以相同地址聚合的方式堆列为树状,而队列形式为以先后的顺序显示。对显示的数据有相应的选项可操作数据,其中request和response可以以image,text,html,json,java……的形式显示。
charles提供断点形式(breakpoint)的代理,可对请求进行再编辑以后再将请求发送过去。同时提供repeat 的重复发送功能,并有相应的功能设置(advance repeat)对该重复发送功能进行设置(定时定量)。
charles在启用时提供的模式主要以record,throttle,断点模式。
其中,记录模式即使关闭charles一样在进行抓取数据,只是不将其显示出来。
throttle模式可将目前连接代理的所有client虚拟为所设置的网络质量。
其中,在附带工具中有可选其他关联选项附加模式。
菜单-&tool下有:
● no caching
对caching设置的工具,设置以后,代理将拒绝代理的client使用cache缓存的形式显示相应。
local:该功能可将代理本地的文件替换请求所响应的结果,目标请求的响应将替换为本地所选资源返回并显示给client。
remote:同上功能,但所替换的资源为远程他网络服务器上的其他请求地址或数据接口。
● rewrite
该工具可再编辑client发送给目标服务器的请求,并且提供批量改写字段的编辑。
● blocking cookies
该功能提供保存目标服务器发送/接收的各个cookies,可用来测试该web服务器是否对代理所持有的cookies有效(该功能提供导入和导出所保存的cookies)。
该工具提供对目前的session进行镜像处理。
charles提供终端下的命令形式操作方式和浏览器接口形式的操作方式。
charles &path&
以一个session文件打开一个新的session
charles -config &path&
制定一个config文件的使用
charles -headless
无图形界面的启动charles
charles -throttling
开启throttling模式
● 网页接口:
包括增加删除,保存session,开启关闭各种模式。同终端模式,并不提供各种可视化的抓包数据分析。
责任编辑:
声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
帮助企业解决业务、账户等业务类安全问题
今日搜狐热点没有更多推荐了,
不良信息举报
举报内容:
使用charles来抓取手机App的网络包
举报原因:
原文地址:
原因补充:
最多只允许输入30个字
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!

我要回帖

更多关于 charles 抓取电脑数据 的文章

 

随机推荐