„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie überprüft man die Einbindung einer IP-Adresse in ein CIDR-Subnetz?

Wie überprüft man die Einbindung einer IP-Adresse in ein CIDR-Subnetz?

Veröffentlicht am 07.11.2024
Durchsuche:996

How to Verify IP Address Inclusion in a CIDR Subnet?

Überprüfen der Einbeziehung von IP-Adressen in ein CIDR-Subnetz

Um festzustellen, ob eine IPv4-Adresse in ein bestimmtes CIDR-Subnetz fällt, umfasst eine einfache Methode die Folgende Schritte sind erforderlich:

Konvertierung in lange Ganzzahlen:

  • Verwenden Sie die Funktion ip2long(), um sowohl die IP-Adresse als auch den Subnetzbereich in lange Ganzzahlen umzuwandeln.

Ableitung der Subnetzmaske:

  • Wenn die Subnetzmaske nicht explizit angegeben wird (/xx), nehmen Sie eine Standardmaske von /32 an.
  • Berechnen Sie die Subnetzmaske, indem Sie eine Linksverschiebung von 1s bis 32 minus der Maskenlänge anwenden.

Bitweiser Vergleich:

  • Durchführen eine bitweise UND-Verknüpfung zwischen der IP-Long-Ganzzahl und der Subnetzmaske.
  • Überprüfen Sie, ob das Ergebnis gleich der Subnetz-Long-Ganzzahl ist.

Implementierung:

Die folgende PHP-Funktion kapselt diese Logik:

function cidr_match($ip, $range)
{
    list ($subnet, $bits) = explode('/', $range);
    if ($bits === null) {
        $bits = 32;
    }
    $ip = ip2long($ip);
    $subnet = ip2long($subnet);
    $mask = -1 
Freigabeerklärung Dieser Artikel wird unter folgender Adresse abgedruckt: 1729251256 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3