gpt4 book ai didi

android - 如何在我的 Android 应用程序上固定 IP 地址?

转载 作者:太空狗 更新时间:2023-10-29 13:44:36 24 4
gpt4 key购买 nike

渗透测试我们的 Android 应用程序的团队提出了一项建议,即我们应该固定服务器的 IP 地址以及已经固定的证书,以增加一层防御以防止中间人攻击。我的问题是除了已经固定的证书外,我如何将服务器 IP 地址固定在 Android 应用程序上。

目前我正在使用okhttp。我已经实现了证书固定,这是在使用 okhttpClientBuilder 创建单例 okhttpClient 时完成的。代码如下所示。我想以某种方式将后端服务器 IP 地址固定添加到此构建器。

val client = OkHttpClient.Builder()
.addInterceptor { chain ->
val request = chain.request().newBuilder()
.addHeader(apiKeyHeader, apiKey)
.header("Content-Type", "application/json")
.build()
chain.proceed(request)
}.addInterceptor(loggingInterceptor)
.certificatePinner(CertificatePinUtil.createOkHttpCertPinner())
.build()

有关如何实现 IP 固定的任何建议都会有所帮助。理想情况下,我们会使用 OkhttpClientBuilder 或 android 安全配置来执行此操作。我不想对响应进行任何手动检查。

最佳答案

您可以实现自己的 Dns,它具有 Dns 的硬编码结果。

https://github.com/yschimke/okurl/blob/master/src/main/kotlin/com/baulsupp/okurl/network/DnsOverride.kt#L15-24

  override fun lookup(hostname: String): List<InetAddress> {
val override = overrides[hostname]

if (override != null) {
logger.fine("Using Dns Override ($hostname): $override")
return listOf(InetAddress.getByName(override))
}

return dns.lookup(hostname)
}

关于android - 如何在我的 Android 应用程序上固定 IP 地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56762551/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com