当前位置:编程学习 > C#/ASP.NET >>

想问一个C#正则表达式的问题???

这是我用netstat -an指令获取的数据:
Active Connections

  Proto  Local Address          Foreign Address        State
  TCP    0.0.0.0:25             0.0.0.0:0              LISTENING
  TCP    0.0.0.0:80             0.0.0.0:0              LISTENING
  TCP    0.0.0.0:135            0.0.0.0:0              LISTENING
  TCP    0.0.0.0:443            0.0.0.0:0              LISTENING
  TCP    0.0.0.0:445            0.0.0.0:0              LISTENING
  TCP    0.0.0.0:1025           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:1027           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:6059           0.0.0.0:0              LISTENING

请问怎样用Process和Match对象获取所有的TCP下的State下的数据信息(就是所有的LISTENING),然后逐个保存到一个string[]中????谢谢 --------------------编程问答-------------------- add --------------------编程问答-------------------- 请问如何保存是LISTENING的TCP的Foreign Address地址???谢谢帮忙~ --------------------编程问答-------------------- 0.0.0.0:25            0.0.0.0:0              LISTENING 
0.0.0.0:80            0.0.0.0:0              LISTENING 
  TCP    0.0.0.0:135            0.0.0.0:0              LISTENING 
  TCP    0.0.0.0:443            0.0.0.0:0              LISTENING 
  TCP    0.0.0.0:445            0.0.0.0:0              LISTENING 
  TCP    0.0.0.0:1025          0.0.0.0:0              LISTENING 
  TCP    0.0.0.0:1027          0.0.0.0:0              LISTENING 
  TCP    0.0.0.0:6059          0.0.0.0:0              LISTENING 

放进数组,然后%3
--------------------编程问答-------------------- 请给出具体的代码和方法,谢谢了。。。 --------------------编程问答-------------------- --------------------编程问答-------------------- 执行这个命令 netstat -an >1.txt
然后再打开1.txt文件

using System.IO;
        public static string[] TxtDQ(string 1.txt路径)
        {
            string[] aStr = File.ReadAllLines(1.txt路径);

            return aStr;
        }
--------------------编程问答--------------------

using System.Diagnostics;

                Process p = new Process();                

                p.StartInfo.FileName = "cmd.exe";
                p.StartInfo.Arguments = "/c netstat -an >1.txt";
                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("exit");


using System.IO;
        public static string[] TxtDQ(string 1.txt路径)
        {
            string[] aStr = File.ReadAllLines(1.txt路径);

            return aStr;
        }
--------------------编程问答-------------------- 截获cmd的输出流来判断 --------------------编程问答-------------------- good work
 static void Main(string[] args)
        {
            Process p = new Process();
            p.StartInfo.FileName = "cmd.exe";
            p.StartInfo.Arguments = "/c netstat -an >1.txt";
            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("exit");
            string[] aStr = File.ReadAllLines("1.txt");
            for (int i = 0; i < aStr.Length; i++)
            {
                Console.WriteLine(aStr[i]);
            }
        }
--------------------编程问答-------------------- 不是要这样。。。。你没明白我的意思。。。你这个获取的方法我已经知道了,但要怎样方便一点获取是LISTENING状态的IP?具体的获取方法? --------------------编程问答-------------------- 比方说吧:
netstat -an出的数据如下:
TCP    0.0.0.0:135            0.0.0.0:0              LISTENING 
  TCP    0.0.0.0:443            0.0.0.0:0              LISTENING 
  TCP    0.0.0.0:445            213.34.23.35:23              SNY_REV
  TCP    0.0.0.0:1025          0.0.0.0:0              LISTENING 
  TCP    0.0.0.0:1027          192.168.1.25:80              SNY_REV 
  TCP    0.0.0.0:6059          0.0.0.0:0              LISTENING

这样如何用C#实现把是SNY_REV状态的一组数据分:连接类型(TCP/UDP)、主机IP、外部IP、状态(LISTENING、SNY_REV),分别存到一个List<tcpuser>中????谢谢高手指点~ --------------------编程问答-------------------- 哦,如果用9楼的方法的话就是拐了个弯有回来。。 --------------------编程问答-------------------- 直接一行一行的读,然后查找判断 --------------------编程问答-------------------- 前面有个高手,给了我一个正则表达式,就可以获取的了,但是这里是多个,我就不知道怎么用正则表达式获取了,希望那个高手再来指教。。。谢
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,