好吧,讓我們精確一點。多年來,我一直在問自己一個問題:是否有可能在計算機上偵聽DNS請求(在我的情況下是windows計算機)並要求程序在檢測到特殊DNS時執行shell命令?用Java持續監聽DNS請求並執行cmd命令
我一直在玩這個命令:
IPCONFIG/displaydns |找到「my.dns.com」
和預期的一樣,我可以在我的DNS緩存中找到「my.dns.com」。
但我不能問到CMD:
嘿,聽着在連續的所有請求,當你發現 「my.dns.com」請執行「的音樂。可執行程序」。
所以我想到一個程序(在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...
}
我知道,那是極少數,但我甚至不知道在哪裏看看回答我的問題。
如果你能夠理解我(是的,你在屏幕後面吃着多力多滋),你能至少幫我找到我的路嗎?
精確的,如果你要我編輯:)
所以,我一定嘗試這個劇本,並遺憾地說,但,它不工作:(腳本執行很好,但什麼都沒有發生,當我旅行到特定的DNS。至少,您的幫助感謝:) @lit –
請嘗試運行'Get-DnsClientCache | ForEach-Object {$ _。Name}'在PowerShell提示符下單獨運行。您在輸出中查找的域名是?另外,您必須在瀏覽到相關域時保持此腳本運行。 – lit
所以我嘗試了一下,它的確顯示了我很少的DNS,但並不是我想要的那個:(但是,當我把一個DNS放在列表中時,它就起作用了。順便說一句,謝謝@lit) –