The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Поиск, проверка наличия подсети в текстовом файле по IP"
Отправлено Виктор, 23-Апр-18 01:54 
> Имеется некий IP, пусть будет 8.8.8.8. Имеется текстовый файл с длинным списком
> подсетей с различными длинами префикса, к примеру, /12, /15, /24. Возможно
> ли написать какой-то хитрый grep, который бы проверял есть ли среди
> этих подсетей та, в которую входит нужный нам IP, допустим, упомянутый
> 8.8.8.8/32? Может на Perl-е что-то или ещё на чём? Если кто
> знает, то, просьба, привести пример такого скрипта.

например на php:
$host = "192.168.22.66"
$subnet_string = "192.168.22.0/24";
$ip_arr = explode("/", $subnet_string);
$subnet_addr = $ip_arr[0];
$mask_bits = $ip_arr[1];
$host_bits = 32 - $mask_bits;
$num_hosts = pow(2, $host_bits) - 1;

$host_long = ip2long($host);
$subnet_long = ip2long($subnet_addr)

if ($host_long >= $subnet_long && $host_long <= $subnet_long + $num_hosts)
{
    echo "Found host in subnet"
}

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру