安卓okhttp3 no_proxy抓包

文章描述了在遇到某app使用okhttp3库且无法通过常规方式抓包的情况,解决方案是通过FridaHook修改okhttp3的proxy设置,将代理设为BurpSuite代理,从而实现抓包。另一种尝试是设置为null,但未能成功抓包。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近发现某app无法抓包,使用hooker的url.js发现使用的为okhttp3;okhttp3可设置proxy为no_proxy,则不走系统代理,导致无法抓包。

解决办法

Frida hook proxy 函数,修改proxy值,可直接设置proxy为burpsuite代理,即可愉快的抓包,另外一种方式,设置proxy为null,测试不能抓包,不知道原因


```javascript
Java.perform(function() {
    var okhttp3 = Java.use('okhttp3.OkHttpClient$Builder');
    
    okhttp3.proxy.implementation = function(x) {
		var proxyObject = Java.use('java.net.Proxy').$new(Java.use('java.net.Proxy$Type').HTTP.value, Java.use('java.net.InetSocketAddress').$new('10.222.7.102', 8080));
    
        // Modify the behavior of noProxy() method
        // For example, return a custom list of hosts that should not use a proxy
        console.log('no_proxy setting');
		var result = this.proxy.call(this, proxyObject);
        console.log(Java.use("android.util.Log").getStackTraceString(Java.use("java.lang.Throwable").$new()));
        return this.proxy.call(this, proxyObject);
    };

});
### 如何防止Fiddler抓包 为了阻止Fiddler这类工具进行数据捕获,应用程序开发者可以采取多种措施来增强安全性并保护敏感信息不被轻易拦截。下面是一些有效的策略: #### 使用无代理设置 对于基于HTTP客户端库的应用程序来说,可以在初始化阶段指定不使用任何网络代理服务器。例如,在OkHttp中可以通过`proxy()`方法配置为`.NO_PROXY`模式[^3]。 ```kotlin var httpBuilder = OkHttpClient.Builder() .addInterceptor(defaultInterceptor()) .connectTimeout(DEFAULT_TIMEOUT, TimeUnit.MILLISECONDS) .writeTimeout(DEFAULT_TIMEOUT, TimeUnit.MILLISECONDS) .readTimeout(DEFAULT_TIMEOUT, TimeUnit.MILLISECONDS) .proxy(Proxy.NO_PROXY) // 不使用代理 ``` 这种做法能够有效避免应用流量自动导向至像Fiddler这样的本地监听端口上。 #### 加密传输层安全协议(TLS/SSL) 确保所有的API请求都经过加密处理是非常重要的一步。现代移动操作系统通常会验证证书链的有效性和合法性,如果发现异常则拒绝建立连接。因此即使攻击者成功设置了中间人位置也无法解码实际载荷内容[^2]。 #### 实施严格的证书固定(Certificate Pinning) 除了依赖于标准的信任机制外,还可以进一步实施更严格的身份认证方式——即所谓的“证书钉扎”。这意味着只有特定CA签发给预定义域名下的公钥才被认为是可信的;其他任何形式的篡改都会触发警告甚至终止会话。 --- ### 绕过Fiddler反抓包技术 当遇到某些难以调试的情况时,可能需要找到绕开这些防护手段的办法来进行合法合规的技术分析工作。以下是几种常见的解决方案: #### 修改系统信任存储 有时目标APP可能会自带硬编码形式嵌入了自签名或其他特殊类型的根证书用于内部用途。此时可通过替换设备上的默认受信列表达到兼容目的。不过需要注意的是此操作存在一定风险并且违反了很多平台的安全政策,请谨慎行事[^1]。 #### 利用开发版特性或Root权限 部分官方发布的测试版本或许允许用户更容易地调整相关参数从而实现监控功能。另外拥有超级管理员身份后也意味着获得了更多控制权去修改底层环境变量等。 #### 更新浏览器扩展插件 针对Web页面加载过程中的HTTPS流量捕捉难题,保持最新状态下的第三方辅助软件往往能提供更好的支持和服务质量改进方案。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值