Finden Sie den DNS-Hostnamen von der IP-Adresse im LAN

Hey alle. Ich habe ein Programm geschrieben, dass sequenziell durchsucht, bestimmte Teile eines LAN für Computer (code wird bereitgestellt). Allerdings, wenn ich diesen code ausführen, es gibt nur den DNS-Hostnamen des Computers, auf dem es läuft. Ich sah in mit WMI, aber ich kann nicht, da ich nicht immer Privilegien auf den Computern gefunden wurde. Gibt es eine andere Möglichkeit zu finden, einen lokalen Computer HostName?

using System;
using System.Net;
using System.Net.NetworkInformation;
using System.Text;

namespace CheckLocalNetwork
{
    class PingCheck
    {
        public static string fullip;

        public void CheckSequentialIP()
        {
            IPHostEntry IpEntry = Dns.GetHostEntry(fullip);

            Ping pingSender = new Ping();

            PingOptions options = new PingOptions();
            options.DontFragment = true;

            string data = "a";
            byte[] buffer = Encoding.ASCII.GetBytes(data);
            int timeout = 120;
            PingReply reply = pingSender.Send(fullip, timeout, buffer, options);

            if (reply.Status == IPStatus.Success)
            {
                Console.WriteLine("Address: {0}", reply.Address.ToString());
                Console.WriteLine("Host Name: {0}", IpEntry.HostName);
                Console.WriteLine("RoundTrip time: {0}", reply.RoundtripTime);
                Console.WriteLine("Time to live: {0}", reply.Options.Ttl);
                Console.WriteLine("Don't fragment: {0}", reply.Options.DontFragment);
                Console.WriteLine("Buffer size: {0}", reply.Buffer.Length);
                Console.WriteLine("");
            }
        }

        static void Main(string[] args)
        {
            Console.WriteLine("Press enter to search for ip adresses that begin with 192.168.1");
            Console.ReadLine();

            for (int endofip = 1; endofip < 101; endofip++)
            {
                fullip = "192.168.1." + Convert.ToString(endofip);
                PingCheck checkfullip = new PingCheck();
                checkfullip.CheckSequentialIP();

            }
            Console.ReadLine();
    }

Alle Hilfe wird sehr geschätzt.

InformationsquelleAutor Bloodyaugust | 2010-01-04
Schreibe einen Kommentar