android - 如何在 Android 中执行中间人攻击?
问题描述
我正在构建一个我想阻止特定主机的应用程序。我们通过 Android 中的 VPNService 拦截了网络流量,我们得到了所有的数据包。我进行了 DNS 解析以从目标地址获取主机名。我的目标是根据 Web 内容阻止特定的 URL。为了获得完整的 URL,我正在考虑尝试 MITM 攻击以从 TCP 数据包中获取解密数据。
我应该如何采用这种方法?另外,有没有其他方法可以实现这个目标?
注意:这仅适用于非 root 设备。
解决方案
您可能希望调整此https://stackoverflow.com/a/22040887/6655884以使用您的服务。这个想法是安装您自己的证书根目录,以便您的 MITM 证书在 Android 上受到信任。
这不需要root。
但是,如果您打算将其作为 APK 启动,而不是针对特定设备,则要求用户安装证书是行不通的。
我认为不安装自定义证书是不可能的
推荐阅读
- angular - 什么是全局角度 CLI 和局部角度 CLI?
- php - Laravel 会话错误?
- xamarin - 我无法在另一个页面上获取 Picker SelectedItem 值
- html - 有没有关于读者应该如何阅读网页的流程图或wai-aria“调试器”?
- python - (AttributeError: 'NoneType' object has no attribute 'get' ) 在 tensorflow 2.1 中加载保存的 .h5 扩展名的 keras 模型时
- android - 如何在 android 10 中获取 IMEI
- python - 如何读取具有列表的数据集
- angular - Angular sharing modules between lazy loaded modules - cli creates unwanted chunks
- python - 在python 3中的另一个字典中添加带有静态键的字典
- android - ViewHolder 返回 RecyclerView 中的旧位置