使用Java连续监听DNS请求并执行cmd命令

时间:2017-10-12 17:53:42

标签: java windows cmd dns sniffer

好吧,让我们准确一点。很多天我一直问自己一个问题:是否可以在计算机上监听DNS请求(在我的情况下是一台Windows机器)并要求程序执行如果检测到特殊DNS,则为shell命令?

我一直在玩这个命令:

ipconfig / displaydns |找到" my.dns.com"

正如所料,我能够找到" my.dns.com"在我的DNS缓存中。

但是我无法向cmd询问:

  

嘿,连续听到所有请求,当你发现时   " my.dns.com"请执行" music.exe"。

所以我想象一个程序(用Java)为我做这个。为何选择java?因为我是唯一能够使用的编程语言,所以我开始使用它,因此我更容易理解它。但是,如果我在Java中找不到的东西,请告诉我!

但是(再次)我不知道如何管理DNS请求,也没有要求java程序连续运行。目前,这是我可以添加到程序中的所有内容:

if ("my.dns.com" is detected) {
try {
String command = "cmd /c start music.exe";
Process child = Runtime.getRuntime().exec(command);
OutputStream out = child.getOutputStream();
} catch (IOException e) {
}

也许是连续跑步:

boolean running = true;
while(running)
{
  //main loop...
}

我知道,这很少但我甚至不知道在哪里回答我的问题。

如果您能够理解我(请问您在吃多力多滋时在屏幕后面),请您至少帮助我找到自己的方式吗?

如果你想让我编辑它,那就精确了:)

1 个答案:

答案 0 :(得分:0)

也许PowerShell的这个(未经测试的)剪辑会让你前进。我不知道清除DNS缓存是个好主意,但这取决于您。如果你不这样做,它仍然会在那里。

ArrayList