IOS工具(一)抓包工具

@[toc]

抓包工具 分析

移动端抓包工具有:

  1. Charles, Fidder 这两款软件都是在电脑上面允许,通过设置IP设置,网络包路由到电脑上抓取。
  2. Replica是移动端app ,可以直接在这款app中抓取手机其他App发送的http请求包。

1. IOS抓包工具 Repica app使用

1.1 安装Repica app

app store搜索 repica下载:


在这里插入图片描述

首次运行需添加VPN配置:

上传抓包示例:

1.打开Replica App,点击Start开始抓包(注意免费版只能记录20条)


在这里插入图片描述

2.返回Replica ,点击Stop停止抓包-->然后点击屏幕下方Analytics按钮

此时可以看到抓包信息,点击最上面的进入本次抓包:


在这里插入图片描述

2. IOS抓包工具 Charles mac抓包软件使用

2.1 Charles 安装

在iOS开发过程中,抓包是常见的必备技能之一。官方dmg下载地址:点击此处下载Charles

安装完成后需要注意:

  1. 添加 SSL 配置
    Charles -> Proxy -> SSL Proxying Settings -> SSL Proxying
    添加对应的域名和端口,为了方便起见,可以直接添加, 通配符配置,端口号为。
  2. 配置手机代理
    手机和 Mac 连接到同一个 WIFI 网络。
    Android -> Settings -> Wi-Fi -> 长按当前 Wi-Fi -> Modify network
    Advanced options
    Proxy -> Manual
    Proxy hostname -> Mac 的 IP
    Proxy port -> 8888
    Save
  3. 安装 Charles 证书
    在手机浏览器地址栏输入:http://www.charlesproxy.com/getssl/,下载证书,点击安装。

2.2 charles 工具介绍

工具介绍:

Charles 是在 Mac 下常用的网络封包截取工具,在做
移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。

Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。

除了在做移动开发中调试端口外,Charles 也可以用于分析第三方应用的通讯协议。配合 Charles 的 SSL 功能,Charles 还可以分析 Https 协议。

Charles 是收费软件,可以免费试用 30 天。试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过 30 分钟,并且启动时将会有 10 秒种的延时。因此,该付费方案对广大用户还是相当友好的,即使你长期不付费,也能使用完整的软件功能。只是当你需要长时间进行封包调试时,会因为 Charles 强制关闭而遇到影响。

Charles 主要的功能包括:

截取 Http 和 Https 网络封包。
支持重发网络请求,方便后端调试。
支持修改网络请求参数。
支持网络请求的截获并动态修改。
支持模拟慢速网络。
Charles 4 新增的主要功能包括:

支持 Http 2。
支持 IPv6。

配置:
将 Charles 设置成系统代理
之前提到,Charles 是通过将自己设置成代理服务器来完成封包截取的,所以使用 Charles 的第一步是将其设置成系统的代理服务器。

启动 Charles 后,第一次 Charles 会请求你给它设置系统代理的权限。你可以输入登录密码授予 Charles 该权限。你也可以忽略该请求,然后在需要将 Charles 设置成系统代理时,选择菜单中的 “Proxy” -> “Mac OS X Proxy” 来将 Charles 设置成系统代理。如下所示:

在这里插入图片描述

之后,你就可以看到源源不断的网络请求出现在 Charles 的界面中。

需要注意的是,Chrome 和 Firefox 浏览器默认并不使用系统的代理服务器设置,而 Charles 是通过将自己设置成代理服务器来完成封包截取的,所以在默认情况下无法截取 Chrome 和 Firefox 浏览器的网络通讯内容。如果你需要截取的话,在 Chrome 中设置成使用系统的代理服务器设置即可,或者直接将代理服务器设置成 127.0.0.1:8888 也可达到相同效果。

Charles 主界面介绍:

在这里插入图片描述

Charles 主要提供两种查看封包的视图,分别名为 “Structure” 和 “Sequence”。

