Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

Java Dns Cache Manipulator Tool

Build Status Windows Build Status Coverage Status
GitHub release download - dcm.tar.gz) GitHub release Dependency Status
Join the chat at https://gitter.im/alibaba/java-dns-cache-manipulator GitHub issues Average time to resolve an issue License

👉 设置/查看 运行中JVM进程的DNS Cache,支持IPv6

🔧 功能

  • 设置/重置DNS
  • 查看DNS Cache内容
  • 删除一条DNS Cache(即重新Lookup DNS
  • 清空DNS Cache(即所有的域名重新Lookup DNS
  • 设置/查看JVM缺省的DNS的缓存时间

👥 User Guide

下载

GitHub release download - dcm.tar.gz) 下载文件dcm-x.x.x.tar.gz

解压后,运行bin目录下的dcm脚本(Shell脚本)。

$ dcm -h
usage: Options
 -h,--help             show help
 -p,--pid <arg>        java process id to attach

设置/重置DNS

# 对进程ID是12345的Java进程,设置域名 foo.com IP为 1.1.1.1
$ dcm -p 12345 set foo.com 1.1.1.1
# 对进程ID是12345的Java进程,设置域名 bar.com IP为 2.2.2.2 3.3.3.3(可以多个IP)
$ dcm -p 12345 set bar.com 2.2.2.2 3.3.3.3

查看DNS Cache内容

查看单条

# 对进程ID是12345的Java进程,获取域名 aliyun.com 的DNS条目信息
$ dcm -p 12345 get aliyun.com
aliyun.com 220.181.57.217,180.149.132.47,123.125.114.144 2015-06-05T18:56:09.635+0800
# 输出格式是 域名 IP列表(可能有多个IP) 失效时间

查看全部

$ dcm -p 12345 list
Dns cache:
    bar.com 2.2.2.2,3.3.3.3 292278994-08-17T15:12:55.807+0800
    aliyun.com 220.181.57.217,180.149.132.47,123.125.114.144 2015-06-05T19:00:30.514+0800
    foo.com 1.1.1.1 292278994-08-17T15:12:55.807+0800
Dns negative cache:
# 输出包含Cache 和 Negative Cache的条目。条目缩进了4个空格。
# 上面的示例中,Negative Cache为空。

删除/清空DNS Cache

# 删除一条DNS
$ dcm -p 12345 rm aliyun.com
# 清除所有DNS Cache
$ dcm -p 12345 clear

设置/查看JVM缺省的DNS的缓存时间

# 查看缓存时间,单位秒。-1表示永远缓存,0表示不缓存
$ dcm -p 12345 getPolicy
30
# 设置缓存时间
$ dcm --pid 12345 setPolicy 5
# 查看未命中条目的缓存时间,单位秒。-1表示永远缓存,0表示不缓存
$ dcm -p 12345 getNegativePolicy
10
# 设置未命中条目的缓存时间
$ dcm -p 12345 setNegativePolicy 0

📚 相关资料