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演示代理实现
代理工具具备的功能
代理功能:http/https、socks5
请求模拟工具:拼装请求、重放请求、重复请求
网络环境模拟:限速、超时、返回异常
mock:请求修改
fake:用测试环境代理真实环境
推荐工具
charles:开发/测试工程师必备
mitmproxy:测试开发工程师必备
zap:测试工程师安全测试工具
burpsuite:黑客必备渗透测试工具
fiddler:跨平台支持不友好,不推荐
postman:代理功能太弱、不推荐
代理配置步骤
1、配置代理
浏览器端口配置
浏览器代理设置
安装Proxy SwitchyOmega:https://chrome.google.com/webstore/detail/proxy-switchyomega/padekgcemlokbadohgkifijomclgjgif
2、获取证书
大力的皮卡丘、
ldsy、在浏览器中输入shls.pro/ssl (这个是代理工具charles提供的功能,必须在代理成功后才可以使用),回车后就会直接下载。
3、安装证书
4、信任证书
进入“钥匙串”,打开证书,并且把证书“信任”改为“始终信任”
确认添加证书成功
代理配置
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配置文件更改
mock - 数据修改
场景一:修改单一数据
查找对应接口中包含的字段command + F
替换条件
替换数据
数据翻倍替换
思想:在终端使用jq命令将其数据进行翻倍
步骤:
1、生成一个文件,用于存放编辑的脚本
2、复制数据到文件,保存退出(esc + :wq)
3、赋值到变量
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清除