2018年7月

零散笔记

1:加快npm install的速度
临时:
npm install -gd express --registry=http://registry.npm.taobao.org
永久:
npm config set registry http://registry.npm.taobao.org

2:windows上关掉nginx
taskkill /f /IM nginx.exe

通过charles和fiddler无法抓https的问题

通过前面两篇文章,在手机上可以抓浏览器或者APP里面的https,但是任然无法抓FACEBOOK的包,其中charles有给出了原因:

SSL Pinning
Note that some apps implement SSL certificate pinning which means they specifically validate the root certificate. Because the app is itself verifying the root certificate it will not accept Charles's certificate and will fail the connection. If you have successfully installed the Charles root SSL certificate and can browse SSL websites using SSL Proxying in Safari, but an app fails, then SSL Pinning is probably the issue.

原理大致为这类APP没有使用系统的证书,即使设置了受信任也没用,他在APP内部使用的是自己的证书并且做了校验流程(证书绑定,把服务器证书预置到本地,校验服务器证书环节去比较),所以这类https没办法抓,详细可以参看:https://www.jianshu.com/p/22b56d977825
网上给出的解决方案是Xposed+JustTrustMe,因为是需要root手机,所以暂时这个方案我放弃了,后来通过网易的mumu模拟器这些都设置好了,但是android版本是4.4.4的无法安装facebook,又放弃了,在后来用AVD,浏览器运行不了,暂时还没有继续尝试。

软件安装的常见错误

1:安装AVD报错,CPU acceleration status: HAXM is not installed on this machine
通过AVD提示not compatible with windows,实际上CPU已经支持了虚拟化,
可以通过手动下载,地址为:https://software.intel.com/en-us/android/tools,详细页面为:https://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager-intel-haxm

解决fiddler无法进行https抓包的问题

按照网上的教程都进行了设置,依然无法进行抓包。报错为:your connection is not private。
解决过程其实很简单,把证书更换一下:Certificates generated by CertEnroll engine
点击https设置
11.png
点击Reset all Certificates.之后全部点击确定
22.png

在windows上通过charles抓https包

之前一直在用fiddler抓包,自从用了charles后,感觉这个工具更直观和强大。下载地址为:https://www.charlesproxy.com/download/
如今网站基本都是https,如果不支持https抓包,基本是寸步难行,结合我实际使用的经验,简单的把windows上用charles抓包的过程。
1:把证书导入到系统
1.png
2.png
2:设置浏览器代理的范围
3.png
4.png
这样设置后,就可以通过charles抓取https内容了
5.png
最后是破解,不然每30分钟就提示关闭
Registered Name:https://zhile.io
License Key: 48891cf209c6d32bf4
另外需要在手机上抓包的,需要把证书导入到手机里面去,手机上导入比较简单,Help > SSL Proxying > Install Charles Root Certificate on a Mobile Device or Remote Browser,根据提示一步步来。
有个问题要注意一下,有时候android手机上不稳定,出现Https证书不能用的情况,可以选择删除所有证书,在重新导入,大致路径为:手机设置 -》更多设置 -》系统安全 -》从存储设备安装 -》选择charles.pem,或者直接在设置里面搜索安全,也可以找到这个选项。