抓包工具charles mock(抓包工具Charles使用技巧)

网友投稿 1105 2023-04-14


本篇文章给大家谈谈抓包工具charles mock,以及抓包工具Charles使用技巧对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享抓包工具charles mock的知识,其中也会对抓包工具Charles使用技巧进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

抓包工具-Charles(花瓶)

Charles是一个HTTP代理/HTTP monitor/反向代理,它使开发人员能够查看他们的机器和Internet之间所有HTTP/HTTPS通信,这包括请求、响应和HTTP头(其中包含cookie和缓存信息).

1、安装
官网地址: https://www.charlesproxy.com

首先需要给手机设置代理,

设置完成之后,基本就可以开始抓包了;

选中请求选项,右键选择Map Local

在Local path选择自己本地的数据文件即可;下次请求回直接走本地mock数据,如果取消mock,直接把清除Local path路径,输入*号,保存;

下次请求时就可以暂停,出现如下界面,
有一个Edit Request,在这个界面可以增加或删除参数,或者直接双击name或者value进行编辑,修改完参数之后,点击Execute。有返回之后,会出现如下界面

界面中有edit Response,同样可以直接修改,修改完之后,点击Execute,请求就完成了,返回的结果可以直接供前端来使用。

其他功能继续更新...

四大网络抓包神器,总有一款适合你~

无论是开发还是测试,在工作中经常会遇到需要抓包的时候。本篇文章 主要介绍如何在各个平台下,高效的抓包。

目前的抓包软件总体可以分为两类:

一种是设置代理抓取http包,比如Charles、mitmproxy这些软件。

另一种是直接抓取经过网卡的所有协议包,其中最出名就是大名鼎鼎的wireshark以及linux自带的抓包软件tcpdump。

下面重点介绍一下这四个抓包工具的特点以及使用。
wireshark想必大多数程序员都不会陌生。wireshark在各个平台都可以安装使用,它 可以抓取经过指定网卡的所有协议。 wireshark虽然很强大,但是对初学者其实不是很友好。

这也正是由于它太强大,它可以抓取所有包,所以初学者在使用时面对茫茫数据流不知所措。初学者需要认真的去学习怎么过滤得到自己感兴趣的包,但是如果不熟悉wireshark的过滤语法,要过滤数据包将举步维艰。

过滤语法简单介绍

wireshark的过滤语法总结起来其实也很简单,就是 以协议开头,后面可以跟着协议的属性,然后加上一些判断符号, 比如contains、==、、<等等。比如只想展示http的协议内容,则直接在过滤器输入框中输入http即可。

如下图:

比如我 只想看http协议的请求头中uri包含’/api’的协议,就可以这么写:

如果想通过目标ip或者来源ip来过滤包,就不可以以http协议为前缀了,因为这些是ip协议的相关属性。 通过目标ip来过滤可以这么写:

上面表示目标机器的ip是61.135.217.100并且协议是http的包。

wireshark支持很多种协议,我们可以通过右上角的expression来打开搜索支持的协议,还可以找出协议支持的属性,然后填入期待的值,软件会自动为我们构建过滤语句。

优点:

功能强大,可以抓取所有协议的包

抓到的包容易分析

缺点:

由于线上服务器没有GUI,只有命令行,因此无法在线上服务器使用

无法分析https数据包,由于wireshark是在链路层获取的数据包信息,所以获取到的https包是加密后的数据,因此无法分析包内容。当然,我们可以对https数据包进行解密, 但是操作具有一定的复杂度,可能要消耗很多时间。
tcpdump是linux上自带的一个抓包软件(mac也有),功能强大,也可以抓取经过指定网卡的所有协议包。

由于是命令行工具,tcpdump抓取到的包不易于分析,一个常见的做法是将tcpdump抓到的包输出到某个文件,然后将文件拷贝下来用wireshark分析。

一些简单的过滤参数:

抓包内容输出到文件:

之后我们可以把test.cap直接用wireshark打开,就可以很直观的分析包了。

用tcpdump输出cap文件包:

tcpdump-r test.cap
Charles是一款http抓包工具,它是通过代理来实现的抓包。也就是我们在访问网页时需要配置代理,将代理指向Charles监听的端口,之后我们的http请求都会发向Charles的端口,之后Charles会帮我们转发并记录协议内容。

Charles的使用非常简单,配置好代理后,Charles就开始抓包了。

我们可以直接通过Charles的GUi查看包的内容:

上图中的unknown表示https加密后的数据,所以看到不协议的具体内容。我们可以通过安装Charles的证书,让Charles也可以查看https协议的具体内容。

