Lan-ip-Adresse auslesen und speichern

  • C#
  • .NET (FX) 4.0

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Runshak.

    Lan-ip-Adresse auslesen und speichern

    hallo,

    ich möchte, dass das Programm von mir die Lan ip-Adresse ausliest und anschließend in einer .txt Datei speichert...

    das Auslesen habe ich schon fast zufriedenstellend erreicht...das Speichern bereitet mir große Probleme...

    C#-Quellcode

    1. foreach (NetworkInterface netif in NetworkInterface.GetAllNetworkInterfaces())
    2. {
    3. Console.WriteLine("Network Interface: {0}", netif.Name);
    4. IPInterfaceProperties properties = netif.GetIPProperties();
    5. foreach (IPAddressInformation unicast in properties.UnicastAddresses)
    6. Console.WriteLine("\tUniCast: {0}", unicast.Address);
    7. Console.Read();
    8. }


    dies gibt mir sowohl die ipv4 als auch die ipv6 Adresse aus...eigentlich sollte es nur die ipv4 sein...bin aber bisher auf keine Lösung gekommen...und beim Speichern auch nicht, da das ganze selbstständig passieren soll ohne dass ich auf nen Button o.ä. klicken muss

    weiß da jemand bescheid, bzw hat nen Tipp?

    Danke für eure Hilfe
    Bilder
    • Lan.png

      30,71 kB, 695×144, 326 mal angesehen
    Hier ein Beispiel in VB.Net

    VB.NET-Quellcode

    1. For Each netif In Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces()
    2. For Each addr In netif.GetIPProperties.UnicastAddresses
    3. Select Case addr.Address.AddressFamily
    4. Case Is = Net.Sockets.AddressFamily.InterNetwork
    5. Debug.Print("IPv4: {0}", addr.Address.ToString)
    6. Case Is = Net.Sockets.AddressFamily.InterNetworkV6
    7. Debug.Print("IPv6: {0}", addr.Address.ToString)
    8. Case Else
    9. Debug.Print(addr.Address.AddressFamily.ToString & " - " & addr.ToString)
    10. End Select
    11. Next
    12. Next
    hab es jetzt so gelöst wie ich es wollte...


    C#-Quellcode

    1. ​static void Main(string[] args)
    2. {
    3. StreamWriter sw = new StreamWriter("D:\\Test/IpAdresse.txt");
    4. string Host = System.Net.Dns.GetHostName();
    5. string IPAddress = null;
    6. foreach (IPAddress address in Dns.GetHostEntry(Host).AddressList)
    7. {
    8. if (address.AddressFamily != AddressFamily.InterNetworkV6)
    9. {
    10. IPAddress = address.ToString();
    11. sw.WriteLine(address.ToString());
    12. }
    13. }
    14. sw.Close();
    15. }


    jetzt muss ich nur noch das gewünschte auslesen...aber das ist ja jetzt einfach :)

    danke noch mal @xtts02