• C#获取局域网ip段


          static void Main()
    {
    ArrayList list = GetAllLocalMachines();
    for (int i = 0; i < list.Count; i++)
    {
    Console.WriteLine(list[i]);
    }
    Console.ReadKey();
    }

     
     //首先来个循环ping一下那个网段的主机。
    //其次用以下的函数去获取所有的局域网内有响应的ip地址列表
    public static ArrayList GetAllLocalMachines()
    {
    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("arp -a");
    p.StandardInput.WriteLine("exit");
    ArrayList list = new ArrayList();
    StreamReader reader = p.StandardOutput;//读取ip。mac。。。。
    string IPHead = Dns.GetHostByName(Dns.GetHostName()).AddressList[0].ToString().Substring(0, 3);
    for (string line = reader.ReadLine(); line != null; line = reader.ReadLine())
    {
    line = line.Trim(); if (line.StartsWith(IPHead) && (line.IndexOf("动态") != -1))
    {
    string IP = line.Substring(0, 15).Trim(); string Mac = line.Substring(line.IndexOf("-") - 2, 0x11).Trim();

    list.Add(IP);
    }
    }
    return list;
    }
  • 相关阅读:
    201521123098 《Java程序设计》 第5周学习总结
    201521123098 《Java程序设计》 第4周学习总结
    201521123098 《Java程序设计》第3周学习总结
    Beta阶段Scrum 冲刺博客合集
    项目复审——Alpha阶段
    事后诸葛亮分析
    展示博客
    测试与发布
    Alpha阶段敏捷冲刺总结
    敏捷冲刺七
  • 原文地址:https://www.cnblogs.com/smailxiaobai/p/2308553.html
Copyright © 2020-2023  润新知