Structure 视图将网络请求按访问的域名分类。
Sequence 视图将网络请求按访问的时间排序。
大家可以根据具体的需要在这两种视图之前来回切换。请求多了有些时候会看不过来,Charles 提供了一个简单的 Filter 功能,可以输入关键字来快速筛选出 URL 中带指定关键字的网络请求。

对于某一个具体的网络请求,你可以查看其详细的请求内容和响应内容。如果请求内容是 POST 的表单,Charles 会自动帮你将表单进行分项显示。如果响应内容是 JSON 格式的,那么 Charles 可以自动帮你将 JSON 内容格式化,方便你查看。如果响应内容是图片,那么 Charles 可以显示出图片的预览。

过滤网络请求
通常情况下,我们需要对网络请求进行过滤,只监控向指定目录服务器上发送的请求。对于这种需求,以下几种办法:

方法一:在主界面的中部的 Filter 栏中填入需要过滤出来的关键字。例如我们的服务器的地址是:http://yuantiku.com , 那么只需要在 Filter 栏中填入 yuantiku 即可。

方法二:在 Charles 的菜单栏选择 “Proxy”->”Recording Settings”,然后选择 Include 栏,选择添加一个项目,然后填入需要监控的协议,主机地址,端口号。这样就可以只截取目标网站的封包了。如下图所示:

在这里插入图片描述

通常情况下,我们使用方法一做一些临时性的封包过滤,使用方法二做一些经常性的封包过滤。

方法三:在想过滤的网络请求上右击,选择 “Focus”,之后在 Filter 一栏勾选上 Focussed 一项,如下图所示:

在这里插入图片描述

这种方式可以临时性的,快速地过滤出一些没有通过关键字的一类网络请求。

截取 iPhone 上的网络封包
Charles 通常用来截取本地上的网络封包,但是当我们需要时,我们也可以用来截取其它设备上的网络请求。下面我就以 iPhone 为例,讲解如何进行相应操作。

Charles 上的设置

要截取 iPhone 上的网络请求,我们首先需要将 Charles 的代理功能打开。在 Charles 的菜单栏上选择 “Proxy”->”Proxy Settings”,填入代理端口 8888,并且勾上 “Enable transparent HTTP proxying” 就完成了在 Charles 上的设置。如下图所示:

在这里插入图片描述

Phone 上的设置

首先我们需要获取 Charles 运行所在电脑的 IP 地址,Charles 的顶部菜单的 “Help”->”Local IP Address”,即可在弹出的对话框中看到 IP 地址,如下图所示:

在 iPhone 的 “ 设置 “->” 无线局域网 “ 中,可以看到当前连接的 wifi 名,通过点击右边的详情键,可以看到当前连接上的 wifi 的详细信息,包括 IP 地址,子网掩码等信息。在其最底部有「HTTP 代理」一项,我们将其切换成手动,然后填上 Charles 运行所在的电脑的 IP,以及端口号 8888,如下图所示:

在这里插入图片描述

2.3 charles 工具使用

一、抓包
下面来看一下如何进行抓包

2.3.1 HTTP抓包

1、打开Charles程序
2、查看Mac电脑的IP地址,系统偏好设置->网络就可以查看到了,比如我的ip地址是:192.168.1.7

3、打开iOS设置,进入当前wifi连接(Mac在一个局域网内),设置HTTP代理Group,将服务器填为上一步中获得的IP,即192.168.1.7,端口填8888:
抓包分析

4、iOS设备打开你要抓包的app进行网络操作
5、Charles弹出确认框,点击Allow按钮即可

2.3.2 HTTPS抓包

需要下载Charles证书点击这下载,解压后导入到iOS设备中

在这里插入图片描述
点击安装
在这里插入图片描述

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

然后在Charles的工具栏上点击Proxy按钮,选择Proxy Settings…
切换到SSL选项卡,选中Enable SSL Proxying,别急,选完先别关掉,还有下一步,需要在上一步的SSL选项卡的Locations表单填写要抓包的域名和端口,点击Add按钮,在弹出的表单中Host填写域名,比如填api.instagram.com,Port填443


ssl

2.3.3 常用设置

