Comments (11)
See Android 4.4
的InetAddress
类源代码,和JRE
一样也包含了Java-side DNS cache的功能。
PS: 实现和JRE
的不同。
以目前对Android
开发的了解,目前没有dns-cache-manipulator
的需求,这个Issue暂时挂起吧。 😸
from java-dns-cache-manipulator.
移动端劫持严重,无缝实现dns替换是很有需求的
from java-dns-cache-manipulator.
@wangkaisdu 多谢反馈
看了一下Android
的dns cache
,从Android 4
开始主要交由c lib
:
java lib
的dns cache
只由静态字段维护了LRU Map
大小16项,时长2秒。
要想想怎么hack 😄 有好的思路欢迎交流~
PS:修改vm dns cache
可以对应用使用透明,值得搞一下。
from java-dns-cache-manipulator.
我也在找方法,改天去你工位交流下。
from java-dns-cache-manipulator.
@wangkaisdu 好!有空就来聊聊。
相关资料
- 国内最大的域名解析商
DNSPod
为app
开发者推出了D+(http dns)
android-httpdns
,提供了D+
的封装。封装方式是提供了一个工具方法,完成常用操作。工具方法的实现需要主动调用httpdns
:- 不透明,即走
D+
工具方法的实现(应用实现)需要主动调用httpdns - 因为不透明,其它使用域名的网络库 不能直接用上
D+
的域名解析能力,即需要一个一个修改或特殊配置网络库。
- 不透明,即走
from java-dns-cache-manipulator.
我也主要是想完善httpdns.所以想搞个无缝埋点的,现在的方式用户需要操心的事很多。比如代理,https就玩不转
from java-dns-cache-manipulator.
顶!同感~
目前HttpDns
的使用方式,确实是用户不方便友好、功能不全。值得深入研究搞一把~
修改Android
系统类InetAddress
/AddressCache
是一种可以 无缝的方式。咨询了 @Trinea ,提到 alibaba/dexposed 可以修改系统类,可以研究一下后面的解法。
from java-dns-cache-manipulator.
我也主要是想完善httpdns.所以想搞个无缝埋点的,现在的方式用户需要操心的事很多。比如代理,https就玩不转
关于
看了一下Android的dns cache,从Android 4开始主要交由c lib:
java lib的dns cache只由静态字段维护了LRU Map大小16项,时长2秒。
可以考虑C
实现(NDK
),做成Android Lib
(AAR
),这个应该难度不大,有空就搞一下 😸
from java-dns-cache-manipulator.
你的意思是hook住c层的代码吗?还是?
from java-dns-cache-manipulator.
是的。
hook C
的代码,或者改C
内存里的DNS Cache
的数据。
你可以一起找找Android c是如何管理DNS Cache
的资料。
from java-dns-cache-manipulator.
我明白了,
from java-dns-cache-manipulator.
Related Issues (20)
- Issue on GitHub Actions with latest Zulu 8u352 JDK HOT 7
- Caused by: java.lang.ClassNotFoundException: java.net.InetAddress$CachedAddresses HOT 5
- child class java.net.InetAddress$NameServiceAddresses for class InetAddress.Addresses should never happens HOT 4
- support jdk 9 HOT 1
- Support config file name setting by -D option
- use specification test framework(BDD) rewrite unit test HOT 1
- 使用SSM整合HttpClient,使用工具包设置DNS,打印出来的DNS为最新的,但是请求时调用的DNS为缓存的设置 HOT 3
- 多个jvm进程怎么共享一个dns?
- how to share dns in all jvm process? HOT 1
- Support JDK 11 HOT 10
- 可以使用这个开发成1个dns服务器 HOT 1
- 什么时候可以支持 JKD 11 呢 HOT 2
- Fix "argument_count" issue in tool/src/main/java/com/alibaba/dcm/tool/DcmTool.java
- Fix "similar-code" issue in library/src/main/java/com/alibaba/dcm/agent/DcmAgent.java
- Fix "identical-code" issue in library/src/main/java/com/alibaba/dcm/internal/InetAddressCacheUtilForJava8Minus.java
- Fix initFieldsOfInetAddressCachePolicy method issue in library/src/main/java/com/alibaba/dcm/internal/InetAddressCacheUtilCommons.java
- Fix "method_complexity" issue in library/src/main/java/com/alibaba/dcm/internal/InetAddressCacheUtilForJava8Minus.java
- Fix Method inetAddress$Addresses2DnsCacheEntry issue in InetAddressCacheUtilForJava9Plus
- Fix "squid:S00112" issue in library/src/main/java/com/alibaba/dcm/agent/DcmAgent.java
- jdk11支持吗
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from java-dns-cache-manipulator.