在软件开发中,常用的抓包方式有 Charles 、 Fiddler和Burp,它们通过在手机网络中添加代理的方式,然后安装信任证书,接着就可以在 App 请求的时候拿到请求数据。不过,这也可能导致一些安全问题,所以对于我们通常的处理方式是,对于线上运行的包,需要防止这些抓包手段。

1,使用无代理 Proxy.NO_PROXY

在Android开发中,大部分的App的网络请求都是基于charles 和 fiddler 来进行抓包的,对网络客户端使用无代理模式即可防止抓包,代码如下。

OkHttpClient.Builder().retryOnConnectionFailure(true).proxy(Proxy.NO_PROXY).sslSocketFactory(ssl, trustManager).build()

通常情况下上述的办法有用,但是无法防住使用 VPN 导流进行的抓包( Drony + Charles),使用VPN抓包的原理是,先将手机请求导到VPN,再对VPN的网络进行Charles的代理,绕过了对App的代理。

2,使用证书校验

此种方式可以有效的防止抓包,需要在App端嵌入证书,下面是证书校验的一些说明:

下面是使用Okhttp配合X509TrustManager对服务器

Android App 如何防止抓包相关推荐

  1. Android App 用Charles抓包

    在Mac电脑上使用Charles 抓包,按照Charles 的文档来设置,应该没有什么问题,设置步骤请跳转:Welcome • Charles Web Debugging ProxyCharles W ...

  2. burpsuite小米手机抓包_使用burpsuite实现Android APP的HTTPS抓包

    0x00 序 在对app做安全测试时,通常会需要对app的网络通信进行抓包,但是面对app使用了https包时,由于手机没有burp的证书,因此可能会导致该次通信失败,所以下面的文章主要讲述如何通过b ...

  3. Android中利用手机抓包的方法,经典篇

    在移动逆向分析以及 App 开发的时候,总会需要对其网络行为进行监控测试,本文总结一些抓包思路,并对其使用方法进行实践 笔者认为在抓包界,Wireshark 应该算是综合排名第一的工具(其实 Wire ...

  4. 如何在 Android 手机上实现抓包?

    如何在 Android 手机上实现抓包? http://www.zhihu.com/question/20467503 我想知道某个应用究竟在数据提交到哪里,提交了什么. 网上的教程太复杂,不想麻烦. ...

  5. android 移动网络实时抓包

    2G.3G环境,那就必须root进去tcpdump 方式抓. 准备: 一.root CF-auto-root: http://autoroot.chainfire.eu/ 需要清理全部数据,注意备份 ...

  6. Android设备的网络抓包

    Android设备的网络抓包 背景 比如产品有4G和以太网,我们在调试的时候可能相知道看网络是走4G还是以太网,需要通过抓包来确定 2.抓包方案 2.1   采用集线器 此方案可以对比分析多台设备之间 ...

  7. Android studio3.0开启抓包功能打包会使apk体积增大好几倍

    Android studio3.0开启抓包功能打包会使apk体积增大好几倍 Android studio3.0开启抓包功能打包会使apk体积增大好几倍: 今天尝试了下AS3.0抓包功能,还没怎么整明白 ...

  8. Android加密通信防抓包,[原创]基于Taintdroid思想的android ssl\tsl保密通信抓包研究(未成功,分享一下思路)...

    [旧帖] [原创]基于Taintdroid思想的android ssl\tsl保密通信抓包研究(未成功,分享一下思路) 0.00元 2014-5-12 22:07 1565 [旧帖] [原创]基于Ta ...

  9. 怎样对Android设备进行网络抓包

    问题描写叙述: 前段时间自己的app訪问server的url总是会出现间接性失败的问题,于是和server的同事开了个会.提出了他们server存在的这个bug,我的同事自然说自己的server没问题 ...

最新文章

  1. Android内部存储改变读取权限
  2. 绑定线程到特定CPU处理器
  3. linux stdin shell,关于shell:如何在Alpine Linux中修复“因为stdin不是终端而不会分配伪终端”?...
  4. 数据结构-链表之单链表
  5. Java 面试题经典 77 问
  6. 一个通用纯C队列的实现
  7. Java对象容器——List
  8. php正则表达式函数案例,PHP正则表达式函数preg_replace用法实例分析
  9. C/C++混淆点-strcat和strcpy区别
  10. 玩数据必备Python库:Numpy使用详解
  11. JS操作iframe里的dom
  12. 【NOI2016】循环之美,mobius反演+杜教筛
  13. 【codevs1228】苹果树,哦
  14. java 不同类数据的传递_java 数据在不同类之间的传递
  15. 电脑遇到DNS服务器未响应的情况该怎么办
  16. 【Computer Organization笔记11】多周期CPU
  17. input和output哪个是充电_Angular2中Input和Output用法及示例
  18. 通过PaddleOCR识别pdf数据
  19. 使用Python生成ico文件
  20. 无需关注微信公众号破解openwrite验证

热门文章

  1. Kintinuous
  2. linux ssh欢迎信息,自定义Linux 终端/ssh登录前后的欢迎信息
  3. 运维真心苦,这次我要和大家说说心底话了
  4. Laravel Model数据操作
  5. php代码实现无限极分类,PHP实现无限极分类_php
  6. Java小例子——角谷猜想
  7. 5G安全管理之认证与鉴权(AKA、EAP-AKA、密钥分发)
  8. [附源码]JAVA+ssm计算机毕业设计仿咸鱼二手物品交易系统(程序+Lw)
  9. 入耳式耳机戴久了耳朵疼怎么办?不妨体验下骨传导耳机
  10. 图书管理系统IO流版