簡體   English   中英

Java代碼檢查防火牆狀態

[英]Java code to check the status of firewall

我正在構建一個Java應用程序以檢查防火牆的狀態。 用簡單的話來說,它應該給出防火牆是打開還是關閉的輸出(請注意,當我說防火牆時,是指Windows OS附帶的內置防火牆)。 我需要此代碼來提供本地計算機本身的狀態。 基本上,我想做的是模擬命令“ netsh advfirewall show allprofiles state”。

據我所知,尚無用於檢查內置Windows防火牆狀態的Java API,因此您可能必須求助於從Java執行Shell命令。 一個例子:

StringBuilder output = new StringBuilder();
Process p = Runtime.getRuntime().exec("netsh advfirewall show allprofiles state");
p.waitFor(); //Wait for the process to finish before continuing the Java program.

BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = "";           
while ((line = reader.readLine()) != null) {
  output.append(line + "\n");
}
//output.toString() will contain the result of "netsh advfirewall show all profiles state"

因為我手頭沒有Windows計算機,所以我不知道netsh advfirewall show allprofiles state返回的內容,但是我想一個簡單的output.toString().contains()可以工作。 不要忘記捕獲任何異常!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM