VB - IPv4 auslesen und ändern

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von Biddi.

    VB - IPv4 auslesen und ändern

    Hallo.
    Ich bin gerade dabei ein Programm zu programmieren dass uns an der LAN Party weiterhilft.
    Meine entscheidende IPv4 Adresse, welche ich an einer LAN Party benötige lautet im Moment 192.168.0.1

    Diese versuche ich mit folgendem Code zu ermitteln:

    VB.NET-Quellcode

    1. iptxt.Text = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName).AddressList.GetValue(1).ToString


    Auch wenn ich GetValue() in verschidenste Zahlen änder, wird nie meine gewünschte IPv4 Adresse ermittelt.

    Bitte um Hilfe.
    Du kannst/darfst deine IP-Adresse nicht ändern, weil die dir vom ISP/Router zugewiesen wird. Wenn du im lokalen Netz kein DHCP verwendest, kannst du mit Systemsteuerung -> Netzwerk- und Freigabecenter -> LAN-Verbindung -> Internetprotokoll Version .. -> Eigenschaften eine IP einstellen. Im Bild habe ich natürlich "IP-Adresse automatisch beziehen aktiv", du müsstest das andere auswählen (ich war gerade zu faul, mein Netzwerk zu zerkonfigurieren ;) ).
    Bilder
    • change_ip.png

      611,28 kB, 1.308×676, 227 mal angesehen
    Mit freundlichen Grüßen,
    Thunderbolt
    Danke aber wir spielen an einer LAN Party ja über einen Switch und müssen dann die IP eines jeden manuell einstellen.
    Ich möchte nun, das man das einfach über das Programm einstellen kann. Zuerst möchte ich, dass er mir einfach die aktuelle IPv4 anzeigt.
    Dann kurz 5 (!) Sekunden Google: ​vb.net change ip address
    Das zweite Ergebnis ist dieses hier: stackoverflow.com/questions/14…ange-ip-address-in-vb-net
    Du solltest in deinem Code .GetValue(0) anstatt .GetValue(1) verwenden...
    Mit freundlichen Grüßen,
    Thunderbolt
    Auf dieser Seite war ich auch schon, wenn ch 0 verwende bekomme ich: fe80::d973:72c7:d129:a88d%12

    Ich möchte aber exakt die 192.168.0.1 angezeigt bekommen.
    Kann es sein das die IPv4 Adresse nicht ausgelesen werden kann wenn sie nicht aktiv ist? Ich gehe über WLAN ins Internet und habe somit kein LAN Kabel eingesteckt.
    SOllte ich den Computer mal an den Switch anklemmen?
    Hallo!
    Ich habe noch einen Code von früher auf meiner Festplatte gefunden!
    Ich hoffe der Code hilft dir weiter!
    By

    VB.NET-Quellcode

    1. Imports System.Net
    2. Public Class Form1
    3. Private Sub ChangeIP(ByVal sNewIP As String, Optional ByVal sSubNetMask As String = "255.255.255.0")
    4. Dim sSQL As String
    5. Dim oWMI As Object
    6. Dim oResult As Object
    7. Dim oCard As Object
    8. Dim nStatus As Integer
    9. oWMI = GetObject("winmgmts:")
    10. sSQL = "SELECT * FROM win32_NetworkAdapterConfiguration WHERE IPEnabled = true"
    11. oResult = oWMI.execquery(sSQL)
    12. For Each oCard In oResult
    13. With oCard
    14. If IsArray(.IPAddress) Then
    15. nStatus = .EnableStatic(New Object() {sNewIP}, New Object() {sSubNetMask})
    16. End If
    17. End With
    18. Next oCard
    19. End Sub
    20. Private Sub btnNeuladen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNeuladen.Click
    21. Dim Addresslist() As IPAddress = _
    22. Dns.GetHostByName(Dns.GetHostName()).AddressList
    23. Dim IPs As IPAddress
    24. For Each IPs In Addresslist
    25. Me.txtComputerIP.Text = IPs.ToString
    26. Next IPs
    27. End Sub
    28. End Class


    Befehl:
    ChangeIP(Me.txtIP.Text, "255.255.255.0")
    Visual Basic.NET 8o
    MS-SQL
    8o
    Das wirst du nicht machen können, da dein Router die IP 192.168.0.1 reserviert hat. Wenn du dein IP änderst musst du sicherstellen, dass kein anderes Gerät im Netzwerk auf dieser Adresse werkelt. Siehe auch Peg-DHCP.

    Ja, klemme das Gerät mal an einen Switch an und schalte WLAN aus. Ein zweites Gerät am selben Switch kann helfen, um zu testen, wie (oder ob) die Kommunikation funktioniert.
    Mit freundlichen Grüßen,
    Thunderbolt