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

时间:2022-11-13 15:22:31

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