博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
抓包工具Charles
阅读量:5924 次
发布时间:2019-06-19

本文共 1790 字,大约阅读时间需要 5 分钟。

hot3.png

背景介绍

c165e0772c4d4fe1aa4b22b5fd3f2b4a.jpeg

Charles是一款很实用,界面很友好(至少跟fiddler比起来),功能强大的抓包神器,因为它是基于 java 开发的,所以跨平台,Mac、Linux、Windows下都是可以使用的,并且在Android和iOS设备上通用。它的原理是通过成为电脑或者移动设备的代理截取请求和请求结果达到分析抓包的目的。本文将介绍Charles的安装,如何配置代理和一些基础功能的使用介绍以及本人使用过程中踩到的坑。如有错误,欢迎指正。

首先,Charles提供两种不同视图方式,structure视图是将网络请求按访问的域名分类;

d595485e08ec466a90beee21a1c72613.jpeg

Sequence 视图是将网络请求按访问的时间排序。

4ba82c60b2d641c29033639e1b06b038.jpeg

Charles安装

官网下载地址:https://www.charlesproxy.com/

官方版为试用版,启动时有10秒等待,每隔30min会有提示,这个版本emmmmm~试用一下就好

For Windows:https://www.7down.com/soft/133829.html

For Mac:http://www.xue51.com/mac/2527.html

本人私藏版下载(For Windows V4.0.2)

链接: https://pan.baidu.com/s/1OeBJUB4fbfOPSkkI-acLzQ

密码: zba5

【注】安装完后,替换”安装路径->Charleslib”文件夹下的charles.jar文件成破解版jar文件,如果再次启动未弹出30天试用的提示,说明破解成功。

Charles代理配置使用

配置代理

【注】这一步的目的是为了移动设备连接到Charles,这样移动设备发起的所有请求才能在Charles中看到。以下所有演示截图皆来自Android设备,iOS设备大同小异。

1)使用Charles工具查看PC本地IP和端口号(端口号默认为8888,也可自行修改),选择“Help->Local IP Address”

29aa50118c4c44edb21e6538754695d3.jpeg

查看默认端口号“Proxy->Proxy Settings”

bce602eb1cb64072908f7632cdab4fc9.jpeg

e4e36459789a4cbc8262035d3ccb8b54.jpeg

2)长按Android设备当前连接的WiFi,选择”Modify network”->”Advanced options”->“Proxy”->”Manual”,如下图所示,输入”Proxy hostname”和”Proxy port”(即上一步查看的IP地址和端口号)然后点击保存,见下图:

53d8b276fa6249ebba48442dcae64aef.png

3)点击保存后,Charles会弹出connection确认弹窗,选择”Allow”,见下图:

121fde079eb84e46917103d813217d15.jpeg

4)注意,如果首次连接时,Charles未出现该提示,请手动进入Charles的设置选项,添加当前手机的IP,选择“Proxy->Access Control Settings”

bae0967e21b54b1d9ff5dd7df5f211ab.jpeg

点击“Add”手动添加IP

3e0135f0cd5b4698acb5a0491d5033ac.jpeg

移动设备证书安装

上述操作只是完成了代理配置的一半,想要Charles抓到包还需要在移动设备上安装证书。

1)手机浏览器访问链接http://www.charlesproxy.com/getssl/(链接名字长,注意不要写错),也可以在Charles中查看下载证书的地址,见下图红框标注的位置

7dbfb584f0af45f5be2a2e3d5c96d8a6.jpeg

81bbfa87dd6e417bb5b51f97db6993b1.png

2)安装动态证书(证书名称随意填写即可),凭据用途默认即可,证书安装时需要设置系统锁,设置锁屏成功后证书会提示证书安装成功。到此,你的设备和Charles就建立了连接,可以尝试在设备上访问一个地址,在Charles左侧视图就能实时看到请求啦~但你会发现,有些请求为什么会显示成红叉unknown呢?请接着往下看~

【注】此步操作不成功的请下滑页面到底看【踩坑】部分。

20f699ec2f194d149c963ccdc2ff34d9.jpeg

 

ps:

注意,有一些应用使用的网络框架是不允许通过代理访问的,此时通过charles抓包显示的地址仍是unknown,或者手机上访问该应用会提示网络连接错误等信息,此时取消勾选charles的SSL Proxying settings中的勾选框就可以正常访问了

最后,抓取工作完成后,记得把手机上的代理设置恢复原样,否则当电脑上的charles关闭时,手机将无法正常访问网络

参考:

https://blog.csdn.net/manypeng/article/details/79475870 

转载于:https://my.oschina.net/jack088/blog/3003851

你可能感兴趣的文章
HDU 1010 Tempter of the Bone
查看>>
Exception in thread "main" java.lang.NoClassDefFoundError错误总结
查看>>
asp.net identity 介绍
查看>>
AC日记——最长最短单词 openjudge 1.7 25
查看>>
去重排序
查看>>
Windows Azure革新——Caching(预览)
查看>>
Windows Azure 安全最佳实践 - 第 4 部分:需要采取的其他措施
查看>>
maven pom.xml加载不同properties配置
查看>>
Linux定时任务
查看>>
查看Eclipse版本号,及各个版本区别
查看>>
一些正则表达式
查看>>
Spring Boot+Quartz实现一个实时管理的定时任务
查看>>
uva 11181 Probability|Given
查看>>
洛谷 2017.7月赛解题报告
查看>>
CentOS 网络设置
查看>>
有一种书叫——迫不及待
查看>>
C++学习之路: 时间戳 封装成类
查看>>
Python学习笔记(14)-私有属性、私有方法
查看>>
WPF入门教程系列一——基础
查看>>
List实现行转列的通用方案
查看>>