검색결과 리스트
Total에 해당되는 글 163건
글
Detect the Firewall/Antivirus Product
(설치된 방화벽/안티바이러스 확인하기)
Intro
 네트워크 프로그램을 개발하다보면, 항상 문제가 되는 것이 바로 '방화벽' 입니다.
우리가 아는 것 이상으로 사용자들은 방화벽에 대해서 모르는 것 같습니다.
대부분 잘 되던 프로그램이 다른 PC 에서 안된다면, 1차적으로 확인해야 하는 것이 바로 이것이죠.
이런 이유로 프로그램 시작시 혹은, 네트워크 문제가 발생하였을 경우 관련된 정보를 사용자에게 제공하는 것이 중요합니다.
"V3 의 방화벽 설정을 확인하십시오" 라든지.. 뭐 그런~
이번 시간에는 3rd-Party의 방화벽, 그리고 백신 프로그램의 설치 유무를 확인하는 방벙에 대해서 알아보도록 하겠습니다.
자동으로 윈도우 방화벽의 예외리스트에 포트를 등록하는 방법은 이전 포스트를 참고하시기 바랍니다.
http://crystalcube.co.kr/entry/윈도우-방화벽-해제하는-방법
Contents
 눈치가 빠르신 분들은 어떤 방식으로 이 문제를 해결 할 수 있을지 아실거라고 생각합니다.
바로 WMI 를 사용하는 것입니다. :)
코드가 간단하므로, 별도의 설명은 생략하도록 하겠습니다.
Status 나 기타 정보는 구글링 해 보시기 바랍니다.
Code
※ 필요한 참조
 - System.Management.dll
※ 필요한 NameSpace
 - System.Management
  [AntiVirus Product]
private void DetectAntivirusProduct() {
    List<ManagementObject> list = new List<ManagementObject>();
    ManagementObjectSearcher search = new ManagementObjectSearcher("SELECT * FROM AntiVirusProduct");
    // SecurityCenter
    search.Scope = new ManagementScope(@"\ROOT\SecurityCenter");
    foreach (ManagementObject virusProduct in search.Get()) {
        list.Add(virusProduct);
    }
    // SecurityCenter2
    search.Scope = new ManagementScope(@"\ROOT\SecurityCenter2");
    foreach (ManagementObject virusProduct in search.Get()) {
        list.Add(virusProduct);
    }
    // Print All Properties
    foreach(ManagementObject obj in list) {
        foreach (PropertyData prop in obj.Properties) {
            Console.WriteLine(prop.Name + " : " + obj[prop.Name].ToString());
        }
    }
}
[Firewall Product]
private void DetectFirewallProduct() {
    List<ManagementObject> list = new List<ManagementObject>();
    ManagementObjectSearcher search = new ManagementObjectSearcher("SELECT * FROM FirewallProduct");
    
    // SecurityCenter
    search.Scope = new ManagementScope(@"\ROOT\SecurityCenter");
    foreach (ManagementObject virusProduct in search.Get()) {
        list.Add(virusProduct);
    }
    // SecurityCenter2
    search.Scope = new ManagementScope(@"\ROOT\SecurityCenter2");
    foreach (ManagementObject virusProduct in search.Get()) {
        list.Add(virusProduct);
    }
    // Print All Properties
    foreach (ManagementObject obj in list) {
        foreach (PropertyData prop in obj.Properties) {
            Console.WriteLine(prop.Name + " : " + obj[prop.Name].ToString());
        }
    }
} 
 
'Microsoft > C#' 카테고리의 다른 글
| MessageQueue 구현하기 (3) | 2011.05.08 | 
|---|---|
| JSON 과 AJAX 그리고 C# (0) | 2011.04.25 | 
| 베터리 상태 체크하기 (0) | 2011.02.16 | 
| HttpWebRequest 로 FileUpload 시에 주의할 점 (2) | 2011.02.07 | 
| Global Hooking in .NET (1) | 2011.01.24 | 
 
								
RECENT COMMENT