熱點推薦:
您现在的位置: 電腦知識網 >> 電腦故障 >> 正文

Windows Firewall引起的應用程序無法運行問題

2022-06-13   來源: 電腦故障 

  安裝Microsoft Windows XP Service Pack (SP)後 一些應用程序可能無法在更新的操作系統上運行 這是因為默認情況下 Windows Firewall 為啟用狀態並屏蔽未被認可的外來連接 本文討論了如何建立一個防火牆例外項通過將一個應用程序加入例外列表從而允許這個程序繼續運行
  
  為了提高基於Windows XP SP的計算機的安全性能Windows Firewall 屏蔽了未被認可的外來連接但是有時我們還是需要建立一個例外規則來允許一些入站的連接例如在下列情況下
  
  通過Internet進行多人聯網游戲時
  
  要從即時通訊軟件接收文件
  
  安裝了Windows XP SP客戶端應用程序可能不能夠成功的從服務器接收數據以下是一些例子
  
  FTP 客戶端
  
  流媒體M播放軟件
  
  郵件客戶端的新郵件提醒
  
  同樣運行在Windows XP SP上的服務器端的應用程序也可能不能成功的回應客戶端請求以下是一些例子
  
  Web服務器 如IIS
  
  遠程桌面
  
  文件共享
  
  Windows XP SP在默認情況下使用下面的交互式組件來實現這個例外規則
  
  Windows Firewall 安全提醒
  有時Windows Firewall在屏蔽一個應用程序的運行時會出現一個Windows Firewall 安全提醒 對話框這個對話框包含以下信息
  
  to help protect your computer Windows Firewall has blocked this program from receiving unsolicited information from the Internet or a network
  
  這個提醒信息顯示了程序的名稱和程序的開發者這個對話框包含個選擇
  
  Unblock the program
  
  Keep blocking this program
  
  Keep blocking this program but ask me again later
  
  下面說明如何使用這個對話框來允許這個程序運行
  
  允許程序運行
  一些程序為了能夠正常運行必須從網絡上接收信息這些信息通過入站端口進入計算機Windows Firewall 要允許這些信息進入必須在計算機上打開正確的入站端口要使程序和未裝SP之前一樣的進行通信來允許程序正常的運行可以使用以下的任何一個方法
  
  通過安全提醒來允許程序運行
  
  在 安全提醒 對話框中選擇 Unblock this program
  
  單擊確定
  
  通過Windows防火牆設置來允許程序運行
  
  如果你在安全提醒對話框中沒有選擇 Unblock the program這個程序將被禁止運行你可以通過配置Windows Firewall 來同樣達到這個目的:
  
  點擊開始運行在打開輸入框中輸入 wscuicpl然後點擊確定
  
  點擊Windows Firewall
  
  在Windows Firewall對話框中選擇例外選項卡然後選擇添加程序
  
  在添加程序的對話框中選擇列表中的程序或者通過浏覽來選定一個程序
  
  如果你不能確定這個需要設定的程序的具體名稱參見後面所述
  
  選定程序後確定
  
  在例外列表中確定你選中的程序項前面的選擇框為選中狀態確定
  
  注意 如果你以後不想將這個程序作為例外只需要清除這個程序項的選擇框
  
  把程序添加到例外列表中有以下好處:
  
  你不需要知道程序具體使用的哪一個端口(與此相比當你想通過打開端口方式來達到目的你必須知道程序所使用的端口號這將在後面詳述)
  
  例外列表中的程序所使用的端口僅在等待接收一個連接的時候才會打開
  
  確定並打開端口
  
  如果將程序加入到例外列表之後還是不能夠正常運行或者是在選定例外程序時無法確定程序名稱你可以手工打開端口在手工打開端口之前必須先確定程序使用了哪些端口確定程序使用端口的可靠方法當然是聯系程序開發或支持廠商以獲得所需的信息但這種方法多數情況下不是那麼方便而且有時程序所用端口的列表不可提供時你可以使用 Netstatexe 來確定這些端口
  
  用 Netstatexe 來確定端口
  要使用 Netstateexe 來確定程序所使用的端口按照以下步驟:
  
  運行這個出問題的程序並試圖使用其網絡功能如對於媒體播放程序打開一個音頻流對於Web服務器啟動Web服務
  
  點擊開始運行輸入 cmd 確定
  
  獲取監聽端口列表 - 在命令提示行中輸入以下命令並回車:
  
  netstat –ano > etstattxt
  
  獲取進程標識符來確定正在運行的進程 - 在命令提示行中輸入以下命令並回車:
  
  tasklist > tasklisttxt
  
  注意 如果問題程序是作為服務運行的需要在輸入的命令中加入 /svc 開關來得到每個進程中加載的服務:
  
  tasklist /svc > tasklisttxt
  
  打開 Tasklisttxt定位到需要診斷的那個問題程序記下這個進程的進程標識符
  
  打開 Netstattxt記下關聯到那個進程標識符的的所有入口同時記下所使用的通信協議(TCP或UDP)
  
  這個進程所使用的端口號將影響到如何解決這個問題:
  如果進程使用大於的端口這些端口號可能不能改變
  
  如果端口號小於這個程序可能使用的是一個端口范圍因此僅僅打開某些單獨的端口可能沒法解決這個問題
  
  用 Windows Firewall 手工打開端口
  要確定確切的端口號可以聯系程序開發或支持廠商以獲得所需的信息或者查看用戶文檔確定端口需要打開的端口後按以下步驟:
  
  單擊開始運行輸入 wscuicpl 確定
  
  選擇 Windows Firewall
  
  選擇例外選項卡單擊添加端口
  
  在添加端口對話框中在端口號欄中輸入需要打開的端口號並選擇 TCP 或 UDP 類別
  
  輸入端口名稱然後確定例如輸入 GamePort
  
  要顯示或設定這個端口例外的范圍點擊改變范圍然後確定
  
  在例外選項卡中注意到新的服務已經列出要打開這個端口選中這個服務前面的選擇框然後確定

From:http://tw.wingwit.com/Article/Fault/201311/10446.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.