返回顶部
首页 > 资讯 > 精选 >Android App怎么防止抓包
  • 737
分享到

Android App怎么防止抓包

2023-06-29 16:06:11 737人浏览 八月长安
摘要

本篇内容主要讲解“Android App怎么防止抓包”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Android App怎么防止抓包”吧!正文当我们进行网络请求的时候,一般通

本篇内容主要讲解“Android App怎么防止抓包”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Android App怎么防止抓包”吧!

正文

当我们进行网络请求的时候,一般通过URL的openConnection来建立连接,代码如下:

URLConnection conn = url.openConnection()

其实openConnection这个函数还有一个版本,可以传入一个proxy对象,代码如下:

public URLConnection openConnection(Proxy proxy)    throws java.io.IOException

这样我们通过这个函数建立连接时传入一个Proxy.NO_PROXY,即可达到防止抓包的效果,如Charles等抓包工具就无法看到我们的链接信息了,代码如下

URLConnection conn = url.openConnection(Proxy.NO_PROXY)

官方对于Proxy.NO_PROXY描述如下:

public final static Proxy NO_PROXY = new Proxy();// Creates the proxy that represents a {@code DIRECT} connection.private Proxy() {    type = Type.DIRECT;    sa = null;}

我么可以看到NO_PROXY实际上就是type属性为DIRECT的一个Proxy对象,这个type有三种:

官方描述如下:

public enum Type {        DIRECT,        HTTP,        SOCKS};

这样因为是直连,所以不走代理。所以Charles等工具就抓不到包了,这样一定程度上保证了数据的安全

当然这种方式只是通过代理抓不到包,如果直接通过路由还是可以抓包的。

补充:使用证书校验

这种方式要在app嵌入证书,以okhttp为例:

当okhttp使用X509TrustManager对服务器证书进行校验时,如果服务器证书的 subjectDN 和嵌入证书的 subjectDN 一致,我们再进行签名内容 signature 的比对,如果不一致,抛出异常。示例代码如下:

  • 首先从本地读出证书,获取一个X509Certificate

val myCrt: X509Certificate by lazy {    getCrt(R.raw.my_ca)}private fun getCrt(@RawRes raw: Int): X509Certificate {    val certificateFactory = CertificateFactory.getInstance("X.509")    val input = ApplicationContext.resources.openRawResource(raw)    input.use {        return certificateFactory.generateCertificate(input) as X509Certificate    }}
  • 检查服务器证书时对比嵌入的证书

private fun getTrustManagerInRelease(): X509TrustManager {    return object : X509TrustManager {        override fun checkClientTrusted(chain: Array<X509Certificate>, authType: String?) {}        override fun getAcceptedIssuers(): Array<X509Certificate> = arrayOf()        override fun checkServerTrusted(chain: Array<X509Certificate>, authType: String?) {            val myCrt: X509Certificate = myCrt            if (chain[0].subjectDN.name == myCrt.subjectDN.name) {                if (!myCrt.signature!!.contentEquals(chain[0].signature)) {                    throw SSLHandshakeException("签名不符!")                }            }        }    }}
  • 将自定义的 SSLSocketFactory 和 X509TrustManager 将入到 okhttp 客户端

    private fun getClient(ssl: SSLSocketFactory, trustManager: X509TrustManager): OkHttpClient {        return OkHttpClient.Builder()            .retryOnConnectionFailure(true)            .proxy(Proxy.NO_PROXY)            .sslSocketFactory(ssl, trustManager)            .build()    }

这样一来便无法通过 Drony + Charles 进行抓包了

到此,相信大家对“Android App怎么防止抓包”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: Android App怎么防止抓包

