«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как проверить включение IP-адреса в подсеть CIDR?

Как проверить включение IP-адреса в подсеть CIDR?

Опубликовано 7 ноября 2024 г.
Просматривать:227

How to Verify IP Address Inclusion in a CIDR Subnet?

Проверка включения IP-адреса в подсеть CIDR

Чтобы определить, попадает ли адрес IPv4 в указанную подсеть CIDR, простой метод включает в себя следующие шаги:

Преобразование в длинные позиции Целые числа:

  • Используйте функцию ip2long() для преобразования IP-адреса и диапазона подсети в длинные целые числа.

Вывод маски подсети:

  • Если маска подсети не указана явно (/xx), примите маску по умолчанию. из /32.
  • Вычислите маску подсети, применив сдвиг влево от 1 с до 32 минус длина маски.

Побитовое сравнение:

  • Выполнить побитовую операцию И между длинным целым числом IP и подсетью маска.
  • Проверьте, равен ли результат длинному целому числу подсети.

Реализация:

Следующая функция PHP инкапсулирует эту логику :

function cidr_match($ip, $range)
{
    list ($subnet, $bits) = explode('/', $range);
    if ($bits === null) {
        $bits = 32;
    }
    $ip = ip2long($ip);
    $subnet = ip2long($subnet);
    $mask = -1 
Заявление о выпуске Эта статья перепечатана по адресу: 1729251256. В случае каких-либо нарушений, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3