想问一个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;--------------------编程问答-------------------- 截获cmd的输出流来判断 --------------------编程问答-------------------- good work
public static string[] TxtDQ(string 1.txt路径)
{
string[] aStr = File.ReadAllLines(1.txt路径);
return aStr;
}
static void Main(string[] args)--------------------编程问答-------------------- 不是要这样。。。。你没明白我的意思。。。你这个获取的方法我已经知道了,但要怎样方便一点获取是LISTENING状态的IP?具体的获取方法? --------------------编程问答-------------------- 比方说吧:
{
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]);
}
}
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#