本文链接: https://lsjlt.com/news/325733.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Android App怎么防止抓包
    本篇内容主要讲解“Android App怎么防止抓包”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Android App怎么防止抓包”吧!正文当我们进行网络请求的时候,一般通...
    99+
    2023-06-29
  • IOS怎么防止抓包
    这篇文章给大家分享的是有关IOS怎么防止抓包的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。抓包原理其实原理很是简单:一般抓包都是通过代理服务来冒充你的服务器,客户端真正交互的是这个假冒的代理服务,这个假冒的服务再...
    99+
    2023-06-15
  • AndroidApp如何防止抓包
    目录前言正文补充:使用证书校验总结前言 App安全非常重要,尤其是数据安全。但是我们知道通过Charles等工具可以对App的网络请求进行抓包,如果我们的数据没有进行加密,这样这些信...
    99+
    2024-04-02
  • 详解IOS如何防止抓包
    目录抓包原理防止抓包一、发起请求之前判断是否存在代理,存在代理就直接返回,请求失败。二、我们可以在请求配置中清空代理,让请求不走代理SSL Pinning(AFN+SSL Pinni...
    99+
    2022-05-30
    IOS 防止抓包
  • Android Charles抓包,怎样抓包
    Android端Charles抓包 作者:杨充 来源:https://juejin.cn/post/6874903020677791758 目录介绍 01.下载安装02.抓包代理设置03.抓包Https操作04.抓包原理介绍05.抓包...
    99+
    2023-08-16
    android java 网络
  • Android开发如何防止被Fiddler抓取HTTP/HTTPS数据包
          Android开发过程中需要网络访问获取数据,一般都是通过HTTP/HTTPS请求服务器获取数据;      但是HTTP/HTTPS请求很容易被别人使用一些像Fi...
    99+
    2022-06-06
    https HTTP fiddler android开发 Android
  • 【APP爬虫-抓包篇】巧妙使用工具与技巧绕过安卓APP抓包防护
    文章目录 1. 写在前面 2. 代理检测绕过 2.1. Postern 2.2. Drony 2.3. ProxyDroid 2.4. HttpCana...
    99+
    2024-01-21
    android APP抓包 移动安全
  • Android Spider Fiddler - 夜神模拟器证书安装App抓包
    文章目录 前言一、软件安装1.Openssl安装1.1下载安装1.2配置环境变量1.3查看openssl版本,输入命令:openssl version 2.夜神模拟器安装1.1 下载...
    99+
    2023-09-04
    fiddler https 爬虫 抓包 App抓包
  • python怎么抓取app数据
    要抓取App数据,可以使用Python中的第三方库和工具,例如Appium、Selenium、requests等。 使用Appi...
    99+
    2024-04-02
  • mac使用Charles抓包安卓app的环境怎么配置
    这篇文章主要介绍“mac使用Charles抓包安卓app的环境怎么配置”,在日常操作中,相信很多人在mac使用Charles抓包安卓app的环境怎么配置问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mac使用...
    99+
    2023-06-29
  • 怎么实现Charles抓包
    这篇文章主要介绍“怎么实现Charles抓包”,在日常操作中,相信很多人在怎么实现Charles抓包问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么实现Charles抓包”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-04
  • 抓包工具tcpdump怎么用
    小编给大家分享一下抓包工具tcpdump怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!tcpdump采用命令行方式对接口的数据包进行筛选抓取,其丰富特性表现...
    99+
    2023-06-15
  • wireshark抓包数据怎么看
    要查看Wireshark抓取的包数据,可以按照以下步骤进行:1. 打开Wireshark软件,并选择一个网络接口开始抓包。2. Wi...
    99+
    2023-09-27
    wireshark
  • 怎么使用wireshark usb抓包
    要使用Wireshark进行USB抓包,您可以按照以下步骤操作:1. 下载并安装Wireshark软件。您可以从官方网站(https...
    99+
    2023-10-19
    wireshark
  • linux怎么防止ddos2017
    linux防止ddos2017的方法:借助ddos deflate来防止/减轻类DDOS攻击,安装方法:在终端输入以下命令:wget http://www.inetbase.com/scripts/ddos/install.shchmod ...
    99+
    2024-04-02
  • Android中怎么利用Handler防止内存泄露
    今天就跟大家聊聊有关Android中怎么利用Handler防止内存泄露,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 Handler可能导致的内存泄露及其优化 &...
    99+
    2023-05-30
    android handler
  • fiddler抓包抓不到关键数据怎么解决
    如果Fiddler无法捕获到关键数据,可能有以下几种原因和解决方法:1. 应用程序使用了HTTPS协议进行通信:Fiddler默认只...
    99+
    2023-09-21
    fiddler
  • pycharm怎么打包成app
    是的,可以使用 pycharm 将 python 项目打包成应用程序。步骤如下:选择“build” > “build apk”;配置项目类型、模块名称和入口点;可选配置图标和其它选...
    99+
    2024-04-18
    python pycharm
  • Android应用中怎么防止按钮重复点击
    本篇文章给大家分享的是有关Android应用中怎么防止按钮重复点击,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。首先将这块提取为工具类(方便接下来的调用),现在就起名为:But...
    99+
    2023-05-31
    android roi
  • Android studio怎么导出APP测试包和构建正式签名包
    这篇文章主要讲解了“Android studio怎么导出APP测试包和构建正式签名包”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Android studio怎么导出AP...
    99+
    2023-06-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作