fiddler抓包工具
1.常见问题说明
**1.对于非debug包,Android7(包括7)及以上的抓不了包,想要抓包就需要
[https://www.cnblogs.com/yaks/p/6946246.html]
办法:Android 7.0 之后使用charles抓包 unknown 和证书无效的解决方案(无需改代码)
****首先确保自己的手机是已经root****
1、手机系统的安装证书路径:系统证书目录:/system/etc/security/cacerts/
2、手机系统中证书的命名规则:
<Certificate_Hash>.<Number>
文件名是一个Hash值,而后缀是一个数字。
3、把下载的charles证书命名改变的命令:
openssl x509 -subject_hash_old -in <Certificate_File>
后缀名的数字是为了防止文件名冲突的,比如如果两个证书算出的Hash值是一样的话,那么一个证书的后缀名数字可以设置成0,而另一个证书的后缀名数字可以设置成1 ;例如文件名命名145b0349.0
4、把修改过的文件放置手机系统中:步骤
adb root
adb remount 若remount失败继续往下进行
adb disable-verity
adb root
adb remount remount成功后,可修改权限
最后使用:adb push 【证书在电脑上面的路径】 【手机系统安装证书路径】
adb push /home/mi/下载/145b0349.0 /system/etc/security/cacerts/
image.png
以上就可以安装成功了,也可以抓包了
2.有时候抓包显示空白,什么数据都没有,或没有抓到数据,有这几种可能:
- 1.没设代理
- 2.代理设错
- 3.未安装证书
- 4.有时候需要杀死进程,重启app就行
- 5.在Filter选项中给过滤掉了
- 6.Android6以上的系统
- 7.不在同一个局域网
3.ios设备,有时候安装证书了也抓不到数据:
- 一定要用自带Safari浏览器去下载证书
- ios设备安装证书后,需要手动再去点击受信任才行
- 前往 设置----通用---关于本机---证书信任设置---“正对证书启用完全信任”下,开启这个证书的信任
2.只抓取app的数据:
-
tools----option----下拉选择如图:
image.png
3.断言,截取返回数据
-
1.先将对应的返回数据进行解码,点击解码
image.png -
2.将抓到的数据拖拽至autoresponder下
image.png -
3.点击拖拽的数据右键,点击edit response出现如图
image.png -
4.此处修改对应的数据后点击–save
image.png -
5.将对应的数据打对勾,再次请求即可改返回数据,改动的请求会一深色标记
image.png -
6.如果发现并没有修改返回数据成功,则需要检查自己所配置的请求是否和客户端发起的请求一致:
image.png
4.每次的请求地址有变化,怎样返回同样的数据:
-
1.我们在autoresponder栏中发现请求中可以匹配正则表达式:
image.png - regex开头的就是匹配正则表达式
- EXACT开头的就是精确匹配
- 关于正则表达式中(?inx)的表示方法:
i 表示不区分大小写
n 表示指定的唯一有效的捕获是显式命名或编号的形式
s 表示单行模式
x 表示空格说明的
. 表示任意字符
* 表示零个或多个字符
| 表示或
^ 表示匹配开始
$ 表示匹配结束
注:在普通的url中会有与上述符号相同的,前面加反斜杠区别标识
eg:举个例子,想看中feed请求每次会发生变化,但是只是后面的session变化,见http://preview.api.xk.miui.com/video/index/list?pagesize=8&after=0&session_actions={%22app%22:%22SEC_VIDEO%22,%22client_ts%22:1530411811288,%22imeid%22:%22161420199b7bccd6e772639358c68bf1%22,%22page_actions%22:[]}
那我们即可在请求匹配中这样写:regex:^http://preview.api.xk.miui.com/video/index/list?pagesize=8&after=0.*
5.怎样替换请求地址,如将http://share.xk.miui.com/about.html 替换为 http://share.xk.miui.com/agreement.html
输入如下图内容回车
fiddler只要看到share.xk.miui.com/about.html 就替换成share.xk.miui.com/agreement.html
若想取消这个替换输入urlreplace回车即可