写在前面


抓包(packet capture)就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包也经常被用来进行数据截取等。本节讲述Charles配置过程。

注:此软件大多用于程序员后台调试测试等功能,请勿用于非法用途

Charles其实是一款代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和请求结果达到分析抓包的目的。该软件是用Java写的,能够在Windows,Mac,Linux上使用。开发iOS都在Mac系统上吧,安装Charles的时候要先装好Java环境。这么好的软件不是免费的,官网要好几十刀呢,我这里有一个破解版,点击这里下载(提取码cpai)
破解方法:
将下载的charles.jar文件覆盖到安装目录下的lib文件夹下即可完成破解(Windows) !
将下载的charles.jar文件覆盖到Content->Java下即可完成破解(MAC) !
注意: 这是4.1.4的破解文件,不确定其他版本也同样适用!,当然不是最新版的。如果你想体验最新版,Charles是提供试用的。

Charles主要功能

  • 支持SSL代理。可以截取分析SSL的请求。
  • 支持流量控制。可以模拟慢速网络以及等待时间(latency)较长的请求。
  • 支持AJAX调试。可以自动将json或xml数据格式化,方便查看。
  • 支持AMF调试。可以将Flash Remoting 或 Flex Remoting信息格式化,方便查看。
  • 支持重发网络请求,方便后端调试。
  • 支持修改网络请求参数。
  • 支持网络请求的截获并动态修改。
  • 检查HTML,CSS和RSS内容是否符合W3C标准。

本节为软件配置的操作步骤:

分步指南

第一步:配置HTTP代理,这步与抓取HTTP请求是一样的:

利用Charles进行抓包使用教程(一)-秋名山の纸飞机

选择在8888端口上监听,然后确定。够选了SOCKS proxy,还能截获到浏览器的http访问请求。

第二步:配置SSL代理:

首先在charles的 Proxy选项选择SSL Proxy Settings利用Charles进行抓包使用教程(一)-秋名山の纸飞机

点add添加需要监视的域名,支持 *号通配符,端口一般都是443:

第三步 为手机设置代理

在手机无线中配置手动代理,输入安装Charles的电脑的网络地址,端口填8888。

第四步 安装根证书

在手机上安装Charles的根证书:

以IOS为例,在Safri上打开Charles的根证书下载网址: chls.pro/ssl 。
顺利的话会出现这样的画面,继续点安装,然后去设置里的描述文件管理中信任它就行了。利用Charles进行抓包使用教程(一)-秋名山の纸飞机

如果不能下载,检查手机是否正确设置了代理,Charles是否已经打开并配置正确。

电脑端的根证书安装

以MAC为例,直接在Charles的Help菜单中安装;安装完成后去系统的钥匙串访问中信任它。利用Charles进行抓包使用教程(一)-秋名山の纸飞机

完成后:试试看抓一下QQ空间的数据,将..qq.com 和*.qq.com 添加到SSL Proxy的Setting中后,配置好手机代理,打开手机QQ空间App
可以看到抓取到的报文如下:利用Charles进行抓包使用教程(一)-秋名山の纸飞机


由Charles而发的感想 

  1. 有些人认为https可以完美防止中间人攻击,无法抓到https的明文包...... 其实是不对的,TLS的设计只能说是从技术上最大限度地保护网络报文的安全,但是数据在内部的传输是没有加密的(而且无法加密)。

  2. 网络安全和用户的安全意识是强相关的,技术的防范能力总是有限的。在实际生活中养成良好的上网习惯,千万不能随意信任不明来源的证书,轻视浏览器、操作系统或其他App给我们发出的安全警告。  

  3. 尽可能不要连接公共场所的WIFI。重要的事情只说一遍!


写在后面 

不要将抓包软件用于非法用途。如果你去犯罪,我可以很负责的告诉你:警察叔叔有一万种抓你的方法。

相关新闻:

1 分钱住五星级!南昌小黑客涉毒被查

三个90后花27块钱买到近三千张上海迪士尼门票

国美话费充值因技术漏洞遭窃