IP Routing Informationen und VRF mit IP Host vergleichen
#11
Routing Eintrag:      VRF Eintrag:             Hostinformation:                  Gesuchtes Resultat:
192.168.10.0/23      VRF-UUU                 192.168.0.111                      192.168.0.111 VRF-AAA

Bist du sicher ?
Antworten Top
#12
Hallo oee

In meinen Beispiel war es ja so (von mir unklar formuliert):

Excel 1                                                        Excel 2                              RESULTAT
--------------------------------------------------      --------------------------
Spalte 1                  Spalte 2                      Spalte 1                              Spalte 1 & 2
Routing Eintrag:      VRF Eintrag:             Hostinformation:                    Gesuchtes Resultat:
192.168.0.0/24        VRF-AAA                  192.168.11.223                     192.168.10.223 VRF-UUU
192.168.10.0/23   VRF-UUU               192.168.0.111                        192.168.0.111 VRF-AAA
192.168.32.0/20      VRF-WWW               192.168.36.136                      192.168.36.136 VRF-WWW

Excel 2 ist eine Liste mit X Einträgen, diese sind nicht mit jeder Zeile von Excel 1 (Zeile 1 entspricht nicht Zeile 1) direkt vergleichbar...

Gruss, Hans
Antworten Top
#13
Hallo, ist mit klar nun.

Aber...

mit
1.1.1.0/24 BBB
1.1.1.0/29 BIBI

gibt es dann keine Werte mit BBB und BIBI ?

z.B 1.1.1.1 , 1.1.1.2 ?

Das Erstellen aller mögliche IP-adressen dauert zulange.
Vielleicht reicht dieser Code

Code:
Sub M_snb()
   sn = Sheet1.Cells(1).CurrentRegion
   sp = Workbooks("IP Adressen.csv").Sheets(1).Cells(1).CurrentRegion

   With CreateObject("scripting.dictionary")
     For j = 2 To UBound(sn)
        st = Split(sn(j, 1), "/")
        sq = Split(st(0), ".")
        .Item(st(0)) = sn(j, 2)
        .Item(sq(0)) = sn(j, 2)
        .Item(sq(0) & "." & sq(1)) = sn(j, 2)
        .Item(sq(0) & "." & sq(1) & "." & sq(2)) = sn(j, 2)
     Next
    
     For j = 2 To UBound(sp)
        sq = Split(sp(j, 1), ".")
        sp(j, 2) = .Item(sp(j, 1))
        If sp(j, 2) = "" Then sp(j, 2) = .Item(sq(0) & "." & sq(1) & "." & sq(2))
        If sp(j, 2) = "" Then sp(j, 2) = .Item(sq(0) & "." & sq(1))
        If sp(j, 2) = "" Then sp(j, 2) = .Item(sq(0))
     Next
   End With
  
   Workbooks("IP Adressen.csv").Sheets(1).Cells(1, 4).Resize(UBound(sp), 2) = sp
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#14
Hallo,

hier ein stark vereinfachter Code zum Prüfen, ohne Berücksichtigung von Sonderfällen/Formatfehlern auf Basis von einem einfachen Stringvergleich  (aircode):
Code:
Private Sub Test()
  Debug.Print IsIPCDIR("192.168.0.111", "192.168.10.0/23")
End Sub

Public Function IsIPCDIR(ByVal IP As String, CDIR As String) as Boolean
  Dim strIP As String
  Dim strCDIR As String
  Dim intMaskBits As Integer
  Dim i As Long
 
  strIP = IPtoBin(IP)                     ' IP -> Bin
 
  i = InStr(1, CDIR, "/")
  intMaskBits = CInt(Mid$(CDIR, i + 1))   ' Bitlänge der Maske
  strCDIR = IPtoBin(Left$(CDIR, i - 1))   ' CDIR -> Bin
 
  ' Stringvergleich der höchstwertigen Bits
  ' entsprechend der Bitlänge der Maske
  IsIPCDIR = CBool(Left$(strIP, intMaskBits) = Left$(strCDIR, intMaskBits))
End Function

Private Function IPtoBin(ByVal IP As String) As String
  Dim i As Long
  Dim astr() As String

  astr = Split(IP, ".")
  For i = 0 To 3
    IPtoBin = IPtoBin & WorksheetFunction.Dec2Bin(CInt(astr(i)), 8)
  Next
End Function

Knobbi38

https://ausbildung-in-der-it.de/lexikon/cidr
[-] Folgende(r) 1 Nutzer sagt Danke an knobbi38 für diesen Beitrag:
  • Kuwer
Antworten Top
#15
Oder mit Formeln


Angehängte Dateien
.xlsb   IP adressen.xlsb (Größe: 86,24 KB / Downloads: 13)
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#16
So kann das nix werden.
Die von dir geposteten Dateien lassen kein eindeutiges Ergebnis zu.
Es gibt immer 2 bis 5 Ergebnisse.
Antworten Top
#17
Hallo snb

IP Host Adressen und IP Netze können eindeutig nur einem VRF (BBB oder BIBI) zugeordnet werden (Ausnahme sind die FUSION, aber die können ignoriert werden...)
Daher geht folgendes nicht:

1.1.1.0/24 BBB =   1.1.1.0/24 BBB
1.1.1.0/29 BIBI =   1.1.1.0/29 BIBI ---> BBB



Gruss, Hans
Antworten Top
#18
Dann schau mal:

https://www.clever-excel-forum.de/attach...?aid=54443
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#19
Wieso bittest du um Hilfe und beantwortest aber die  Fragen der Helfer nicht einmal? Zu viel Arbeit?
Nochmal die Frage? Wie soll das funktionieren, wenn immer mehrere Ergebnisse rauskommen (siehe Datei-Anhang) ?

.xlsx   Routing INFOAusgabeNurWerte.xlsx (Größe: 40,94 KB / Downloads: 4)
[-] Folgende(r) 1 Nutzer sagt Danke an oee für diesen Beitrag:
  • snb
Antworten Top
#20
Hallo oee

Bitte entschuldige, dachte das eine Post bezieht sich auf die Antwort von snb, habe nicht verstanden das es sich um die von mir bereitgestellte Datei handelt, sorry, darum habe ich nicht darauf geantwortet.
Ich bin sehr froh um die Hilfe die hier gegeben wird!

Gruss, Hans
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste