iOS安全攻防之使用 Charles 进行网络数据抓包 和 Paros 网络抓包

时间:2021-08-31 01:08:00

  Charles 是 Mac 系统下常用的网路抓包工具(Paros 也不错),windows 下常用 fiddler。正版的 Charles 是收费的(PS:支持正版),天朝人民比较喜欢破解版的Charles (感谢博主,好人一生平安,请多多支持博主)。

  主要功能如下:

  1. 截取 Http 和 Https 网络封包。
  2. 支持重发网络请求,方便后端调试。
  3. 支持修改网络请求参数。
  4. 支持网络请求的截获并动态修改。
  5. 支持模拟慢速网络。

  软件安装好之后:

  iOS安全攻防之使用 Charles 进行网络数据抓包 和 Paros 网络抓包

  

  接下来抓取手机上软件数据包需要进行配置:proxy->proxy settings,端口:8888,勾选上 Enable transparent HTTP proxying。

  iOS安全攻防之使用 Charles 进行网络数据抓包 和 Paros 网络抓包

  是 iPhone 手机与电脑在同一局域网下,打开系统设置,进行网络代理设定:手机浏览器访问:http://charlesproxy.com/getssl 下安装描述文件。

  iOS安全攻防之使用 Charles 进行网络数据抓包 和 Paros 网络抓包iOS安全攻防之使用 Charles 进行网络数据抓包 和 Paros 网络抓包

  设定成功后访问网络,Charles 会弹出下面的框,点允许。

  iOS安全攻防之使用 Charles 进行网络数据抓包 和 Paros 网络抓包

  

  如果需要截取 HTTPS 协议的相关信息,需要安装 Charles 的 CA 证书。选择 “Help” -> “SSL Proxying” -> “Install Charles Root Certificate”

  iOS安全攻防之使用 Charles 进行网络数据抓包 和 Paros 网络抓包

  在钥匙串安装成功后需要输入用户名密码对证书进行信任。

  iOS安全攻防之使用 Charles 进行网络数据抓包 和 Paros 网络抓包

  如果需要获取手机上的 HTTPS 协议相关内容,需要在手机上安装证书。“Help” -> “SSL Proxying” -> “Install Charles Root Certificate on a Mobile Device or Remote Browser”

  iOS安全攻防之使用 Charles 进行网络数据抓包 和 Paros 网络抓包

  需要注意的是,即使是安装完证书之后,Charles 默认也并不截取 Https 网络通讯的信息,如果你想对截取某个网站上的所有 Https 网络请求,可以在该请求上右击,选择 SSL proxy。

  

  接下来进行模式网络:

  模拟慢速网络或者高延迟的网络,以测试在移动网络下,应用的表现是否正常。Charles 对此需求提供了很好的支持。在 Charles 的菜单上,选择 “Proxy”->”Throttle Setting” 项,在之后弹出的对话框中,我们可以勾选上 “Enable Throttling”,并且可以设置 Throttle Preset 的类型。如下图所示:

  iOS安全攻防之使用 Charles 进行网络数据抓包 和 Paros 网络抓包

  

  使用 Charles 的 Repeat 功能来简单地测试服务器的并发处理能力,方法如下:右键选中,选择 Repeat Advanced..可以选择压测数量。

  iOS安全攻防之使用 Charles 进行网络数据抓包 和 Paros 网络抓包

  iOS安全攻防之使用 Charles 进行网络数据抓包 和 Paros 网络抓包

  最后献上抓取 微贷网 的 HTTPS 数据包结果:

  iOS安全攻防之使用 Charles 进行网络数据抓包 和 Paros 网络抓包

  修改网络请求内容:

  

  另外一种Mac下常见的抓包软件是 Paros,需要的话留言。

  Paros 操作更简单。

  点击 Paros.jar 打开,

  iOS安全攻防之使用 Charles 进行网络数据抓包 和 Paros 网络抓包

  点击 Tools->Options->Local proxy,设置 IP 和端口号:

  iOS安全攻防之使用 Charles 进行网络数据抓包 和 Paros 网络抓包

  然后在手机上设置 HTTP 代理。同上。进行网络请求就可以看到数据包了。

  iOS安全攻防之使用 Charles 进行网络数据抓包 和 Paros 网络抓包

  

  

