Skip to content

Latest commit

 

History

History
134 lines (108 loc) · 7.5 KB

File metadata and controls

134 lines (108 loc) · 7.5 KB

Java Dns Cache Manipulator Tool

Github Workflow Build Status Github Workflow Build Status Coverage Status Maintainability Java support License Maven Central GitHub release Javadocs GitHub Stars GitHub Forks GitHub issues user repos GitHub Contributors GitHub repo size gitpod: Ready to Code GitHub release download - dcm.tar.gz)

👉 设置/查看 运行中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.y.z.tar.gz

解压后,运行bin目录下的dcm

$ 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

📚 相关资料