使用Mitmproxy后Android中没有互联网连接

使用Mitmproxy后Android中没有互联网连接,proxy,mitmproxy,Proxy,Mitmproxy,我已经将android手机(三星Galaxy S8)配置为使用代理。我可以连接到mitm。我还可以看到Mitmproxy捕获的一些请求 然而,当我试图在谷歌搜索任何东西时,我没有连接到互联网 关于发生了什么以及如何修复它的任何提示?谷歌应用程序使用,因此它可以检测到你下载到手机上的“假” 安卓7.1及更高版本,但如果你有一部超级用户接入的手机,你可以通过ADB让它工作 Android将其系统证书存储在/system/etc/security/cacerts/中。如果您查看您的设备,您将看到证书具

我已经将android手机(三星Galaxy S8)配置为使用代理。我可以连接到mitm。我还可以看到Mitmproxy捕获的一些请求

然而,当我试图在谷歌搜索任何东西时,我没有连接到互联网

关于发生了什么以及如何修复它的任何提示?

谷歌应用程序使用,因此它可以检测到你下载到手机上的“假”

安卓7.1及更高版本,但如果你有一部超级用户接入的手机,你可以通过ADB让它工作

Android将其系统证书存储在
/system/etc/security/cacerts/
中。如果您查看您的设备,您将看到证书具有哈希名称,例如“a1234b0d.0”。要拦截应用程序流量,您需要找出证书的哈希值

openssl x509 -inform PEM -subject_hash_old -in mitmproxy-ca-cert.pem | head -1
然后相应地重命名您的证书

mv mitmproxy-ca-cert.pem <your_hash_value_in_here_without_carets>.0

如果这不起作用的话,我记得(虽然不是消息来源)读到的关于Android Nougat的文章也没有提到2年以上过期的证书。mitmproxy创建的证书应该可以。不过,Burpsuite或Fiddler证书对我不起作用。

我只是在Android 10上试过,它不考虑我的mitmproxy证书,该证书的到期日为2.5年。我能够使用HTTP工具包实现类似的目标(尽管我知道可以创建自己的根证书,并让mitmproxy使用它,但我不想麻烦)。
adb shell su -c "mount -o rw,remount,rw /system"
adb push your_certificate /sdcard/your_certificate
adb shell su -c "mv /sdcard/your_certificate /system/etc/security/cacerts/your_certificate"
adb shell su -c "chmod 644 /system/etc/security/cacerts/your_certificate"
adb reboot