C#システムが開いているポートとステータスを取得

1342 ワード

実際には、c#プログラミング方式でCMDコマンドラインを呼び出し、netstatコマンドを呼び出し、CMDコマンドの出力ストリームをC#コンソールプログラムに転送します.結果をファイルに出力することもできます.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;

namespace _19            
{
    class Program
    {
        static void Main(string[] args)
        {
            Process p = new Process();
            p.StartInfo.FileName = "cmd.exe";//         
            p.StartInfo.UseShellExecute = false;//                
            p.StartInfo.RedirectStandardInput = true;//            
            p.StartInfo.RedirectStandardOutput = true;//           
            p.StartInfo.RedirectStandardError = true;//        
            p.StartInfo.CreateNoWindow = true;//           
            p.Start();
            //p.StandardInput.WriteLine(@"netstat -a -n>c:\port.txt");//         
            p.StandardInput.WriteLine(@"netstat -a -n");
            string str;
            while ((str = p.StandardOutput.ReadLine()) != null) 
            {
                Console.WriteLine(str);
            }

            Console.ReadKey();
        }
    }
}