app防止被抓包,包括Fiddler,Charles,HttpCanary等工具

防抓包方式一:

在客户端请求网络之前先判断手机网络是否使用了代理,如果使用了代理就不请求接口。
java版:

  private boolean isWifiProxy() {
        final boolean IS_ICS_OR_LATER = Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH;
        String proxyAddress;
        int proxyPort;
        if (IS_ICS_OR_LATER) {
           proxyAddress = System.getProperty("http.proxyHost");
           String portStr = System.getProperty("http.proxyPort");
           proxyPort = Integer.parseInt((portStr != null ? portStr : "-1"));
        } else {
           proxyAddress = android.net.Proxy.getHost(this);
           proxyPort = android.net.Proxy.getPort(this);
        }
        return (!TextUtils.isEmpty(proxyAddress)) && (proxyPort != -1);
      }

kotlin版:

private fun checkWifiProxy(): Boolean {
        val IS_ICS_OR_LATER = Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH
        val proxyAddress: String?
        val proxyPort: Int?
        if (IS_ICS_OR_LATER) {
            proxyAddress = System.getProperty("http.proxyHost")
            val portStr = System.getProperty("http.proxyPort")
            proxyPort = Integer.parseInt(portStr ?: "-1")
        } else {
            proxyAddress = android.net.Proxy.getHost(this)
            proxyPort = android.net.Proxy.getPort(this)
        }
        Log.i("cxmyDev","proxyAddress : ${proxyAddress}, prot : ${proxyPort}")
        return !TextUtils.isEmpty(proxyAddress) && proxyPort != -1
    }

缺点显而易见:如果使用了代理,就不允许请求接口。那么因为其他原因使用了代理的用户就用不了这个App了。

防抓包方式二:

网络库大都是提供了我们设置的代理的接口,我们只需要将其设置成无代理的模式,它就不会去应用系统默认的代理了。我用的是okgo,增加了builder.proxy(Proxy.NO_PROXY);这句代码,如图:
在这里插入图片描述拓展:反编译的话可以拿到代码,就可以看到域名了,后续介绍反编译和加固。

  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
手机APP是一种重要的测试和分析移动应用程序的方法。以下是几种常用的实用工具: 1. CharlesCharles是一款常用的跨平台工具,支持Windows、Mac、Linux等操作系统。它能够截取手机APP和服务器之间的通信数据,包括请求和响应头信息以及传输的数据Charles还提供了类似断点式调试功能,方便开发人员对APP的网络请求进行分析和修改。 2. Wireshark:Wireshark是一款网络协议分析工具,也可用于手机APP。它支持多种协议,可以分析APP的网络请求和响应,排查网络问题,如找出慢速请求或异常响应。Wireshark需要在电脑上安装,并通过电脑和手机进行网络数据捕获。 3. FiddlerFiddler是一款常用的网络调试工具,也能用于手机APP。它可以截取HTTP和HTTPS请求数据,分析响应头信息和含的数据内容。Fiddler除了提供数据功能外,还可以修改请求和响应数据,实现动态调试。 4. Proxyman:Proxyman是一款专门为开发人员设计的工具,支持iOS和Android设备。它可以截取APP的HTTP和HTTPS网络请求,并提供了可视化的界面展示请求和响应的详细信息。Proxyman还支持断点调试、自动重放和Mock数据等功能,方便开发人员进行APP的网络调试和测试。 这些工具都具有不同的特点和功能,开发人员可以根据自己的需求选择合适的工具进行手机APP和调试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值