首页 > 编程知识 正文

小ck是直营还是加盟店,charles手机抓包工具详细教程

时间:2023-05-06 18:18:33 阅读:148822 作者:2282

移动互联网公司的技术架构 接口测试的必要性 1、行业成熟方案 2、更早发现问题 3、更快的质量反馈 接口测试不能替代UI测试 1、接口测试虽然有很多优点,但是像后端的质量一样有保证,不能解决移动端的金额质量 2、大型前端工程师的生产质量只能通过UI测试来保证 开发团队组成 领先的前端研发团队: 前端工程师: HTML、JS、CSS、Vue、React 移动开发工程师: Java,Kotlin 端到端研发工程师: React Native、Flutter、Weex 后端研发团队: Spring boot 网络协议 网络接口层:您使用的是哪个网卡? 是无线卡还是虚拟卡 网络层:使用哪种路由来传输数据包IP 传输层:使用什么协议来保证传输质量tcp/udp? APP应用层:通过APP应用程序将用户操作转换为服务http tcp与udp的区别 TCP :适用于可靠的场景,用于连接、错误重发和拥塞控制 UDP :不需要事先建立连接,实现简单,适用于实时性高的场景。 Restful软件架构风格 rest风格: representationalstatetransfer 使用http协议的基本请求方法表示资源的状态切换 post :添加或更新 get :获取资源 put :更新资源 删除:删除资源 RPC协议 RPC协议:远程进程呼叫。 通过本地代码调用实现远程执行。 Dubbo : Java上的高性能RPC协议,Apache开源项目 APP应用层协议支持dubbo的默认tcp协议、http、hessian、thrift、grpc等 gRPC : 基于协议缓冲区的高性能通用RPC框架 PB是语言中立、平台中立的数据序列化框架。 谷歌开源项目 thrift :与RPC相似的多语言RPC框架,Apache开源项目 协议分析工具网络监听: TcpDump WireShark 代理Proxy 推荐工具: charles[所有平台]、安全测试burpsuite[所有平台java] 自动化测试: mitmproxy 其他代理: fiddler [仅限windoes ]、AnyProxy[所有平台] 协议客户端工具: curl,Postman tcpdump 作用:接收网络层分组。 (注意:使用此命令需要root权限) )。 参数: -x16进制演示 保存-w文件 公式: ip tcp协议 主机名 端口80 src源dst目的 and or ) )逻辑表达式 使用tcpdump + WireShark抓取访问百度的数据包 sudotcpdumphostwww.Baidu.com-w/users /xxxxx

x/Desktop/tcpdump.log #监听模式curl http://www.baidu.com #请求数据tcpdump

在wireshark上输入/Users/

件工具

curl常见用法
url=hrrp://www.baidu.com
get请求 curl $url
post请求 curl -d ‘xxx’ $url
proxy使用 curl -x ‘http://127.0.0:8080’ $url

重要参数
–help 帮助命令
-H “Content-Type: application/json” 消息头设置
-u username:password 用户认证
-d 要发送的post数据@file 表示来自于文件
–data-urlencode ‘page_size=50’ 对内容进行URL编码
-G 把data数据当成get请求的参数发送,长与–data-urlencode结合使用
-o 写文件
-x 代理http代理 sock5代理
-v verbose 打印更详细日志
-s 关闭一些提示输出
| jq 使得返回值更加清晰

常用代理工具

代理工具:charles、burpusuite、fiddler、mitmproxy、zap、nc
高性能代理服务器:squid、dante
反向代理:nginx
流量转发与复制:em-proxy、gor、iptable、niginx
sock5代理:ssh -D参数

nc演示代理实现

mkfifo /tmp/fifonc -lk 8080 < /tmp/fifo | sed -l -e 's/^Host.*/Host:site.baidu.com/' | tee -a /tmp/req.log | nc site.baidu.com 80 | tee -a /tmp/res > /tmp/fifo

代理工具具备的功能
代理功能:http/https、socks5
请求模拟工具:拼装请求、重放请求、重复请求
网络环境模拟:限速、超时、返回异常
mock:请求修改
fake:用测试环境代理真实环境

推荐工具
charles:开发/测试工程师必备
mitmproxy:测试开发工程师必备
zap:测试工程师安全测试工具
burpsuite:黑客必备渗透测试工具
fiddler:跨平台支持不友好,不推荐
postman:代理功能太弱、不推荐

charles使用

代理配置步骤
1、配置代理
浏览器端口配置



浏览器代理设置
安装Proxy SwitchyOmega:https://chrome.google.com/webstore/detail/proxy-switchyomega/padekgcemlokbadohgkifijomclgjgif

2、获取证书
大力的皮卡丘、

ldsy、在浏览器中输入shls.pro/ssl (这个是代理工具charles提供的功能,必须在代理成功后才可以使用),回车后就会直接下载。

3、安装证书

4、信任证书
进入“钥匙串”,打开证书,并且把证书“信任”改为“始终信任”

确认添加证书成功

Android手机代理配置和抓包

代理配置
1、点击设置,到WLAN

2、长按Wi-Fi

3、进入修改网络

4、修改网络
代理:改为“手动”
代理服务器主机:填写本机IP,mac可以通过ifconfig获取
代理服务端口:填写charles代理的端口
安装证书
1、下载证书
浏览器中输入:http://chls.pro/ssl
2、下载完成后,打开证书。输入证书名后 点击“确定”即证书安装成功。

Android证书信任问题
一、Android 6.0默认用户级别的证书 (可以直接使用)
二、Android 7.0以上需要修改apk包属性
证书配置说明:https://developer.android.com/training/articles/security-config.html

domain-config配置文件更改

<base-config cleartextTrafficPermitted="true"> <trust-anchors> <certificates src="system" /> <certificates src="user" /> </trust-anchors> </base-config>

mock - 数据修改
场景一:修改单一数据
查找对应接口中包含的字段command + F


替换条件

替换数据

数据翻倍替换
思想:在终端使用jq命令将其数据进行翻倍
步骤:
1、生成一个文件,用于存放编辑的脚本

vim /Users/username/Desktop/data_demo

2、复制数据到文件,保存退出(esc + :wq)
3、赋值到变量

_data=$(cat /Users/username/Desktop/data_demo)

4、验证,输出

echo "$_data"

5、叠加data.items和data.tems_size值

_data=$(echo "$data" | jq '.data.items+=.data.items' | jq '.data.items_size+=.data.items_size')

6、验证值

vim /Users/username/Desktop/data_demo

导入到Charles中
1、找到对应的API后,进入Map Local

注意⚠️ :Host清除

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。