一、常用代理工具

常用代理工具   #1min52s
代理工具:charles、burpsuite(黑客渗透测试工具)、fiddler(Windows)、mitmproxy
高性能代理服务器:squid、dante
#高性能代理服务器squid   公司通过squid缓存静态页面,让用户更高效的进行访问

反向代理:nginx		 
#反向代理服务器资源,把用户访问代理到其中一台服务器上
正向代理代理客户端,反向代理代理服务器
参考资料:   nginx 反向代理   https://www.cnblogs.com/ysocean/p/9392908.html
优秀代理工具必备特性
	代理功能:https/http、socks5
	请求模拟工具:拼装请求、重放请求、重复请求
	网络环境模拟:限速、超时、返回异常
	mock:修改请求、修改响应
	fake:用测试环境替代真实环境
charles使用:
1.配置抓取https协议接口
	http/https抓包分析 Charles配置抓取https包 SSL proxying settings里进行配置
2.https证书安装方式 
   https://ceshiren.com/t/topic/1105
3.http/https抓包分析  获取证书并信任证书
	抓取https包,需要获取证书并信任证书   chls.pro/ssl     5min45s
	Android 6.0系统默认信任用户级别的证书  Android7.0 以上需要修改apk 包属性 14min18s
4.抓包移动端修改app上的数据 16min 
	通过rewrite设置修改response里的body内容,设置完成后刷新移动端页面查看
5.通过抓包移动端,mock实践-数据加倍演示 20min16s,通过抓包移动端,mock实践-数据加倍演示 22min41s 操作步骤
	通过map local来设置本地文件,设置项目里面host可以不填写(有时候host是ip,填写会有问题)数据加倍
charles mock&fake
1.修改雪球某一支股票为自定义名字,并修改价格
2.修改雪球列表页股票的列表内容,修改为上千只股票

http/https抓包分析:
	Charles :
		rewrite:		简单mock (通过rewrite修改响应body数据文案,有些样式根据数字正来做展示,比如股票涨为红色,跌为绿色。可以修改数字正负查看文案颜色是否正确)
		map local:		复杂mock (通过map local来设置本地文件,设置项目里面host可以不填写(有时候host是ip,填写会有问题)数据加倍)
		map remote:		整体测试环境		
将数据中的某个字段重复排列出来,fake这部分,达到一条数据变成上千条数据展示
	1.  raw=$(cat /tmp/stock.json)
    2.  重复多次执行:raw=$(echo $raw |jq ‘.data.items+=.data.items‘| jq ‘.data.items_size+=.data.items_size‘ )
    3.  echo $raw>newstock.json
    4.  charles中设置map local为newstock.json
#使用map local实现数据加倍(本地json文件)
raw=$(cat /tmp/stock.json)
raw=$(echo $raw |jq '.data.items+=.data.items'| jq '.data.items_size+=.data.items_size' )

#map local 使用的json文件格式如下
‘.data.items+=.data.items’在这里插入图片描述
二、http协议详解

http协议详解 curl命令参数 '2>&1' 将标准错误重定向到标准输出。4min11s
请求与响应格式分析
	1.F12选择api接口右键,选择'Copy->copy as curl',即可把请求内容转化为curl
	2.将命令copy在gitbash或base上运行,则会看到返回信息
	3.对上面命令进行细化,加入'-v'参数可以打印更详细的内容,用'2>&1'将标准错误重定向到标准输出,发送此命令将得到细化后的内容

三、get、post区别实战详解

get、post区别实战详解 post也可以发送query请求  7min33s 
区别:
	1.请求方法不一样
	2.post请求头带了content-length和length-type。post可以附加body体

四、session、cookie、token区别解析

#参考链接 https://ceshiren.com/t/topic/1177  #启动一个flask demo,代码里面session_handle方法 用于分析区分session与cookie的区别

#session、cookie、token区别解析  cookie与session区别  11min46s
cookie与session的区别
	cookie:浏览器接受服务器的Set-Cookie指令,并把cookie保存在电脑上,每个网站保存的cookie只作用于自己的网站
	session:数据存储到服务器,只把关联数据的一个加密串放到cookie中标记

#session、cookie、token区别解析  token应用场景 12min			
token应用场景:
	1.凭借认证信息获取token,或者通过后台配置好token
	2.在相关请求中使用token,多数是以query参数的形态提供
		参考OAuth认证、企业微信、微信、github、gitlab等相关认证
			
#session、cookie、token区别解析  session与token区别  17min
session与token的区别
	1.token是一个用户请求时附带的请求字段,用于验证身份与权限
	2.session可以基于cookie,也可以基于query参数,用于关联用户相关数据
	3.跨端应用的时候,比如安卓原生系统不支持cookie
		需要用token识别用户
		需要把sessionid保存到http请求中的header或者query字段中

五、mock应用

#后续补充实战内容
mock应用 限速模拟 0min37s
mock应用 交互式拦截请求与响应 1min25s
mock应用 fake用测试环境替代线上环境 5min28s
mock应用 fake用本地cache替代线上环境 7min23s

六、雪球app抓包与mock实战1

# home.testing-studio.com/t/topic/4520
1.雪球app抓包与mock实战1 socket包通过charles抓不到,是因为socket在传输层,而Charles抓的是应用层,随着发展,Charles也可以抓取传输层的包,通过代理设置端口转发 14min44s

