获取c#中所有连接的pc的IP地址

时间:2011-03-19 05:34:34

标签: c# networking

  

可能重复:
  get ip address of all pc on my pc which is connected in lan in c#

这是我的代码。我只提供我的电脑的IP地址,但我想要在lan中连接的所有计算机的IP地址。此外,我在此代码中给出了故障排除错误。请给我解决方案更改代码。

static void Main(string[] args)
{
    System.Diagnostics.Process p = new System.Diagnostics.Process();
    p.StartInfo.FileName = "cmd ";
    p.StartInfo.UseShellExecute = false;
    p.StartInfo.Arguments = "/C net view";
    p.StartInfo.RedirectStandardOutput = true;
    p.Start();
    String output = p.StandardOutput.ReadToEnd();
    char[] delimiters = new char[] { '\n' };
    String strHostName = string.Empty;

    string[] s = output.Split(delimiters, StringSplitOptions.RemoveEmptyEntries);
    IPHostEntry ipEntry = Dns.GetHostEntry(strHostName);
    IPAddress[] addr = ipEntry.AddressList;



    p.WaitForExit();
    int z = s.Length - 5;


    string[] str1 = new string[z];
    int i = 0;
    char[] saperator = { ' '};
    for (int j = 3; j < s.Length - 2; j++, i++)
    {

        str1[i] = (s[j].ToString()).Split(saperator)[0] ;
        Console.WriteLine("IP Address {0}: {1} ", i, addr[i].ToString());
    }
     //Console.WriteLine(output);

    Console.ReadLine();
}

1 个答案:

答案 0 :(得分:0)

我不是一个专业人士,但我认为您需要的是一个端口扫描程序,您可以将端口扫描程序的基本功能实现到您的应用程序中并阅读网络中的所有实时ips

一个解决方案是: http://www.geekpedia.com/tutorial142_Creating-a-Port-Scanner-with-Csharp.html

他们甚至可以在网站上下载代码。没有尝试下载它很难。 :)