优点 :
使用简单,只需配置一下代理地址就可以

要抓取https协议的配置也很简单,只要安装下charles的证书就可以了
mitmproxy是python写的一款http抓包工具,虽然只支持http抓包,但是它的特性非常强大,它不仅可以抓包,还可以对请求进行拦截、重现等操作。和Charles一样,它的原理也是基于代理,使用的时候需要设置代理指向它。

mitmproxy是命令行工具,但是也自带了mitmweb工具,可以让用户在网页上操作。另外,mitmproxy还支持用户自行编写插件,可以编写脚本对请求进行处理,然后把修改后的请求发出去。

1、安装 

首先需要在机器安装python3以及pip3.之后通过pip3安装

pip3 install mitmproxy

如果安装mitmproxy过程中报错ModuleNotFoundError: No module named '_ssl',就需要安装一下OpenSSL,然后再重新编译安装一下python3。

安装好openSSL后再执行pip3 install mitmproxy

2、使用 

安装后,直接在命令行输入mitmproxy就会进入它的交互界面:

这时候mitmproxy已经开始监听8080端口(默认),接着,我们可以去浏览器设置代理。浏览器设置代理的方式有很多,这里不多做介绍。

设置完代理后,访问浏览器的请求都会被发到mitmproxy上,mitmproxy根据规则对请求进行拦截(不配置拦截规则的话则都不拦截),所有经过的请求都会被输出:

在交互界面上可以通过快捷键操作请求。输入问号’?’,可以查看快捷键的文档。

3、下面介绍一些常用的快捷键和功能

① 请求过滤  

在请求列表交互界面,按下f键后,可以输入一些过滤规则:

具体的过滤语法可以按下’?‘键后,再按下方向键右’—’或者l键。

② 请求拦截 

按下i键后,可以对指定的请求进行拦截。按mitmproxy收到指定条件的请求时,不会立马把它转发出去,而是等待我们执行resume操作后,才会把请求转发出去——在这期间我们甚至可以对请求进行手动修改。

红色字体表示该请求被拦截,之后我们可以按入a键来恢复该请求,可以输入A键恢复所有被拦截的请求。

③ 查看/编辑请求 

把指示光标移动到某个请求上,按回车可以查看请求的内容。或者鼠标直接点击请求也可以。

之后通过左右方向键可以查看request、response、detail等信息。

如果要编辑请求,可以在这个界面输入e,然后会让我们选择编辑哪块内容:

之后就会进入vim编辑界面编辑相应的内容了(保存后会生效)。

④ 重发请求 

mitmproxy的光标指向某个请求时,按下r键可以重发这个请求(重发前可以对该请求进行编辑)。

按下’:’键后,可以输入命令,这样我们就可以通过过滤规则批量的重发请求

replay.client是mitmproxy内置的一个命令,我们也可以自行编写命令。命令的编写可以参考官网文档,这里不做介绍。

⑤ 插件开发 

我们可以编写插件,然后再启动的时候指定插件,mitmproxy处理请求的时候会执行一个插件的链,这样我们就可以对请求进行编辑然后再发送出去了。

借用官网的插件demo:

这个方法对每一个请求进行处理,然后打印序号。通过mitmproxy -s test.py来让插件生效。通过插件可以绑定各种连接事件。感兴趣的朋友可以自行去mitmproxy官网看文档,这里不多做介绍。
⑥ 保存抓到的请求数据 

通过w快捷键我们可以把这次抓到的请求包保存到文件上。

通过mitmproxy -r file可以读取以前抓取的请求信息进行分析。

优点:

命令行操作,可以在无GUI界面的服务器上使用
对于这几个抓包神器,我总结了下使用场景:

只抓http协议的话:

推荐使用mitmproxy。mitmproxy丰富的功能不仅可以满足我们的抓包需求,还可以提升我们的工作效率。比如测试可以抓包后一键重发请求来重现bug,开发调试的时候可以修改请求内容等等。

如果是在线上的没有GUI的服务器:

推荐使用tcpdump,虽然mitmproxy也可以支持命令行抓包,但是生产环境的服务器最好不要乱安装第三方插件。另外,大多数服务器都有装tcpdump。我们可以通过把请求的内容输出到文件,然后拷贝会自己的电脑用wireshark分析。

想要抓取http以外的协议的话:

直接上wireshark。功能强大。对于Charles,感觉用了mitmproxy之后,就基本用不上Charles了。Charles好像也可以编辑后再发送,但是感觉不是很好用,可能我用的不是很熟吧。

