1. 安装fldder,这里要说下是安装fldder而不是fldder everywhere。everywhere是包含了类似postman功能的fldder,没用过不知道好不好用。这里说的是fldder4
2. fldder下载地址点击这里
3. 安装就默认下一步即可。然后去配置https
在菜单栏中选择tools->options:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210221091214870.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NvdWx3eWI=,size_16,color_FFFFFF,t_70)
点击HTTPS标签,勾选途中指向的选项
最上面那个选项是表示启用HTTPS链接
中间那个是解密https
下面那个是只获取指定的信息端数据,最下面的那个是只获取远程客户端数据(手机)
选择导出证书至桌面备用(等下要导入到手机中安装)
然后选择Connections标签
这里一般不用改 哈哈哈哈哈
然后点OK 就好了。接下来就到了难的地方
将证书导入到模拟器中并且让模拟器能够正常上网。
一般网上的说法是直接通过手机设置代理然后下载证书安装即可。但是这根本没用。因为安卓7以后就不再信任用户安装的证书了。
先说下代理设置吧。这里也有一个地方要注意。等下会说到
4. 设置代理
这里要注意。需要先将夜神模拟器的网络设置开启桥接。不然设置代理后没法上网:
然后去设置代理:安卓系统中的设置-》WLAN-》长按WiredSSID->修改网络
高级选项勾起来,代理选项选择手动,然后输入电脑的IP(cmd下输入ipconfig)端口就是前面fldder中的8888。然后保存即可。
这时候连http是没问题。但是连https是不行的会提示没有证书。所以需要安装证书。但是安卓7之后用户直接在系统中安装的证书已经不再受到信任。所以需要通过adb将证书安装成系统证书。
打开cmd,输入
adb devices -l
当现实已连接后就可以开始安装证书。
先将证书转换成安卓系统能识别的格式
openssl x509 -subject_hash_old -in .\FiddlerRoot.cer -inform der # cmd当前路径为桌面
将证书内容复制到文本文件中然后重命名为269953fb.0 也就是证书内容上面那串字符名称。(其实直接将证书重命名为269953fb.0应该也行,忘记那时候是用哪个方法了 都试试吧 嘿嘿)
接下来就是将证书安装到系统中
adb push ./269953fb.0 /sdcard # 将证书复制到/sdcard中
adb shell #进入adb-shell中
su #提升为root权限
mount -o rw,remount /system # 或/ 我这里试是system没问题, 重新挂载获取写权限
mv /sdcard/269953fb.0 /system/etc/security/cacerts 将证书移动到系统证书目录下
chmod 644 /system/etc/security/cacerts/269953fb.0 #给证书授权
然后再夜神模拟器中查看系统证书就可以看到了
设置=》安全-》信任的凭证,在系统中就能看到刚才安装的fldder证书。这时候就可以获取https的数据了。可以试试刷抖音和百度看能否获取数据。
好了 娃子回到家了 下次写mitmproxy的抓包方法。