iOS安全攻防之使用 Charles 进行网络数据抓包 和 Paros 网络抓包的更多相关文章

  1. iOS开发——网络实用技术OC篇&网络爬虫-使用青花瓷抓取网络数据

    网络爬虫-使用青花瓷抓取网络数据 由于最近在研究网络爬虫相关技术,刚好看到一篇的的搬了过来! 望谅解..... 写本文的契机主要是前段时间有次用青花瓷抓包有一步忘了,在网上查了半天也没找到写的完整的教 ...

  2. Android 手机卫士--构建服务端json、请求网络数据

    本文地址:http://www.cnblogs.com/wuyudong/p/5900384.html,转载请注明源地址. 数据的传递 客户端:发送http请求 http://www.oxx.com/ ...

  3. ios的网络数据下载和json解析

    ios的网络数据下载和json解析 简介 在本文中,笔者将要给大家介绍如何使用nsurlconnection 从网上下载数据,以及解析json数据格式,以及如何显示数据和图片的异步下载显示. 涉及的知 ...

  4. iOS开发——网络使用技术OC篇&网络爬虫-使用正则表达式抓取网络数据

    网络爬虫-使用正则表达式抓取网络数据 关于网络数据抓取不仅仅在iOS开发中有,其他开发中也有,也叫网络爬虫,大致分为两种方式实现 1:正则表达 2:利用其他语言的工具包:java/Python 先来看 ...

  5. iOS—网络实用技术OC篇&网络爬虫-使用java语言抓取网络数据

    网络爬虫-使用java语言抓取网络数据 前提:熟悉java语法(能看懂就行) 准备阶段:从网页中获取html代码 实战阶段:将对应的html代码使用java语言解析出来,最后保存到plist文件 上一 ...

  6. iOS - NetRequest 网络数据请求

    1.网络请求 1.1 网络通讯三要素 1.IP 地址(主机名): 网络中设备的唯一标示.不易记忆,可以用主机名(域名). 1) IP V4: 0~255.0~255.0~255.0~255 ,共有 2 ...

  7. iOS开发——网络实用技术OC篇&网络爬虫-使用java语言抓取网络数据

    网络爬虫-使用java语言抓取网络数据 前提:熟悉java语法(能看懂就行) 准备阶段:从网页中获取html代码 实战阶段:将对应的html代码使用java语言解析出来,最后保存到plist文件 上一 ...

  8. iOS安全攻防

    iOS安全攻防 http://www.docin.com/p-760264769.html

  9. iOS开发网络数据之AFNetworking使用

    iOS开发网络数据之AFNetworking使用 如何选择AFNetworking版本 首先得下载AFNetworking库文件,下载时得首先弄清楚,你将要开发的软件兼容的最低版本是多少.AFNetw ...

随机推荐

  1. [Effective JavaScript 笔记]第61条:不要阻塞I/O事件队列

    js程序是构建在事件之上的.输入可能来自不同的外部源.在一些语言中,我们习惯地编写代码来等待某个特定的输入. var text=downloadSync('http://example.com/fil ...

  2. association ,collection

    mybatis 出现这个错误Error creating document instance.  Cause: org.xml.sax.SAXParseException; lineNumber: 2 ...

  3. mysql学习之-逻辑架构

    mysql逻辑架构图: 第一层,服务层(为客户端服务):为请求做连接处理,授权认证,安全等. 1.  每个连接的查询都在一个进程中的线程完成. 2.  服务器负责缓存线程,所以服务层不需要为每个连接新 ...

  4. 8个WEB前端创意HTML5动画应用精选

    和十几年前相比,现在的网页加入了很多动画元素,从之前的Flash到现在的HTML5,动画样式越来越丰富,动画制作也越来越便捷.本文精选了几款非常富有创意的HTML5动画应用,欣赏一下吧. 1.HTML ...

  5. cocos2d-x使用tinyxml2存储解析xml

    我用的是2.1.4的cocos2d-x,里面自带有tinyxml2库. 导入头文件:#include "support/tinyxml2/tinyxml2.h" using nam ...

  6. Prometheus — Process-exporter进程监控

    由于我们常用的node_exporter并不能覆盖所有监控项,这里我们使用Process-exporter 对进程进行监控. 安装process-exporter wget https://githu ...

  7. vsftpd中配置文件详解

    在vsftp服务器中,配置文件/etc/vsftpd/vsftpd.conf文件是配置的核心内容,其具体的配置信息详细情况如下: 1.默认配置: 1>允许匿名用户和本地用户登陆. anonymo ...

  8. BOM 清除

    [root@test3 11]# gcc 11.2.c11.2.c:1: 错误:程序中有游离的 ‘\357’ 8进制,相当于16进制 ef11.2.c:1: 错误:程序中有游离的 ‘\273’11.2 ...

  9. Go 字典(Map)

    比较熟悉 Python 的对于字典肯定不会陌生,在 Go 中 map 就是 Python 中字典的概念,它的基本格式是 map[keyType]valueType .map 的读取和设置和 slice ...

  10. django关系类型字段

    一.多对一(ForeignKey) 多对一的关系,通常被称为外键.外键字段类的定义如下: class ForeignKey(to, on_delete, **options)[source] 外键需要 ...