首页 > 代码库 > C#获得系统打开的端口和状态

C#获得系统打开的端口和状态

frombegintoend 原文 C#获得系统打开的端口和状态

 

实际是通过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();  
        }  
    }  
}  

 

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(); 

        } 

    } 

} 

C#获得系统打开的端口和状态