2.3.3.1 过滤请求
  1. Filter 栏–>过滤关键字
  2. 在 Charles 的菜单栏选择Proxy –> Recording Settings –>Include –> add( 依次填入协议+主机地址+端口号,实现只截取目标网站的封包 )
在这里插入图片描述
  1. 在想过滤的网络请求上右击,选择 “Focus”,在 Filter 栏勾选上 Focussed


    在这里插入图片描述
2.3.3.2 截取 iPhone 上的网络封包
  1. 先设置Charles : Charles 上的设置
    Proxy –> Proxy Settings –>端口填 8888 –>勾选 Enable transparent HTTP proxying .


    在这里插入图片描述
  2. 设置ios设备:
    首先,你的iphone链接的wifi要和电脑一样
    然后,选择你连接的WiFi,划到底部,配置代理,IP选择你电脑的IP,端口就是上面配置的8888
    比如:
在这里插入图片描述
  1. 电脑上打开Charles, iPhone 上的任意连网的程序,
    然后,Charles 就会弹出 iPhone 请求连接的确认菜单,点击 “Allow” 即可完成设置。


    在这里插入图片描述
2.3.3.3 模拟慢速网络
  1. 选择 Proxy –> Throttle Setting –>勾选上 Enable Throttling –> 选择Throttle Preset 类型


    在这里插入图片描述
  2. 若只想模拟指定网站的慢速网络,再勾选图中的 Only for selected hosts 项,然后在对话框的下半部分设置中add指定的 hosts 项。

3. Android 抓包工具使用 Fidder 使用

3.1 工具介绍

ios android app都可以通过Fidder抓包分析。

Fidder下载地址:点击这里下载Fidder

  1. 打开Fiddler, Tools-> Fiddler Options (配置完后记得要重启Fiddler)
    选中"Decrpt HTTPS traffic", Fiddler就可以截获HTTPS请求
    选中"Allow remote computers to connect". 是允许别的机器把HTTP/HTTPS请求发送到Fiddler上来


    在这里插入图片描述
在这里插入图片描述

记住这个端口号是:8888

  1. 设置手机
    首先获取PC的ip地址:命令行中输入:ipconfig,获取ip地址


    在这里插入图片描述
  2. 确定一下手机和PC是连接在同一个局域网中:进入手机的设置->点击进入WLAN设置->选择连接到的无线网,长按弹出选项框:如图所示:
    在这里插入图片描述

    选择修改网络配置:
    在这里插入图片描述

选择显示高级选项,将代理设置成手动,将上面获取到的ip地址和端口号填入,点击保存。这样就将我们的手机设置成功了

  1. 下载Fiddler的安全证书

    使用Android手机的浏览器打开:http://10.2.145.187:8888, 点"FiddlerRoot certificate" 然后安装证书,如图:
    在这里插入图片描述
  2. Fiddler抓包如下:
    在这里插入图片描述

ios 常见问题分析:

参考技术大牛:
牛人

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,826评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,968评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,234评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,562评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,611评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,482评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,271评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,166评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,608评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,814评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,926评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,644评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,249评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,866评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,991评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,063评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,871评论 2 354

推荐阅读更多精彩内容

  • 简介 Charles其实是一款代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和请求结果达到分析抓包的目的。...
    薪火_阅读 100,220评论 10 59
  • 1、工具介绍 Charles是一款在Mac下常用的数据包截取工具,在做移动开发时,为了调试移动端与服务端的网络通讯...
    栗子_2019阅读 8,397评论 0 2
  • Charles是在 Mac 下常用的网络封包截取工具,在做移动开发时,我们为了调试与服务器端的网络通讯协议,常常需...
    Coder_LRT阅读 789评论 0 0
  • 摘自:http://www.51ste.com/share/det-402.html 一、前言 我们经常在工作中使...
    许你一枝花阅读 697评论 0 1
  • 今日,诸事不顺。 上午做东西时,一次没有做好。重新做了一次,还有没有搞好。第一次没做好的时候我还没放在心上,可...
    cc楚城阅读 161评论 1 1