Hallo,
ich würde mir gerne die theoretisch verfügbaren Adressen zusätzlich anzeigen lassen wollen.
Bisher habe ich geschafft mir die Netzwerkadresse, Broadcast-Adresse und die maximale Anzahl an Hosts anzeigen zu lassen.
Als Eingabe ist immer etwas wie "192.168.1.1/30" gegeben.
Könnt ihr mir bitte helfen, dass die theoretisch verfügbaren Adressen zusätzlich angezeigt werden?
So sieht mein Code bisher aus :
ich würde mir gerne die theoretisch verfügbaren Adressen zusätzlich anzeigen lassen wollen.
Bisher habe ich geschafft mir die Netzwerkadresse, Broadcast-Adresse und die maximale Anzahl an Hosts anzeigen zu lassen.
Als Eingabe ist immer etwas wie "192.168.1.1/30" gegeben.
Könnt ihr mir bitte helfen, dass die theoretisch verfügbaren Adressen zusätzlich angezeigt werden?
So sieht mein Code bisher aus :
VB.NET-Quellcode
- 'Bsp 192.168.1.1/30
- Dim Eingabe() As String = TXTIP.Text.Split("/"c)
- If Eingabe.Length <> 2 Then Exit Sub
- Dim IPAddresse As IPAddress = IPAddress.Parse(Eingabe(0))
- Dim NetzMaskeInt As Integer = 0
- Dim SubNetSuffix As Integer = CInt(Eingabe(1))
- For i = 31 To 32 - SubNetSuffix Step -1
- NetzMaskeInt = NetzMaskeInt Or (1 << i)
- Next
- Dim NetzMaske() As Byte = BitConverter.GetBytes(NetzMaskeInt).Reverse.ToArray()
- Dim NetzWerk(3) As Byte
- For i = 0 To 3
- NetzWerk(i) = IPAddresse.GetAddressBytes()(i) And NetzMaske(i)
- Next
- Dim BroadCast(3) As Byte
- For i = 0 To 3
- BroadCast(i) = IPAddresse.GetAddressBytes()(i) Or Not NetzMaske(i)
- Next
- Dim NetzWerkAdresse As New Net.IPAddress(NetzWerk)
- Dim broadCastIp As New Net.IPAddress(BroadCast)
- Debug.WriteLine("Netzwerk-Adresse = " & NetzWerkAdresse.ToString()) 'Ergebnis muss sein : 192.168.1.0
- Debug.WriteLine("BroadCast-Adresse = " & broadCastIp.ToString()) 'Ergebnis muss sein : 192.168.1.3
- Debug.WriteLine("Anzahl verfügbare IPs = " & NetzMaskeInt * -1 - 2) 'Ergebnis muss sein : 2
- '??????????????????????
- Debug.WriteLine("Nutzbare IPs = " & NetzMaskeInt * -1 - 2) 'Ergebnis muss sein : 192.168.1.1 - 192.168.1.2