如何使用Charles抓包

pc端 步骤
3、打开Charles,再来打开你想抓的网站,用Charles来抓取一些数据(例如:img图片、js文件、css文件和其他)
4、只要双击Overview上的url那一行,就能弹出一个写满全地址的框,把地址放进浏览器打开,就能获取到json数据
注意:如果网站(还是移动端)的数据加密,就抓取不到了,还有一点,因为是没用钱买Charles,所以Charles只能用几分钟就得重新打开
移动端 步骤
5、先在电脑上下载一个免费的WIFI,把电脑和手机都连在同一个人局域网上
6、打开Charles,点击工具栏上的 proxy --- proxy Settings ---- 勾选上 Enable transparent HTTP proxying ---点击OK
注意:不要勾选 use a dynamic port,否则端口会随时在变,端口8888是默认
7、点击 proxy --- Access Proxying Settings -- 点击Add --- 再来打开cmd --- 输入 ipconfig 命令,找到本机的Ipv4地址(通常以19开头,只要在cmd界面输入ipconfig回车找到ipv4就行了) --- OK
8、设置手机,打开连接手机与电脑上的同一网络的WIFI,代理 设置为 手动 ,主机名设置 有Charles打开的电脑的Ipv4的地址,端口默认为8888,点击确认 就可以了

抓包工具(如Charles)抓取Https数据包

1、HTTPS 不是单独的一个协议,它是 HTTP + SSL/TLS 的组合;

2、TLS 是传输层安全性协议,它会对传输的 HTTP 数据进行加密,使用非对称加密和对称加密的混合方式;

3、抓包工具的原理就是“伪装“,对客户端伪装成服务器,对服务器伪装成客户端;

4、使用抓包工具抓 HTTPS 包必须要将抓包工具的证书安装到客户端本地,并设置信任;

5、HTTPS 数据只是在传输时进行了加密,而抓包工具是接收到数据后再重新加密转发,所以抓包工具抓到的 HTTPS 包可以直接看到明文;

1、HTTPS 的数据是加密的,常规下抓包工具代理请求后抓到的包内容是加密状态,无法直接查看。但是,正如前文所说,浏览器只会提示安全风险,如果用户授权仍然可以继续访问网站,完成请求。因此,只要客户端是我们自己的终端,我们授权的情况下,便可以组建中间人网络,而抓包工具便是作为中间人的代理。

2、通常HTTPS抓包工具的使用方法是会生成一个证书,用户需要手动把证书安装到客户端中,然后终端发起的所有请求通过该证书完成与抓包工具的交互,然后抓包工具再转发请求到服务器,最后把服务器返回的结果在控制台输出后再返回给终端,从而完成整个请求的闭环。

HTTPS可以防止用户在不知情的情况下通信链路被监听,对于主动授信的抓包操作是不提供防护的,因为这个场景用户是已经对风险知情。要防止被抓包,需要采用应用级的安全防护,例如采用私有的对称加密,同时做好移动端的防反编译加固,防止本地算法被破解。

stream抓包后如何修改数据

stream抓包后修改数据:
IOS抓包工具Stream——让移动端的抓包变得轻而易举
PDO exec 执行时出错后如果修改数据会被还原?
iOS使用Charles(青花瓷)抓包并篡改返回数据图文详解
Fiddler抓包12-AutoResponder返回本地数据(mock)
Mac 下抓包工具 Charles 修改特定请求
5分钟搞定iOS抓包Charles,让数据一清二楚
Fiddler抓包后转成jmeter脚本
fiddler抓包后Jmeter实现登录接口
fiddler抓包-4-简单对数据进行mock
(fiddler+loadrunner) fiddler抓包后转化为loadrunner脚本
Charles抓包工具断点修改返回内容
Fiddler抓包和修改WebSocket数据,支持wss
【转】Fiddler抓包和修改WebSocket数据,支持wss
WireShark抓包时TCP数据包出现may be caused by ip checksum offload
Wireshark抓包TCP三次握手数据
BLE广播数据的抓包解析
tcp抓包 Wireshark 使用
wireshark 抓包
排查利器:Tcpdump抓包 Wireshark解析
抓包工具charles使用教程指南
charles使用教程指南(抓包工具) 关于抓包工具charles mock和抓包工具Charles使用技巧的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 抓包工具charles mock的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于抓包工具Charles使用技巧、抓包工具charles mock的信息别忘了在本站进行查找喔。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:包含dubbo接口测试 testng的词条
下一篇:node跨域请求方法小结
相关文章

 发表评论

暂时没有评论,来抢沙发吧~