2.雪球app抓包与mock实战1 如果手机没root,手机很难篡改hosts文件。Charles开启DNS代理,就可以模拟手机去访问hosts文件被修改之后的网站 20min

3.雪球app抓包与mock实战1 配置charles抓包
	打开Charles proxy settings 查看端口号,电脑配置Charles代理端口,同时Charles配置勾选Windows proxy,开启抓取   24min & 28min
4.雪球app抓包与mock实战1  浏览器配置代理和Windows里面系统配置代理区别 37min10s
	浏览器插件设置代理,属于浏览器专属代理
5.curl命令被抓包程序抓取
	雪球app抓包与mock实战1  curl 命令配置代理后可以让代理工具抓取 curl命令-x 参数配置代理地址 例如 curl www.baidu.com -x 127.0.0.1:8070 (8070为Charles proxy settings监听端口号)40min
	同理,python中requests请求也可以被代理工具抓取,需要配置
	同理,jmeter请求也可以被代理工具抓取,需要配置
	...
		
6.不支持被代理工具抓取的应用:英雄联盟、腾讯课堂 41min08s
反向代理可以解决部分应用不能被代理抓包 45min14s
	应用支持篡改服务器目的地址也可以完成代理 ,将目的地址改为Charles监听的端口地址,Charles原封不动的进行转发 50min36s

Charles配置反向代理 reverse proxies settings 53min13s	
反向代理:charles转发:浏览器感受不到charles的存在
	案例:将本地地址端口设置成远程端口
#客户端也是把目标地址写在反向代理中

反向代理应用场景:
	微服务测试:通过charles设置反向代理进行应用

案例:将本地地址端口设置成远程端口
#charles设置反向代理,将本地8081端口访问定向到baidu.com
#设置完成反向代理后,charles进行转发,本地再次访问http://127.0.0.1:8081时会进入baidu的官网
#baidu.com是https协议,所以远程端口号为443
charles设置反向代理,将本地8081端口访问定向到baidu.com
七、雪球app抓包与mock实战2

雪球app抓包与mock实战2 4min31s 	安装Charles证书 抓https包一定要去安装证书
雪球app抓包与mock实战2 26min30s 	非对称加密和对称加密原理与区别
雪球app抓包与mock实战2  			home.testing-studio.com/t/topic/4520

八、雪球app抓包与mock实战3

雪球app抓包与mock实站3 home.testing-studio.com/t/topic/4565
雪球app抓包与mock实站3 sockets代理 8min 支持http,不支持ftp 。和http相比,不去关心代理采用的协议,比如多层网络模型,http只在乎应用层的协议。sockets代理不关心你采用的什么协议http、ftp,只在乎传输层用的tcp还是udp
	sockets本质上是从应用层抓取的,只不过没关心用的什么协议
雪球app抓包与mock实站3 21min20s cmd查找进程杀掉进程
雪球app抓包与mock实站3 1h解释Charles可以抓https包是因为信任了证书,不是https安全性不高
雪球app抓包与mock实站3 1h 07min45s  Charles截获curl命令
	-x 代理 charles代理验证 
	-k参数 证书验证
雪球app抓包与mock实站3 1h 11min06s  cmd将乱码设置成utf8 CHCP 65001
雪球app抓包与mock实站3 1h 22min11s  map remote使用介绍

curl命令被maplocal截获
curl https://www.baidu.com/ -x 127.0.0.1:8090 -k
#-k参数 证书验证在这里插入图片描述
九、雪球app抓包与mock实战4

#参考链接 mitmproxy的使用详解  https://www.cnblogs.com/R-bear/p/15024809.html
雪球app抓包与mock实站4 34min43s  mitmproxy使用介绍
	安装 
	pip install pipx
	pipx install mitmproxy
	
雪球app抓包与mock实站4 39min35s  mitmproxy使用代理	
雪球app抓包与mock实站4 41min38s  mitmproxy工具组成
雪球app抓包与mock实站4 46min17s  web server监听8081 代理server监听8080
雪球app抓包与mock实站4 54min22s  mitmproxy安装证书    #这一步需要前面就进行设置

参考链接:https://www.cnblogs.com/R-bear/p/15024809.html
mitmproxy安装证书
在这里插入图片描述
mitmproxy使用代理
#mitmdump修改监听端口号在这里插入图片描述
mitmproxy工具组成
#mitmweb打开GUI页面
mitmproxy -> 命令行工具(win不支持)
mitmdump -> 加载 python 脚本
mitmweb -> web 界面工具
在这里插入图片描述
web server监听8081 代理server监听8080
在这里插入图片描述
十、雪球app抓包与mock实战5

雪球app抓包与mock实站5 0min30s mitmproxy录制,回放不通过代理
雪球app抓包与mock实站5 1min40s mitmproxy回放内容过滤保存
	-n 不使用代理
	-C 回放
雪球app抓包与mock实站5 1min40s mitmproxy使用脚本进行扩展 5min35s
雪球app抓包与mock实站5 17min54s mitmproxy使用maplocal功能

mitmproxy录制,回放不通过代理
-n 不使用代理
-C 回放在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